Giter VIP home page Giter VIP logo

errai's Introduction

Errai Framework

Errai is a Java/GWT web framework for building rich-client web applications. It provides declarative, annotation-driven features that greatly ease development of large-scale applications, including:

Learning about Errai

For those who prefer hands-on learning, checkout the Errai Tutorial to see working Errai application, or learn how to start your own project with our Getting Started Guide.

And for those who prefer the top-down approach, you can find a detailed descriptions of how to use Errai in our documentation.

Errai News

To keep appraised of new features and releases:

Errai Community Support

Visit our forum or join our IRC channel (#errai on freenode) to share solutions.

Contributing to Errai

Report bugs or request features through our issue tracker.

Contribute code through pull requests to this repository. See our contributing guidelines for more details.

Useful Links

errai's People

Contributors

adrielparedes avatar bendol avatar braunh avatar carchrae avatar csadilek avatar ddadlani avatar dependabot[bot] avatar edewit avatar ericwittmann avatar errai-gerrit avatar ge0ffrey avatar heiko-braun avatar hrstoyanov avatar htfv avatar jbarop avatar jfuerth avatar joshisonit avatar lincolnthree avatar manstis avatar mareknovotny avatar mbarkley avatar mbiarnes avatar mikebrock avatar porcelli avatar psiroky avatar pslegr avatar slavap avatar tiagobento avatar treblereel avatar yeroc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

errai's Issues

@DataField binding of a MaterialListValueBox results in a non-functioning select input

versions:

  • gwt: 2.8.0-rc2
  • gwt-material: 1.5.2, 1.6.0 or 1.6.1
  • errai-ui: 4.0.0.Beta2 (or SNAPSHOT version)

Code

@Templated
public class UserFormFields extends Composite {

    @Inject
    @DataField
    private UserRoleSelectField role;
}
public class UserRoleSelectField extends MaterialListValueBox<UserRole> {

    public UserRoleSelectField() {
        addItem(UserRole.USER, "User");
        addItem(UserRole.ADMIN, "Admin");
    }
}
public enum UserRole {

    ADMIN, USER
}

HTML

<!DOCTYPE html>
<div>
    <div class="row">
        <div class="s6 m6 col">
            <div data-field="role" name="role"></div>
        </div>
    </div>
</div>

Getting started broken: errai-javaee-all causes "Cannot represent "T extends java.lang.Object[][]" as a class. Try a different meta type such as GWTWildcardType or GWTTypeVaraible."

I added the errai-javaee-all dependency of CR3 and the 2 lines in the gwt.xml as described here:
http://erraiframework.org/getting-started/index.html#ErraiCDIPage

and got this error:

[INFO] --- gwt-maven-plugin:1.0-rc-6:compile (default-compile) @ optashift-employee-rostering-gwtui ---
[INFO] Compiling module org.optaplanner.openshift.employeerostering.gwtui.WorkerRosteringWebapp
[INFO]    Ignored 4 units with compilation errors in first pass.
[INFO] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
[WARNING] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
[WARNING] SLF4J: Defaulting to no-operation (NOP) logger implementation
[WARNING] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO]    Computing all possible rebind results for 'org.jboss.errai.marshalling.client.api.MarshallerFactory'
[INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
[INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[INFO]             Generating Marshallers Bootstrapper...
[INFO]             Checking ErraiApp.properties for configured types ...
[INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
[INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[INFO]             Generating Marshallers Bootstrapper...
[INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
[INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[INFO]             Generating Marshallers Bootstrapper...
[INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
[INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[INFO]             Generating Marshallers Bootstrapper...
[INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
[INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[INFO]             Generating Marshallers Bootstrapper...
[INFO]    Computing all possible rebind results for 'org.jboss.errai.ioc.client.container.IOCEnvironment'
[INFO]       Rebinding org.jboss.errai.ioc.client.container.IOCEnvironment
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCEnvironmentGenerator
[INFO]             Generating Extensions Bootstrapper...
[INFO]       Rebinding org.jboss.errai.ioc.client.container.IOCEnvironment
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCEnvironmentGenerator
[INFO]             Generating Extensions Bootstrapper...
[INFO]       Rebinding org.jboss.errai.ioc.client.container.IOCEnvironment
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCEnvironmentGenerator
[INFO]             Generating Extensions Bootstrapper...
[INFO]       Rebinding org.jboss.errai.ioc.client.container.IOCEnvironment
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCEnvironmentGenerator
[INFO]             Generating Extensions Bootstrapper...
[INFO]       Rebinding org.jboss.errai.ioc.client.container.IOCEnvironment
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCEnvironmentGenerator
[INFO]             Generating Extensions Bootstrapper...
[INFO]    Computing all possible rebind results for 'org.jboss.errai.ioc.client.Bootstrapper'
[INFO]       Rebinding org.jboss.errai.ioc.client.Bootstrapper
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator
[INFO]             generating ioc bootstrapping code...
[WARNING] java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot represent "T extends java.lang.Object[][]" as a class. Try a different meta type such as GWTWildcardType or GWTTypeVaraible.
[WARNING]       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
[WARNING]       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
[WARNING]       at org.jboss.errai.config.rebind.AsyncGenerators$FutureWrapper.get(AsyncGenerators.java:112)
[WARNING]       at org.jboss.errai.config.rebind.AsyncGenerators$FutureWrapper.get(AsyncGenerators.java:86)
[WARNING]       at org.jboss.errai.config.rebind.AbstractAsyncGenerator.startAsyncGeneratorsAndWaitFor(AbstractAsyncGenerator.java:205)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generate(IOCGenerator.java:62)
[WARNING]       at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
[WARNING]       at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:745)
[WARNING]       at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:103)
[WARNING]       at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
[WARNING]       at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:262)
[WARNING]       at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:251)
[WARNING]       at com.google.gwt.dev.PrecompilationContextCreator$1.getAllPossibleRebindAnswers(PrecompilationContextCreator.java:86)
[WARNING]       at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createStaticRebindExpression(UnifyAst.java:519)
[WARNING]       at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createRebindExpression(UnifyAst.java:487)
[WARNING]       at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.maybeHandleMagicMethodCall(UnifyAst.java:415)
[WARNING]       at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.visit(UnifyAst.java:402)
[WARNING]       at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:265)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[WARNING]       at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
[WARNING]       at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:72)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[WARNING]       at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
[WARNING]       at com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:49)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)
[WARNING]       at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[WARNING]       at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)
[WARNING]       at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135)
[WARNING]       at com.google.gwt.dev.jjs.ast.JTryStatement.traverse(JTryStatement.java:93)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)
[WARNING]       at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[WARNING]       at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)
[WARNING]       at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135)
[WARNING]       at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:83)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[WARNING]       at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:786)
[WARNING]       at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:778)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[WARNING]       at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[WARNING]       at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:1401)
[WARNING]       at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:896)
[WARNING]       at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.unifyJavaAst(JavaToJavaScriptCompiler.java:1410)
[WARNING]       at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.constructJavaAst(JavaToJavaScriptCompiler.java:1222)
[WARNING]       at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:1140)
[WARNING]       at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:255)
[WARNING]       at com.google.gwt.dev.Precompile.precompile(Precompile.java:255)
[WARNING]       at com.google.gwt.dev.Precompile.precompile(Precompile.java:202)
[WARNING]       at com.google.gwt.dev.Precompile.precompile(Precompile.java:143)
[WARNING]       at com.google.gwt.dev.Compiler.compile(Compiler.java:204)
[WARNING]       at com.google.gwt.dev.Compiler.compile(Compiler.java:155)
[WARNING]       at com.google.gwt.dev.Compiler.compile(Compiler.java:144)
[WARNING]       at com.google.gwt.dev.Compiler$1.run(Compiler.java:118)
[WARNING]       at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
[WARNING]       at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
[WARNING]       at com.google.gwt.dev.Compiler.main(Compiler.java:125)
[WARNING] Caused by: java.lang.IllegalArgumentException: Cannot represent "T extends java.lang.Object[][]" as a class. Try a different meta type such as GWTWildcardType or GWTTypeVaraible.
[WARNING]       at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.<init>(GWTClass.java:88)
[WARNING]       at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.newUncachedInstance(GWTClass.java:159)
[WARNING]       at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.newInstance(GWTClass.java:142)
[WARNING]       at org.jboss.errai.codegen.meta.impl.gwt.GWTParameterizedType.getTypeParameters(GWTParameterizedType.java:62)
[WARNING]       at org.jboss.errai.codegen.meta.impl.AbstractMetaParameterizedType.toString(AbstractMetaParameterizedType.java:106)
[WARNING]       at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.hashString(AbstractMetaClass.java:826)
[WARNING]       at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.hashCode(AbstractMetaClass.java:838)
[WARNING]       at java.util.HashMap.hash(HashMap.java:338)
[WARNING]       at java.util.HashMap.get(HashMap.java:556)
[WARNING]       at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.isAssignableFrom(AbstractMetaClass.java:469)
[WARNING]       at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.isAssignableFrom(AbstractMetaClass.java:496)
[WARNING]       at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.isAssignableTo(AbstractMetaClass.java:518)
[WARNING]       at org.jboss.errai.ui.rebind.ElementProviderExtension$1.callback(ElementProviderExtension.java:101)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.lambda$null$2(IOCProcessor.java:280)
[WARNING]       at java.util.ArrayList.forEach(ArrayList.java:1249)
[WARNING]       at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.lambda$runExtensionCallbacks$3(IOCProcessor.java:280)
[WARNING]       at java.lang.Iterable.forEach(Iterable.java:75)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.runExtensionCallbacks(IOCProcessor.java:280)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.process(IOCProcessor.java:194)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator.generateBootstrappingClassSource(IOCBootstrapGenerator.java:237)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator.generate(IOCBootstrapGenerator.java:132)
[WARNING]       at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generate(IOCGenerator.java:72)
[WARNING]       at org.jboss.errai.config.rebind.AbstractAsyncGenerator$1.call(AbstractAsyncGenerator.java:66)
[WARNING]       at org.jboss.errai.config.rebind.AbstractAsyncGenerator$1.call(AbstractAsyncGenerator.java:54)
[WARNING]       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[WARNING]       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[WARNING]       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[WARNING]       at java.lang.Thread.run(Thread.java:745)
[INFO]             [ERROR] Error generating BootstrapperImpl
[INFO] java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot represent "T extends java.lang.Object[][]" as a class. Try a different meta type such as GWTWildcardType or GWTTypeVaraible.
[INFO]  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
[INFO]  at java.util.concurrent.FutureTask.get(FutureTask.java:192)
[INFO]  at org.jboss.errai.config.rebind.AsyncGenerators$FutureWrapper.get(AsyncGenerators.java:112)
[INFO]  at org.jboss.errai.config.rebind.AsyncGenerators$FutureWrapper.get(AsyncGenerators.java:86)
[INFO]  at org.jboss.errai.config.rebind.AbstractAsyncGenerator.startAsyncGeneratorsAndWaitFor(AbstractAsyncGenerator.java:205)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generate(IOCGenerator.java:62)
[INFO]  at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
[INFO]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:745)
[INFO]  at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:103)
[INFO]  at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
[INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:262)
[INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:251)
[INFO]  at com.google.gwt.dev.PrecompilationContextCreator$1.getAllPossibleRebindAnswers(PrecompilationContextCreator.java:86)
[INFO]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createStaticRebindExpression(UnifyAst.java:519)
[INFO]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createRebindExpression(UnifyAst.java:487)
[INFO]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.maybeHandleMagicMethodCall(UnifyAst.java:415)
[INFO]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.visit(UnifyAst.java:402)
[INFO]  at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:265)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO]  at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
[INFO]  at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:72)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO]  at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
[INFO]  at com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:49)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)
[INFO]  at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO]  at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)
[INFO]  at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135)
[INFO]  at com.google.gwt.dev.jjs.ast.JTryStatement.traverse(JTryStatement.java:93)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)
[INFO]  at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO]  at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)
[INFO]  at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135)
[INFO]  at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:83)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO]  at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:786)
[INFO]  at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:778)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO]  at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:1401)
[INFO]  at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:896)
[INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.unifyJavaAst(JavaToJavaScriptCompiler.java:1410)
[INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.constructJavaAst(JavaToJavaScriptCompiler.java:1222)
[INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:1140)
[INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:255)
[INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:255)
[INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:202)
[INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:143)
[INFO]  at com.google.gwt.dev.Compiler.compile(Compiler.java:204)
[INFO]  at com.google.gwt.dev.Compiler.compile(Compiler.java:155)
[INFO]  at com.google.gwt.dev.Compiler.compile(Compiler.java:144)
[INFO]  at com.google.gwt.dev.Compiler$1.run(Compiler.java:118)
[INFO]  at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
[INFO]  at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
[INFO]  at com.google.gwt.dev.Compiler.main(Compiler.java:125)
[INFO] Caused by: java.lang.IllegalArgumentException: Cannot represent "T extends java.lang.Object[][]" as a class. Try a different meta type such as GWTWildcardType or GWTTypeVaraible.
[INFO]  at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.<init>(GWTClass.java:88)
[INFO]  at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.newUncachedInstance(GWTClass.java:159)
[INFO]  at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.newInstance(GWTClass.java:142)
[INFO]  at org.jboss.errai.codegen.meta.impl.gwt.GWTParameterizedType.getTypeParameters(GWTParameterizedType.java:62)
[INFO]  at org.jboss.errai.codegen.meta.impl.AbstractMetaParameterizedType.toString(AbstractMetaParameterizedType.java:106)
[INFO]  at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.hashString(AbstractMetaClass.java:826)
[INFO]  at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.hashCode(AbstractMetaClass.java:838)
[INFO]  at java.util.HashMap.hash(HashMap.java:338)
[INFO]  at java.util.HashMap.get(HashMap.java:556)
[INFO]  at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.isAssignableFrom(AbstractMetaClass.java:469)
[INFO]  at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.isAssignableFrom(AbstractMetaClass.java:496)
[INFO]  at org.jboss.errai.codegen.meta.impl.AbstractMetaClass.isAssignableTo(AbstractMetaClass.java:518)
[INFO]  at org.jboss.errai.ui.rebind.ElementProviderExtension$1.callback(ElementProviderExtension.java:101)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.lambda$null$2(IOCProcessor.java:280)
[INFO]  at java.util.ArrayList.forEach(ArrayList.java:1249)
[INFO]  at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.lambda$runExtensionCallbacks$3(IOCProcessor.java:280)
[INFO]  at java.lang.Iterable.forEach(Iterable.java:75)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.runExtensionCallbacks(IOCProcessor.java:280)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCProcessor.process(IOCProcessor.java:194)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator.generateBootstrappingClassSource(IOCBootstrapGenerator.java:237)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator.generate(IOCBootstrapGenerator.java:132)
[INFO]  at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generate(IOCGenerator.java:72)
[INFO]  at org.jboss.errai.config.rebind.AbstractAsyncGenerator$1.call(AbstractAsyncGenerator.java:66)
[INFO]  at org.jboss.errai.config.rebind.AbstractAsyncGenerator$1.call(AbstractAsyncGenerator.java:54)
[INFO]  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[INFO]  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[INFO]  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[INFO]  at java.lang.Thread.run(Thread.java:745)
[INFO]       Rebinding org.jboss.errai.ioc.client.Bootstrapper
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator
[INFO]             generating ioc bootstrapping code...
[INFO]       Rebinding org.jboss.errai.ioc.client.Bootstrapper
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator
[INFO]             generating ioc bootstrapping code...
[INFO]       Rebinding org.jboss.errai.ioc.client.Bootstrapper
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator
[INFO]             generating ioc bootstrapping code...
[INFO]       Rebinding org.jboss.errai.ioc.client.Bootstrapper
[INFO]          Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator
[INFO]             generating ioc bootstrapping code...
[INFO]    [WARN] For the following type(s), generated source was never committed (did you forget to call commit()?)
[INFO]       [WARN] org.jboss.errai.ioc.client.BootstrapperImpl
[INFO]    [ERROR] Could not find org.jboss.errai.ioc.client.BootstrapperImpl in types compiled from source. Is the source glob too strict?
[INFO]    [ERROR] Errors in 'org/jboss/errai/ioc/client/Container.java'
[INFO]       [ERROR] Line 70: Rebind result 'org.jboss.errai.ioc.client.BootstrapperImpl' could not be found

Getting started broken on errai-ui: Unable to find 'org/jboss/errai/databinding/DataBinding.gwt.xml' on your classpath

I only need to use errai-ui for now, so I followed the instructions on this page:
http://erraiframework.org/getting-started/index.html#ErraiUIPage
and added the dependency and inherited module, which causes:

[INFO] --- gwt-maven-plugin:1.0-rc-6:compile (default-compile) @ optashift-employee-rostering-gwtui ---
[INFO] Loading inherited module 'org.optaplanner.openshift.employeerostering.gwtui.WorkerRosteringWebapp'
[INFO]    Loading inherited module 'org.jboss.errai.ui.UI'
[INFO]       Loading inherited module 'org.jboss.errai.databinding.DataBinding'
[INFO]          [ERROR] Unable to find 'org/jboss/errai/databinding/DataBinding.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?

Multiple active @Sync will always spawn an IllegalStateException

Testing with Errai4.0.0.CR1.

When using client side JPA together with server side data sync, it is not possible to use multiple active @sync methods.

If I go through the code, I see that ClientSyncWorker uses ClientSyncManager.getInstance(). The problem is that ClientSyncManager does not allow multiple synchronisations because of the syncInProgress logic.

Is there a reason it was designed like this? Thread safety?

Does this mean that we should never have more than one @sync operation active at all times?

Sometimes flaky build with parallel build-option of Maven3

When I build the Errai project with the parallel build-option of Maven 3 I get sometimes errors from a Errai generator:

jbarop@klootstock ~/c/errai (git:collapse-all-properties): mvn -T1C -o clean verify
....
[ERROR] java.util.concurrent.ExecutionException: java.lang.RuntimeException: could not load file
[ERROR]     at java.util.concurrent.FutureTask.report(FutureTask.java:122)
[ERROR]     at java.util.concurrent.FutureTask.get(FutureTask.java:192)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerators$FutureWrapper.get(AsyncGenerators.java:112)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerators$FutureWrapper.get(AsyncGenerators.java:86)
[ERROR]     at org.jboss.errai.config.rebind.AbstractAsyncGenerator.startAsyncGeneratorsAndWaitFor(AbstractAsyncGenerator.java:188)
[ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(MarshallersGenerator.java:226)
....
[ERROR] Caused by: java.io.FileNotFoundException: /Users/jbarop/code/errai/errai-navigation/target/classes/classlist.mf (No such file or directory)
[ERROR]     at java.io.FileInputStream.open(Native Method)
[ERROR]     at java.io.FileInputStream.<init>(FileInputStream.java:138)
[ERROR]     at org.jboss.errai.common.rebind.ClassListReader.getClassSetFromFile(ClassListReader.java:34)

The problem seems to appear when when more than one module is in the code generation phase. Seems to be threading fun :-)
I volunteer to investigate further if I have more time later in January.

Question : CDI Event not working

Hi there,

CDI Event is not firing when class is not annotated by @page?

I tried to create a Widget (Encapsulate it from my Page) so I separated it. On my Widget I added

public class MyWidget {
   @Inject
   Event<MyEvent> myEvent;

   @PostConstruct
   public void init() {
           myEvent.fire(new MyEvent());
   }
}

Then on MyPage I added a method to observe the event.

@Page
public class MyPage {

   public void observeMyEvent(@Observes event) {
       GWT.log("Event Fired"); // does not work.
   }
}

Can you explain why the event is not firing on separate class?

Getting started broken: Do not depend on xercesImpl 2.11.0.SP4 because that doesn't exist in Maven Central

Try building a hello world project with Errai without explicitly adding the Jboss maven repository in the pom or in your settings.xml.

You'll run into:
[ERROR] ...Could not resolve dependencies for project ...T: Failure to find xerces:xercesImpl:jar:2.11.0.SP4
for example after adding the artifact errai-javaee-all.

2.11.0.SP4 is in Jboss nexus:
https://repository.jboss.org/nexus/content/groups/public/xerces/xercesImpl/2.11.0.SP4/
but it isn't synced to maven central:
http://mvnrepository.com/artifact/xerces/xercesImpl

Do "mvn dependency:tree -Dverbose" on errai-javaee-all and clean up the dependency tree.

dependency versions are not sane

Please add

        <!-- http://maven.apache.org/plugins/maven-enforcer-plugin/plugin-info.html -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <version>1.2</version>
            <executions>
                <execution>
                    <id>enforce-sane-versions</id>
                    <goals>
                        <goal>enforce</goal>
                    </goals>
                    <configuration>
                        <rules>
                            <requirePluginVersions />
                            <DependencyConvergence />
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>        

to the parent pom.xml in order to detect inconsistencies regarding dependency configurations.

CDI produces javascript error when injecting with qualifiers.

I've created a @qualifier and a @Producer for a "type of String" I've called a nonce as follows:

package com.example.nonce;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.inject.Qualifier;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER})
@Qualifier
public @interface Nonce {

}

and

package com.example.nonce;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;

import com.google.gwt.dom.client.Document;

@ApplicationScoped
public class NonceInjector {
  
  @Produces
  @Nonce
  public String produceNonce() {
    return Document.get().createUniqueId();
  }

}

I have code that uses these classes like this:

...

public class Authenticator {

...
  
  @Inject
  @Nonce
  Instance<String> nonceFactory;

...

  public void updateCookie() {
    logger.trace("updateCookie()");
    String nonce = nonceFactory.get();
    logger.debug("Nonce: " + nonce);

    ...

  }

This code actually works but there are Javascript errors reported in the logs before the lookup succeeds:

17:10:22 FINE [SyncBeanManager] Looking up beans for java.lang.String
ErraiConsoleLogHandler.java:79 17:10:22 FINE [SyncBeanManager] Encountered error when looking up JsType providers for java.lang.String
ErraiConsoleLogHandler.java:79 com.google.gwt.core.client.JavaScriptException: (TypeError) : hGi_g$(...).getProviders is not a function
	at Unknown.TypeError: hGi_g$(Unknown@-1)
	at Unknown.TLi_g$(ErraiPsuShowcase-0.js@21:90512)
	at Unknown.aMi_g$(ErraiPsuShowcase-0.js@27:90608)
	at Unknown._Li_g$(ErraiPsuShowcase-0.js@15:90599)
	at Unknown.ZLi_g$(ErraiPsuShowcase-0.js@22:90581)
	at Unknown.$Li_g$(ErraiPsuShowcase-0.js@26:90587)
	at Unknown.YLi_g$(ErraiPsuShowcase-0.js@24:90568)
	at Unknown.Lhi_g$(ErraiPsuShowcase-0.js@21:80569)
	at Unknown.Khi_g$(ErraiPsuShowcase-0.js@10:80562)
	at Unknown.e3h_g$(ErraiPsuShowcase-0.js@10:78395)
	at Unknown.$Dj_g$(ErraiPsuShowcase-0.js@46:43709)
	at Unknown.REj_g$(ErraiPsuShowcase-0.js@28:82777)
	at Unknown.AIb_g$(ErraiPsuShowcase-0.js@8:15889)
	at Unknown.anonymous(ErraiPsuShowcase-0.js@16:15846)
	at Unknown.ncc_g$(ErraiPsuShowcase-0.js@28:17537)
	at Unknown.qcc_g$(ErraiPsuShowcase-0.js@16:17593)
	at Unknown.anonymous(ErraiPsuShowcase-0.js@14:17573)

ErraiConsoleLogHandler.java:79 17:10:22 FINE [SyncBeanManager] Looked up 1 beans: [[type=java.lang.String, qualifiers=[@com.example.nonce.Nonce(), @Any]]]
ErraiConsoleLogHandler.java:79 17:10:22 FINE [Authenticator] Nonce: gwt-uid-390

Support META-INF/ErraiApp.properties too

According to Java guidelines, all files in a jar must be namespaced by a unique package, except for the jar specific files in the META-INF directory.

  • /ErraiApp.properties violates this policy

Examples of projects that respect that policy:

  • /META-INF/persistence.xml JPA/Hibernate
  • /META-INF/kmodule.xml Drools/OptaPlanner/jBPM
  • /META-INF/beans.xml CDI/Weld

Proposed solution:

Support the use of /META-INF/ErraiApp.properties too and change all documentation and examples to put it there. Do keep allowing the use of /ErraiApp.properties as a fallback for backwards compatibility reasons.

When using a lot of entities (400) it can happen that the GeneratedErraiEntityManagerFactory hits the java method lmit

[INFO]    Adding '1' new generated units
[INFO]       Validating units:
[INFO]          [ERROR] Errors in 'application/target/.generated/org/jboss/errai/jpa/client/local/GeneratedErraiEntityManagerFactory.java'
[INFO]             [ERROR] Line 410: The code of method createMetamodel() is exceeding the 65535 bytes limit
[INFO]             See snapshot: /var/folders/bj/5rcf2yl51vx9hhxrxbwdm57r0000gn/T/org.jboss.errai.jpa.client.local.GeneratedErraiEntityManagerFactory910634265386393534.java
[INFO]    [ERROR] Errors in 'application/target/.generated/org/jboss/errai/jpa/client/local/GeneratedErraiEntityManagerFactory.java'
[INFO]       [ERROR] Line 410: The code of method createMetamodel() is exceeding the 65535 bytes limit
[INFO]       See snapshot: /var/folders/bj/5rcf2yl51vx9hhxrxbwdm57r0000gn/T/org.jboss.errai.jpa.client.local.GeneratedErraiEntityManagerFactory8110347497808985426.java
[INFO]    [ERROR] Errors in 'org/jboss/errai/jpa/client/local/ErraiEntityManagerProvider.java'
[INFO]       [ERROR] Line 24: Rebind result 'org.jboss.errai.jpa.client.local.GeneratedErraiEntityManagerFactory' could not be found
[INFO]    Computing all possible rebind results for 'org.uberfire.client.resources.WorkbenchResources'
[INFO]       Rebinding org.uberfire.client.resources.WorkbenchResources
[INFO]          Invoking generator com.google.gwt.resources.rebind.context.InlineClientBundleGenerator
[INFO]             Preparing method CSS
[INFO]                The following problems were detected
[INFO]                   [WARN] Line 27 column 25: encountered "=". Was expecting one of: "+" "-" "," "/" ")" <STRING> <IDENT> <NUMBER> <URL> <PERCENTAGE> <PT> <MM> <CM> <PC> <IN> <PX> <EMS> <EXS> <DEG> <RAD> <GRAD> <MS> <SECOND> <HZ> <KHZ> <DIMEN> <HASH> <UNICODERANGE> <FUNCTION> 
[INFO]    Adding '1' new generated units
[INFO]       Validating units:
[INFO]          [ERROR] Errors in 'application/target/.generated/com/google/gwt/ajaxloader/client/AjaxKeyConstants_.java'
[INFO]             [ERROR] Line 8: The constructor ConstantMap(String[], String[]) is undefined
[INFO]             See snapshot: /var/folders/bj/5rcf2yl51vx9hhxrxbwdm57r0000gn/T/com.google.gwt.ajaxloader.client.AjaxKeyConstants_2138659795022160945.java
[INFO]    [ERROR] Errors in 'application/target/.generated/com/google/gwt/ajaxloader/client/AjaxKeyConstants_.java'
[INFO]       [ERROR] Line 8: The constructor ConstantMap(String[], String[]) is undefined
[INFO]       See snapshot: /var/folders/bj/5rcf2yl51vx9hhxrxbwdm57r0000gn/T/com.google.gwt.ajaxloader.client.AjaxKeyConstants_2632771290544398547.java
[INFO]    [ERROR] Errors in 'com/google/gwt/ajaxloader/client/AjaxKeyRepository.java'
[INFO]       [ERROR] Line 57: Rebind result 'com.google.gwt.ajaxloader.client.AjaxKeyConstants_' could not be found

Sporadic big delays while dispatching some messages (both with long polling and with websockets)

Dear Sir,
I'm using the errai messagebus to send and receive messages for a realtime messaging application.
Our environment is JBoss 7.0.9, jdk8, errai 4.2.3

Application usually works fine, but sometimes (albeit rarely) I see long times to dispatch messages to the clients. That is, usually a message gets dispatched in few milliseconds (3-30ms), but in some rare cases it happens to wait for 100/120 seconds (in one case it reached 10 minutes!), which, for our app, is not acceptable.

I was also forced to use longPolling instead of websockets, because in this way the customer can, at least, close the browser and, on reopening, the bus starts to work again.

The problem is that, after one customer is locked in this way, many other customer are locked, and, until the message for the first user is dispatched, many users are locked. After the message to the first user is delivered, immediately all other locked customers receive their message.
Please note that NOT all users are locked, because during this delay, many other users are still working fine.

I excluded all server or client program issues, and focused on the sendGlobal message, that seems to be the method that requires a so long time to complete.

We are not able to reproduce the issue, since it seems to be connected to a rare network event, so I'm asking for advice. Is there anyone around that can give me some help on this issue?

I've also seen a longPolingTimeout and a ssTimeout, but they are set at their default values, which is 45000 ms, and they are anyway far less than the delays that we are seeing. May someone explain me how to set them and the effect of this settings?

TagCloudDemo not working with Jetty `mvn gwt:run -Pjetty`

When running mvn gwt:run -Pjetty from the command line:

[INFO] --- gwt-maven-plugin:2.8.0:run (default-cli) @ errai-cdi-demo-tagcloud ---
[INFO] create exploded Jetty webapp in C:\Projects\errai\errai-demos\errai-cdi-demo-tagcloud\src\main\webapp
[INFO] auto discovered modules [org.jboss.errai.cdi.demo.tagcloud.TagCloudDemo]
[INFO] Super Dev Mode starting up
[INFO]    workDir: C:\Users\Ben\AppData\Local\Temp\gwt-codeserver-7611590966845255778.tmp
[INFO]    Loading inherited module 'org.jboss.errai.cdi.demo.tagcloud.TagCloudDemo'
[INFO]       Loading inherited module 'org.jboss.errai.bus.ErraiBus'
[INFO]          Loading inherited module 'org.jboss.errai.marshalling.ErraiMarshalling'
[INFO]             [ERROR] Unexpected error while processing XML
[INFO] java.lang.UnsupportedClassVersionError: org/jboss/errai/marshalling/rebind/MarshallersGenerator : Unsupported major.minor version 52.0
[INFO]  at java.lang.ClassLoader.defineClass1(Native Method)
[INFO]  at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
[INFO]  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[INFO]  at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[INFO]  at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[INFO]  at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[INFO]  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[INFO]  at java.security.AccessController.doPrivileged(Native Method)
[INFO]  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[INFO]  at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
[INFO]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[INFO]  at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefSchema$ClassAttrCvt.convertToArg(ModuleDefSchema.java:899)
[INFO]  at com.google.gwt.dev.util.xml.HandlerArgs.convertToArg(HandlerArgs.java:64)
[INFO]  at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:221)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:296)
[INFO]  at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:498)
[INFO]  at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:790)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:827)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1653)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
[INFO]  at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875)
[INFO]  at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798)
[INFO]  at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
[INFO]  at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
[INFO]  at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:564)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:349)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:70)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:431)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:316)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefSchema$BodySchema.__inherits_begin(ModuleDefSchema.java:501)
[INFO]  at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
[INFO]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:606)
[INFO]  at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:296)
[INFO]  at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:498)
[INFO]  at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:180)
[INFO]  at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:811)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:821)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1653)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
[INFO]  at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875)
[INFO]  at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798)
[INFO]  at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
[INFO]  at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
[INFO]  at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:564)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:349)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:70)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:431)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:316)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefSchema$BodySchema.__inherits_begin(ModuleDefSchema.java:501)
[INFO]  at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
[INFO]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:606)
[INFO]  at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:296)
[INFO]  at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:498)
[INFO]  at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:180)
[INFO]  at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:811)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:821)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1653)
[INFO]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
[INFO]  at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875)
[INFO]  at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798)
[INFO]  at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
[INFO]  at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
[INFO]  at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:564)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:349)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:70)
[INFO]  at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:431)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:316)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefLoader.load(ModuleDefLoader.java:243)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:193)
[INFO]  at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromResources(ModuleDefLoader.java:151)
[INFO]  at com.google.gwt.dev.codeserver.Recompiler.loadModule(Recompiler.java:445)
[INFO]  at com.google.gwt.dev.codeserver.Recompiler.initWithoutPrecompile(Recompiler.java:204)
[INFO]  at com.google.gwt.dev.codeserver.Outbox.maybePrecompile(Outbox.java:89)
[INFO]  at com.google.gwt.dev.codeserver.Outbox.<init>(Outbox.java:61)
[INFO]  at com.google.gwt.dev.codeserver.CodeServer.makeOutboxTable(CodeServer.java:191)
[INFO]  at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:150)
[INFO]  at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:102)
[INFO]  at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:55)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[INFO]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:606)
[INFO]  at com.google.gwt.dev.shell.SuperDevListener.runCodeServer(SuperDevListener.java:112)
[INFO]  at com.google.gwt.dev.shell.SuperDevListener.start(SuperDevListener.java:91)
[INFO]  at com.google.gwt.dev.DevMode.ensureCodeServerListener(DevMode.java:664)
[INFO]  at com.google.gwt.dev.DevModeBase.doStartup(DevModeBase.java:810)
[INFO]  at com.google.gwt.dev.DevMode.doStartup(DevMode.java:549)
[INFO]  at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:913)
[INFO]  at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:706)
[INFO]  at com.google.gwt.dev.DevMode.main(DevMode.java:430)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

Or when running from Intellij Run Configuration:

"C:\Program Files\Java\jdk1.8.0_91\bin\java" "-Dmaven.home=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.6\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.6\plugins\maven\lib\maven3\bin\m2.conf" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.6\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.6\plugins\maven\lib\maven3\boot\plexus-classworlds-2.4.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.6\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=15.0.6 -DskipTests=true gwt:run -P !jetty
00:00:03.242 [WARN] Failed startup of context c.g.g.d.s.j.WebAppContextWithReload@3b9a8a75{/,file:/C:/Projects/errai/errai-demos/errai-cdi-demo-tagcloud/src/main/webapp/,STARTING}{C:\Projects\errai\errai-demos\errai-cdi-demo-tagcloud\src\main\webapp}
java.lang.IllegalArgumentException: Object of class 'com.google.gwt.dev.shell.jetty.JettyLauncher.WebAppContextWithReload' is not of type 'org.mortbay.jetty.webapp.WebAppContext'. Object Class and type Class are from different loaders. in file:/C:/Projects/errai/errai-demos/errai-cdi-demo-tagcloud/src/main/webapp/WEB-INF/jetty-env.xml 	
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:296) 	
	at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:248) 	
	at org.eclipse.jetty.plus.webapp.EnvConfiguration.configure(EnvConfiguration.java:124) 	
	at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:479) 	
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1337) 	
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) 	
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) 	
	at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:550) 	
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 	
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) 	
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) 	
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) 	
	at org.eclipse.jetty.server.handler.RequestLogHandler.doStart(RequestLogHandler.java:140) 	
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 	
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) 	
	at org.eclipse.jetty.server.Server.start(Server.java:387) 	
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) 	
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) 	
	at org.eclipse.jetty.server.Server.doStart(Server.java:354) 	
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 	
	at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:759) 	
	at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:634) 	
	at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:923) 	
	at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:706) 	
	at com.google.gwt.dev.DevMode.main(DevMode.java:430)

Errai 4.0-SNAPSHOT - NoClassDefFound Issue

Hi Errai Team,

On the latest Snapshot we have encountered an issue specific to Tomcat.

Here's the log:

java.lang.NoClassDefFoundError: org/jboss/weld/util/cache/LoadingCacheUtils
	at org.jboss.weld.environment.servlet.inject.AbstractInjector.inject(AbstractInjector.java:60)
	at org.jboss.weld.environment.tomcat.WeldInstanceManager.newInstance(WeldInstanceManager.java:25)
	at org.jboss.weld.environment.tomcat.WeldForwardingInstanceManager.newInstance(WeldForwardingInstanceManager.java:72)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4666)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5206)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1702)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:456)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:405)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.jboss.weld.util.cache.LoadingCacheUtils
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1109)
	... 48 more

Using JPA and Validation requires class files

I am testing Errai 4 together with Gradle, see:

https://github.com/chvndb/errai-gradle-demo.

I am trying to use client-side JPA. However, Errai only generates the correct ErraiEntityManagerFactory when I include the compiled class files to the classpath when running the GWT compiler.

Otherwise, the GeneratedErraiEntityManagerFactory is empty and I get runtime errors saying that the Named queries do not exist.

As a sanity check, is this the intended behaviour? As I was always under the impression that Errai did not need the compiled classes.

nullpointerexception

hi, getting the errai-tutorial-master (1.0.0-SNAPSHOT) and execute

mvn -D mobile cordova:build-project gives a nullpointerexception

[DEBUG] Included: org.sonatype.gossip:gossip:jar:1.3
[DEBUG] Included: com.thoughtworks.qdox:qdox:jar:1.12
[DEBUG] Included: org.codehaus.groovy:groovy-all-minimal:jar:1.5.8
[DEBUG] Included: org.apache.ant:ant:jar:1.8.2
[DEBUG] Included: org.apache.ant:ant-launcher:jar:1.8.2
[DEBUG] Included: jline:jline:jar:0.9.94
[DEBUG] Included: junit:junit:jar:4.11
[DEBUG] Included: org.hamcrest:hamcrest-core:jar:1.3
[DEBUG] Included: org.apache.xbean:xbean-reflect:jar:3.4
[DEBUG] Included: log4j:log4j:jar:1.2.17
[DEBUG] Included: commons-logging:commons-logging-api:jar:1.1
[DEBUG] Included: com.google.code.google-collections:google-collect:jar:snapshot-20080530
[DEBUG] Included: org.codehaus.gmaven:gmaven-mojo-support:jar:1.5
[DEBUG] Included: commons-configuration:commons-configuration:jar:1.6
[DEBUG] Included: commons-collections:commons-collections:jar:3.2.1
[DEBUG] Included: commons-lang:commons-lang:jar:2.6
[DEBUG] Included: commons-logging:commons-logging:jar:1.1.1
[DEBUG] Included: commons-digester:commons-digester:jar:1.8
[DEBUG] Included: commons-beanutils:commons-beanutils:jar:1.7.0
[DEBUG] Included: commons-beanutils:commons-beanutils-core:jar:1.8.0
[DEBUG] Included: org.twdata.maven:mojo-executor:jar:2.2.0
[DEBUG] Included: org.eclipse.aether:aether-util:jar:1.0.0.v20140518
[DEBUG] Included: javax.enterprise:cdi-api:jar:1.2
[DEBUG] Included: javax.el:javax.el-api:jar:3.0.0
[DEBUG] Included: javax.interceptor:javax.interceptor-api:jar:1.2
[DEBUG] Included: org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.0.M1
[DEBUG] Included: org.sonatype.sisu:sisu-guice:jar:no_aop:3.2.3
[DEBUG] Included: javax.inject:javax.inject:jar:1
[DEBUG] Included: aopalliance:aopalliance:jar:1.0
[DEBUG] Included: com.google.guava:guava:jar:17.0
[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.14
[DEBUG] Included: org.codehaus.plexus:plexus-component-annotations:jar:1.5.5
[DEBUG] Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3
[DEBUG] Included: org.sonatype.plexus:plexus-cipher:jar:1.4
[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.5.5
[DEBUG] Included: org.sonatype.sisu:sisu-inject-bean:jar:2.2.3
[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.0.7
[DEBUG] Excluded: org.apache.maven:maven-settings:jar:3.0
[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.0.7
[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.0.7
[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.0.7
[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0.0
[DEBUG] Excluded: org.apache.maven:maven-core:jar:3.2.5
[DEBUG] Excluded: org.apache.maven:maven-settings-builder:jar:3.2.5
[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:3.0
[DEBUG] Excluded: org.apache.maven:maven-model-builder:jar:3.2.5
[DEBUG] Excluded: org.apache.maven:maven-aether-provider:jar:3.2.5
[DEBUG] Excluded: org.eclipse.aether:aether-spi:jar:1.0.0.v20140518
[DEBUG] Excluded: org.eclipse.aether:aether-impl:jar:1.0.0.v20140518
[DEBUG] Excluded: org.eclipse.aether:aether-api:jar:1.0.0.v20140518
[DEBUG] Excluded: org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.0.M1
[DEBUG] Excluded: org.codehaus.plexus:plexus-classworlds:jar:2.4
[DEBUG] Excluded: org.apache.maven:maven-model:jar:3.0.5
[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:3.0.5
[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:3.0.5
[DEBUG] Excluded: org.sonatype.sisu:sisu-inject-plexus:jar:2.3.0
[DEBUG] Configuring mojo org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project from plugin realm ClassRealm[plugin>org.jboss.errai:cordova-maven-plugin:3.2.1.Final, parent: sun.misc.Launcher$AppClassLoader@5c647e05]
[DEBUG] Configuring mojo 'org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project' with basic configurator -->
DEBUG project = MavenProject: org.jboss.errai.demo:errai-tutorial:1.0.0-SNAPSHOT @ C:\Users\jim\Downloads\errai-tutorial-master\pom.xml
DEBUG session = org.apache.maven.execution.MavenSession@cc62a3b
[DEBUG] -- end configuration --
[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=268, ConflictIdSorter.graphTime=1, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=51, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=1, ConflictResolver.conflictItemCount=126, DefaultDependencyCollector.collectTime=392, DefaultDependencyCollector.transformTime=2}
[DEBUG] org.apache.maven.plugins:maven-dependency-plugin:jar:2.1:
[DEBUG] org.apache.maven:maven-artifact:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-plugin-api:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-project:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-settings:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-profile:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-model:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-core:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0.9:compile
[DEBUG] org.apache.maven:maven-error-diagnostics:jar:2.0.9:compile
[DEBUG] commons-cli:commons-cli:jar:1.0:compile
[DEBUG] org.apache.maven:maven-plugin-descriptor:jar:2.0.9:compile
[DEBUG] org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile
[DEBUG] org.apache.maven:maven-monitor:jar:2.0.9:compile
[DEBUG] classworlds:classworlds:jar:1.1:compile
[DEBUG] org.codehaus.plexus:plexus-archiver:jar:1.0-alpha-9:compile
[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.4.6:compile
[DEBUG] org.apache.maven.shared:file-management:jar:1.1:compile
[DEBUG] org.apache.maven.shared:maven-shared-io:jar:1.0:compile
[DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-6:compile
[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
[DEBUG] junit:junit:jar:3.8.1:compile
[DEBUG] org.apache.maven.shared:maven-dependency-analyzer:jar:1.1:compile
[DEBUG] asm:asm:jar:3.0:compile
[DEBUG] org.apache.maven.shared:maven-dependency-tree:jar:1.2:compile
[DEBUG] org.apache.maven.shared:maven-common-artifact-filters:jar:1.0:compile
[DEBUG] org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1:compile
[DEBUG] org.codehaus.plexus:plexus-io:jar:1.0-alpha-1:compile
[DEBUG] org.apache.maven.reporting:maven-reporting-api:jar:2.0.6:compile
[DEBUG] org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7:compile
[DEBUG] org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:compile
[DEBUG] commons-validator:commons-validator:jar:1.2.0:compile
[DEBUG] commons-beanutils:commons-beanutils:jar:1.7.0:compile
[DEBUG] commons-digester:commons-digester:jar:1.6:compile
[DEBUG] commons-collections:commons-collections:jar:2.1:compile
[DEBUG] commons-logging:commons-logging:jar:1.0.4:compile
[DEBUG] xml-apis:xml-apis:jar:1.0.b2:compile
[DEBUG] org.apache.maven.doxia:doxia-core:jar:1.0-alpha-7:compile
[DEBUG] oro:oro:jar:2.0.7:compile
[DEBUG] org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-7:compile
[DEBUG] org.codehaus.plexus:plexus-i18n:jar:1.0-beta-6:compile
[DEBUG] org.codehaus.plexus:plexus-velocity:jar:1.1.2:compile
[DEBUG] plexus:plexus-utils:jar:1.0.2:compile
[DEBUG] commons-logging:commons-logging-api:jar:1.0.4:compile
[DEBUG] velocity:velocity:jar:1.4:compile
[DEBUG] velocity:velocity-dep:jar:1.4:runtime
[DEBUG] org.apache.maven.doxia:doxia-decoration-model:jar:1.0-alpha-7:compile
[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-dependency-plugin:2.1
[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-dependency-plugin:2.1
[DEBUG] Imported: < maven.api
[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-dependency-plugin:2.1
[DEBUG] Included: org.apache.maven.plugins:maven-dependency-plugin:jar:2.1
[DEBUG] Included: commons-cli:commons-cli:jar:1.0
[DEBUG] Included: org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4
[DEBUG] Included: org.codehaus.plexus:plexus-archiver:jar:1.0-alpha-9
[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.4.6
[DEBUG] Included: org.apache.maven.shared:file-management:jar:1.1
[DEBUG] Included: org.apache.maven.shared:maven-shared-io:jar:1.0
[DEBUG] Included: junit:junit:jar:3.8.1
[DEBUG] Included: org.apache.maven.shared:maven-dependency-analyzer:jar:1.1
[DEBUG] Included: asm:asm:jar:3.0
[DEBUG] Included: org.apache.maven.shared:maven-dependency-tree:jar:1.2
[DEBUG] Included: org.apache.maven.shared:maven-common-artifact-filters:jar:1.0
[DEBUG] Included: org.apache.maven.shared:maven-plugin-testing-harness:jar:1.1
[DEBUG] Included: org.codehaus.plexus:plexus-io:jar:1.0-alpha-1
[DEBUG] Included: org.apache.maven.reporting:maven-reporting-api:jar:2.0.6
[DEBUG] Included: org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7
[DEBUG] Included: org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4
[DEBUG] Included: commons-validator:commons-validator:jar:1.2.0
[DEBUG] Included: commons-beanutils:commons-beanutils:jar:1.7.0
[DEBUG] Included: commons-digester:commons-digester:jar:1.6
[DEBUG] Included: commons-collections:commons-collections:jar:2.1
[DEBUG] Included: commons-logging:commons-logging:jar:1.0.4
[DEBUG] Included: xml-apis:xml-apis:jar:1.0.b2
[DEBUG] Included: org.apache.maven.doxia:doxia-core:jar:1.0-alpha-7
[DEBUG] Included: oro:oro:jar:2.0.7
[DEBUG] Included: org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-7
[DEBUG] Included: org.codehaus.plexus:plexus-i18n:jar:1.0-beta-6
[DEBUG] Included: org.codehaus.plexus:plexus-velocity:jar:1.1.2
[DEBUG] Included: plexus:plexus-utils:jar:1.0.2
[DEBUG] Included: commons-logging:commons-logging-api:jar:1.0.4
[DEBUG] Included: velocity:velocity:jar:1.4
[DEBUG] Included: velocity:velocity-dep:jar:1.4
[DEBUG] Included: org.apache.maven.doxia:doxia-decoration-model:jar:1.0-alpha-7
[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-settings:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-model:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-core:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-error-diagnostics:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.0.9
[DEBUG] Excluded: org.apache.maven:maven-monitor:jar:2.0.9
[DEBUG] Excluded: classworlds:classworlds:jar:1.1
[DEBUG] Excluded: org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-6
[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1
[DEBUG] Configuring mojo org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-dependency-plugin:2.1, parent: sun.misc.Launcher$AppClassLoader@5c647e05]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack' with basic configurator -->
DEBUG groupId = org.jboss.errai
DEBUG artifactId = errai-cordova-template
DEBUG version = 3.2.1.Final
DEBUG type = tar.gz
DEBUG overWrite = false
DEBUG outputDirectory = C:\Users\jim\Downloads\errai-tutorial-master\target\template
DEBUG artifactItems = [org.jboss.errai:errai-cordova-template:3.2.1.Final:tar.gz]
DEBUG silent = false
DEBUG outputDirectory = C:\Users\jim\Downloads\errai-tutorial-master\target\dependency
DEBUG reactorProjects = [MavenProject: org.jboss.errai.demo:errai-tutorial:1.0.0-SNAPSHOT @ C:\Users\jim\Downloads\errai-tutorial-master\pom.xml]
DEBUG outputAbsoluteArtifactFilename = false
DEBUG project = MavenProject: org.jboss.errai.demo:errai-tutorial:1.0.0-SNAPSHOT @ C:\Users\jim\Downloads\errai-tutorial-master\pom.xml
DEBUG overWriteReleases = false
DEBUG markersDirectory = C:\Users\jim\Downloads\errai-tutorial-master\target\dependency-maven-plugin-markers
DEBUG overWriteIfNewer = true
DEBUG local = id: local
url: file:///C:/Users/jim/.m2/repository/
layout: default
snapshots: [enabled => true, update => always]
releases: [enabled => true, update => always]

DEBUG overWriteSnapshots = false
DEBUG remoteRepos = [ id: nexus
url: http://192.168.20.81:8081/nexus/content/groups/InovelanGroup/
layout: default
snapshots: [enabled => true, update => always]
releases: [enabled => true, update => daily]
, id: JBOSS_NEXUS
url: http://repository.jboss.org/nexus/content/groups/public
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => true, update => daily]
, id: central
url: https://repo.maven.apache.org/maven2
layout: default
snapshots: [enabled => false, update => daily]
releases: [enabled => true, update => daily]
]
[DEBUG] -- end configuration --
[INFO] Configured Artifact: org.jboss.errai:errai-cordova-template:3.2.1.Final:tar.gz
[INFO] errai-cordova-template-3.2.1.Final.tar.gz already unpacked.
Copying 2235 files to C:\Users\jim\Downloads\errai-tutorial-master\target\template\platforms\android\assets\www
Copying 2235 files to C:\Users\jim\Downloads\errai-tutorial-master\target\template\platforms\ios\www
Copying 2235 files to C:\Users\jim\Downloads\errai-tutorial-master\target\template\www
Copying 1 file to C:\Users\jim\Downloads\errai-tutorial-master\src\main\webapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.127 s
[INFO] Finished at: 2015-12-04T12:26:40+01:00
[INFO] Final Memory: 23M/260M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project (default-cli) on project errai-tutorial: Execution default-cli of goal org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project (default-cli) on project errai-tutorial: Execution default-cli of goal org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.jboss.errai:cordova-maven-plugin:3.2.1.Final:build-project failed.
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.lang.NullPointerException
at java.io.FileInputStream.(FileInputStream.java:130)
at groovy.util.XmlSlurper.parse(XmlSlurper.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:738)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:726)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
at org.jboss.errai.maven.cordova.AndroidParser.updateAppNameInStrings(AndroidParser.groovy:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
at org.jboss.errai.maven.cordova.AndroidParser.updateProject(AndroidParser.groovy:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:750)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:730)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
at org.jboss.errai.maven.cordova.CordovaMojo.updateConfig(CordovaMojo.groovy:98)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
at org.jboss.errai.maven.cordova.CordovaMojo.execute(CordovaMojo.groovy:44)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
... 20 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
C:\Users\jim\Downloads\errai-tutorial-master>

Errai i18n can't have a global key

Hi Errai Team,

How can we have a global key value pair inside the json file on Errai that will work both
WelcomePage.html and LoginPage.html

e.g.

Inside i18n.json

{
   "hello" : "hello"
}

This is the current implementation based on errai i18n docs

We dont want to declare two instances of Hello because if we have 10 pages that require hello
then we will define "page.key" : "value" so it will be very very long

{
  "WelcomePage.hello" : "hello",
  "LoginPage.hello" : "hello"
}

Inside WelcomePage.html

<p data-i18n-key="hello"></hello>

Inside LoginPage.html

<p data-i18n-key="hello"></hello>

Polymer elements are initialized twice

When I tried to use a custom polymer element in errai GWT application, the element is initialized twice.
cloneWithEmptyParent method in TemplateUtil.java i think is the culprit. Since I already have the element in template, when it is stamped, custom element is initialized. But because of the deep cloning in the cloneWithEmptyParent method, i think the element is initialized again. Please help to fix it

BindableProxyAgent.oneTypeIsInterface() is implemented incorrectly

private boolean oneTypeIsInterface(final Class<?> propertyType, final Class<?> converterModelType) {
    return propertyType.isInterface() ^ converterModelType.isInterface();
}

XOR should be replaced by OR, because if both types are interfaces this method currently returns false, but must return true. The real meaning of this method is: at least one of two types is interface.

End Tag Issue on HTML Template

Hi Errai Team,

Errai Version: 4.0-Beta3
GWT Version: 2.8.0

I found some issue inside the html template , end tags like <div /> is not working.
It will be better to support this one.

Best Regards,
Kevin

Remove the need of Java EE

Can you make future version such that you do not need a JEE to run. Make it embeddable in normal applications. Also be usable in frameworks like Play Framework, Ratpack, Vert.x, etc.

Errai i18n : Support multiple Versions of the same language

One question is can we have multiple versions of the same language or provide the translation from the server
For example, we have multiple English clients that use your system, however they have a different way of referring to certain fields
So currently we set localization for each client, and their localization extends an existing default localization pack
So we use the default values, unless it is extended by their implementation

Allow for Templated classes to be a Widget type

This might already be possible, but I haven't been able to solve it.

Basically I want to be able to say that the root of my Templated is like so:

<div data-field="my-view">
    <div data-field="content"></div>
    ...
</div>
@EntryPoint
@Templated("MyView.html#my-view")
public class MyView extends MaterialWidget {

    @Inject
    private Navigation navigation;

    @Inject @DataField
    private Div content;

    public MyView() {
        super(DOM.createDiv()); // calls setElement(element)
    }

    @PostConstruct
    protected void onPostConstruct() {
        content.add(navigation.getContentPanel());
        RootPanel.get().add(this);
    }
}

This doesn't work for me. Not sure if I have done something wrong but it makes sense that you can make the root of your Templated class as a Widget type.

Thanks!

Preventing the errai ui to override the style classnames on Widget Injection

Hi Errai Team,

We have some issues in to our GMD Widgets that everytime we inject the component widget it overrides it's class for e.g.

Inside WelcomPage.html

<div data-field="icon" class="red-text"></div>

Inside WelcomePage.java

@Inject
@DataField("icon")
MaterialIcon icon; // this component has setStyleName("material-icon"); on its constructor.

This is the MaterialIcon architecture

/**
     * Creates an empty icon.
     */
    public MaterialIcon() {
        super();
        addStyleName("material-icons");
    }

Question

  • Can we avoid overriding the stylename once it's being rendered ? Instead we can append it so that it will not break the initialization of predefined class into MaterialIcon widget.

Source that Template always win

http://docs.jboss.org/errai/2.1.0.Final/errai/reference/html/sid-51806600.html

Errai SDM - Code refresh doesnt compile HTML Files

Hi Errai Team,

Errai Version: 4.0.0-Beta3
GWT Version: 2.8.0

When running Super Dev Mode, and I changed something inside .html file and refresh the browser. It seems that Errai does not update my code changes. If I changed both .html and .java for example it's working back.

Best Regards,
Kevin

RequestInteceptors and ResponseCallback/RemoteCallback

I have a very simple request interceptor like the following:

 @Override
    public void aroundInvoke(final RestCallContext context) {

        GWT.log("BEFORE CALL");
        context.proceed(
                response -> {
                    GWT.log("After CALL");
                    context.setResult(response);
                },
                (message, throwable) -> {
                    GWT.log("After CALL, with error response");
                  return true; //let the caller handle the real error
                }
        );
    }

what i see is that intercepted calls work if i call them providing a "ResponseCallback"
but not with a "RemoteCallback"

on the other hand if i define the interceptor as

@Override
    public void aroundInvoke(final RestCallContext context) {
        context.proceed(new RemoteCallback<Object>() {...}, 
                                  new ErrorCallback<Object>() {...});
   }

the calls work with RemoteCallback but not with ResponseCallback.

With "not work" i mean that i get errors in the browser console and the callback is never called (nor the error callback is called actually).

I'm I misunderstanding how to use the interceptors ?

If needed i can try to provide a small repro case.

Thanks.

old devmode support

Not sure if it's issue or as design. I've updated my project to Errai 4.0 Beta4, and now old devmode cannot even start, fails with:
Unable to load module entry point class org.jboss.errai.marshalling.client.api.MarshallerFramework
com.google.gwt.core.client.JavaScriptException: (null) @org.jboss.errai.common.client.logging.util.Console::info(Ljava/lang/String;)([string: '23:24:29 INFO [InitVotes] wait for: org.jboss.errai.marshalling.client.api.MarshallerFramework']): null

I see that it fails in ErraiConsoleLogHandler on the following line:
logWith(msg, record, m -> Console.info(m));

Probably because Console is native JsType now.
Superdev mode works without any problems.
So my question is: is it a bug or expected behavior(devmode completely deprecated) ?

I've tried -generateJsInteropExports compiler's option, but no difference.

Use the same version of hibernate like the most recent wildfly

I am currently building a web app where I want to use hibernate spatial and deploy on wildfly.

The problem is that errai expects hibernate 4.2 and wildfly is using hibernate 4.3.

When I depend on hibernate spatial 4.0.1 the compile will work. When I depend on 4.3 the runtime will work. It would be awesome if errai could use the same hibernate version like wildfly.

15:21:23,454 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 25) MSC000001: Failed to start service jboss.persistenceunit."application.war#application".__FIRST_PHASE__: org.jboss.msc.service.StartException in service jboss.persistenceunit."application.war#application".__FIRST_PHASE__: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.spatial.integration.SpatialIntegrator could not be instantiated: java.lang.NoClassDefFoundError: org/hibernate/service/spi/BasicServiceInitiator
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:121)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:103)
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_45]
    at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474) [wildfly-security-manager-1.0.0.Final.jar:1.0.0.Final]
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1.run(PhaseOnePersistenceUnitServiceImpl.java:130)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
Caused by: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.spatial.integration.SpatialIntegrator could not be instantiated: java.lang.NoClassDefFoundError: org/hibernate/service/spi/BasicServiceInitiator
    at java.util.ServiceLoader.fail(ServiceLoader.java:224) [rt.jar:1.7.0_45]
    at java.util.ServiceLoader.access$100(ServiceLoader.java:181) [rt.jar:1.7.0_45]
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377) [rt.jar:1.7.0_45]
    at java.util.ServiceLoader$1.next(ServiceLoader.java:445) [rt.jar:1.7.0_45]
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:341)
    at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:57)
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:215)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildBootstrapServiceRegistry(EntityManagerFactoryBuilderImpl.java:518)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:206)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:186)
    at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:45)
    at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:57)
    at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.<init>(TwoPhaseBootstrapImpl.java:38)
    at org.jboss.as.jpa.hibernate4.HibernatePersistenceProviderAdaptor.getBootstrap(HibernatePersistenceProviderAdaptor.java:173)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.createContainerEntityManagerFactoryBuilder(PhaseOnePersistenceUnitServiceImpl.java:243)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.access$800(PhaseOnePersistenceUnitServiceImpl.java:60)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:118)
    ... 8 more
Caused by: java.lang.NoClassDefFoundError: org/hibernate/service/spi/BasicServiceInitiator
    at java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.7.0_45]
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) [rt.jar:1.7.0_45]
    at java.lang.Class.getConstructor0(Class.java:2803) [rt.jar:1.7.0_45]
    at java.lang.Class.newInstance(Class.java:345) [rt.jar:1.7.0_45]
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373) [rt.jar:1.7.0_45]
    ... 22 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.service.spi.BasicServiceInitiator from [Module "deployment.application.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final]
    ... 27 more

navigateBackOrToPage cleans page state

if I understand correctly the implementation of navigateBackOrToPage

@OverRide
public void navigateBackOrToPage(final Class<?> pageType) {
if (lastPageCache != null) {
navigation.goTo(lastPageCache, ImmutableMultimap.<String, String>of());
lastPageCache = null;
}
else {
navigation.goTo(pageType, ImmutableListMultimap.<String, String>of());
}
}

page state is emptied during redirection.
Can you suggest any approach to keep the page state ?

encode special char in cookie value

Read the javadoc once again (emphasis mine):

With Version 0 cookies, values should not contain white space, brackets, parentheses, equals signs, commas, double quotes, slashes, question marks, at signs, colons, and semicolons. Empty values may not behave the same way on all browsers.

however, it seems this method:
UserCookieEncoder.toCookieValue()

it doesn't encode those special char for cookie vlaue!

because of those invliad vlaue, wildfly cannot parse the correct value, even parse fail.

Incorrect BindableProxyAgent.findConverter() code for figuring out componentValueType

Model field type is Date
Widget is HasValue<String>
Custom Converter<Date, String>

findConverter() starts with the following code:

if (component instanceof Widget) {
      componentValueType = Optional.ofNullable(Convert.inferWidgetValueType((Widget) component, propertyType));
    }

But my widget.getValue() is null on bind, so Convert.inferWidgetValueType() just returns back propertyType, which is Date, as result exception is raised "Converter widget type, java.lang.String, does not match the required type, java.util.Date"

So Convert.inferWidgetValueType() just could not return defaultWidgetValueType in case widget.getValue() is null, because this method has zero knowledge about widgets used in my application. This code is just wrong:

Object value = ((TakesValue) widget).getValue();
      if (value != null) {
        if (value instanceof WrappedPortable) {
          value = ((WrappedPortable) value).unwrap();
        }
        widgetValueType = value.getClass();
      }
      else if (widget instanceof TextBoxBase) {
        widgetValueType = String.class;
      }
      else if (widget instanceof DateBox || widget instanceof DatePicker) {
        widgetValueType = Date.class;
      }
      else if (widget instanceof CheckBox || widget instanceof ToggleButton) {
        widgetValueType = Boolean.class;
      }
      else if (widget instanceof LongBox) {
        widgetValueType = Long.class;
      }
      else if (widget instanceof DoubleBox) {
        widgetValueType = Double.class;
      }
      else if (widget instanceof IntegerBox) {
        widgetValueType = Integer.class;
      }
      else {
        widgetValueType = defaultWidgetValueType; <<< WRONG!!!
      }

What about unknown widget types? How to extend or override this code?

The best way how to resolve this problem IMO is adding custom widget registration to Convert class, so I can register my widgets and their value types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.