5 Replies Latest reply on Jul 18, 2012 4:45 PM by csa

    Marshalling with interfaces

    jervisliu

      Hi, below is what my domain model objects look like:

       

      public class SingleFieldConstraint extends BaseSingleFieldConstraint

          implements

          FieldConstraint {

       

          private String                fieldBinding;

          private String                factType;

          private String                fieldName;

          private String                fieldType;

          private FieldConstraint       parent;

       

          /**

           * Used with "value" when using custom forms.

           */

          private String                id;

          public ConnectiveConstraint[] connectives;

      ..............

      }

       

      FieldConstraint is an interface:

       

      public interface FieldConstraint extends PortableObject {

      }

      public interface PortableObject  extends Serializable {

      }

       

      As this is a legacy code, I can not use @Portable, I have to put SingleFieldConstraint and other classes in ErraiApp.properties file.

       

      When this is compiled, Errai complained that:

       

      [ERROR] Caused by: java.lang.RuntimeException: org.jboss.errai.marshalling.clien

      t.api.exceptions.InvalidMappingException: portable entity org.drools.ide.common.

      client.modeldriven.brl.SingleFieldConstraint contains a field (parent) that is n

      ot known to the marshaller: org.drools.ide.common.client.modeldriven.brl.FieldCo

      nstraint

       

      Of course I can not add FieldConstraint into ErraiApp.properties as otherwise Errai will complain it can not marshall an interface.

       

      Any advice on what we can do in this case?

       

      Thanks,

      Jervis

        • 1. Re: Marshalling with interfaces
          jfuerth

          Hi Jervis,

           

          Christian and I worked out a fix for this. Your scenario should be working with no changes required to your code as of the next 2.0.2-SNAPSHOT and 2.1-SNAPSHOT builds. We also ensured that our fix works for fields whose types are abstract classes.

           

          (Of course all implementations of FieldConstraint that you want to send across the wire will have to be portable, but Errai will no longer complain about the interface field when generating the marshallers).

           

          -Jonathan

          • 2. Re: Marshalling with interfaces
            jervisliu

            Hi Jonathan, thanks a lot for the quick fix. But I am afraid this is not working yet (I assume your fix has already gone into the snapshot build?). If I put org.drools.ide.common.client.modeldriven.brl.FieldConstraint in ErraiApp.properties as below:

             

            org.drools.ide.common.client.modeldriven.brl.ExpressionFormLine \

            org.drools.ide.common.client.modeldriven.brl.FieldConstraint

             

            I got "cannot marshal an abstract class or interface" exception:

             

            [INFO]            Generating Marshallers Bootstrapper...

            [ERROR] Failed to boostrap errai marshalling system!

            [ERROR] java.lang.RuntimeException: cannot marshal an abstract class or interfac

            e: org.drools.ide.common.client.modeldriven.brl.FieldConstraint

            [ERROR]     at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.Defau

            ltJavaDefinitionMapper.map(DefaultJavaDefinitionMapper.java:52)

            [ERROR]     at org.jboss.errai.marshalling.rebind.DefinitionsFactoryImpl.loa

            dCustomMappings(DefinitionsFactoryImpl.java:285)

            [ERROR]     at org.jboss.errai.marshalling.rebind.DefinitionsFactoryImpl.<in

            it>(DefinitionsFactoryImpl.java:76)

            [ERROR]     at org.jboss.errai.marshalling.rebind.DefinitionsFactorySingleto

            n.newInstance(DefinitionsFactorySingleton.java:41)

            [ERROR]     at org.jboss.errai.marshalling.rebind.DefinitionsFactorySingleto

            n.<clinit>(DefinitionsFactorySingleton.java:26)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.gener

            ate(MarshallersGenerator.java:220)

            [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generate(Generato

            rExtWrapper.java:48)

            [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrement

            ally(GeneratorExtWrapper.java:60)

            [ERROR]     at com.google.gwt.dev.javac.StandardGeneratorContext.runGenerato

            rIncrementally(StandardGeneratorContext.java:647)

            [ERROR]     at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateW

            ith.java:41)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind

            (StandardRebindOracle.java:78)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

            RebindOracle.java:268)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

            RebindOracle.java:257)

            [ERROR]     at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPos

            sibleRebindAnswers(DistillerRebindPermutationOracle.java:91)

            [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAddition

            alTypesUsingRebinds(WebModeCompilerFrontEnd.java:96)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            process(AbstractCompiler.java:254)

            [ERROR]     at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.j

            ava:444)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            compile(AbstractCompiler.java:173)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            compile(AbstractCompiler.java:288)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            access$400(AbstractCompiler.java:139)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompi

            ler.java:588)

            [ERROR]     at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUni

            tDeclarations(BasicWebModeCompiler.java:97)

            [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilation

            UnitDeclarations(WebModeCompilerFrontEnd.java:52)

            [ERROR]     at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(Ja

            vaToJavaScriptCompiler.java:569)

            [ERROR]     at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScri

            ptCompiler.java:33)

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)

             

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)

             

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)

             

            [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:232)
            [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:198)
            [ERROR]     at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
            [ERROR]     at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.

            java:88)

            [ERROR]     at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger

            (CompileTaskRunner.java:82)

            [ERROR]     at com.google.gwt.dev.Compiler.main(Compiler.java:177)

            [ERROR] java.lang.ExceptionInInitializerError

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.gener

            ate(MarshallersGenerator.java:220)

            [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generate(Generato

            rExtWrapper.java:48)

            [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrement

            ally(GeneratorExtWrapper.java:60)

            [ERROR]     at com.google.gwt.dev.javac.StandardGeneratorContext.runGenerato

            rIncrementally(StandardGeneratorContext.java:647)

            [ERROR]     at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateW

            ith.java:41)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind

            (StandardRebindOracle.java:78)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

            RebindOracle.java:268)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

            RebindOracle.java:257)

            [ERROR]     at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPos

            sibleRebindAnswers(DistillerRebindPermutationOracle.java:91)

            [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAddition

            alTypesUsingRebinds(WebModeCompilerFrontEnd.java:96)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            process(AbstractCompiler.java:254)

            [ERROR]     at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.j

            ava:444)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            compile(AbstractCompiler.java:173)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            compile(AbstractCompiler.java:288)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            access$400(AbstractCompiler.java:139)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompi

            ler.java:588)

            [ERROR]     at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUni

            tDeclarations(BasicWebModeCompiler.java:97)

            [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilation

            UnitDeclarations(WebModeCompilerFrontEnd.java:52)

            [ERROR]     at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(Ja

            vaToJavaScriptCompiler.java:569)

            [ERROR]     at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScri

            ptCompiler.java:33)

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)

             

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)

             

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)

             

            [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:232)
            [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:198)
            [ERROR]     at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
            [ERROR]     at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.

            java:88)

            [ERROR]     at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger

            (CompileTaskRunner.java:82)

            [ERROR]     at com.google.gwt.dev.Compiler.main(Compiler.java:177)

            [ERROR] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: canno

            t marshal an abstract class or interface: org.drools.ide.common.client.modeldriv

            en.brl.FieldConstraint

            [ERROR] [INFO]            [ERROR] Error generating marshallers
                at org.jboss.errai.marshalling.rebind.DefinitionsFactorySingleton.<clini

            t>(DefinitionsFactorySingleton.java:32)

            [INFO] java.lang.ExceptionInInitializerError

            [ERROR]     ... 29 more

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(Mars

            hallersGenerator.java:220)

            [ERROR] Caused by: java.lang.RuntimeException: cannot marshal an abstract class

            or interface: org.drools.ide.common.client.modeldriven.brl.FieldConstraint

            [INFO]  at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrap

            per.java:48)

            [ERROR]     at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.Defau

            ltJavaDefinitionMapper.map(DefaultJavaDefinitionMapper.java:52)

            [INFO]  at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(Gen

            eratorExtWrapper.java:60)

            [ERROR]     at org.jboss.errai.marshalling.rebind.DefinitionsFactoryImpl.loa

            dCustomMappings(DefinitionsFactoryImpl.java:285)

            [INFO]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncreme

            ntally(StandardGeneratorContext.java:647)

            [ERROR]     at org.jboss.errai.marshalling.rebind.DefinitionsFactoryImpl.<in

            it>(DefinitionsFactoryImpl.java:76)

             

            If I remove org.drools.ide.common.client.modeldriven.brl.FieldConstraint from ErraiApp.properties, I got a NPE:

             

            [INFO]      Rebinding org.jboss.errai.marshalling.client.api.MarshallerFacto

            ry

            [INFO]         Invoking generator org.jboss.errai.marshalling.rebind.Marshal

            lersGenerator

            [INFO]            Generating Marshallers Bootstrapper...

            [INFO] not found: org.drools.ide.common.client.modeldriven.brl.FieldConstraint

            [ERROR] java.lang.NullPointerException

            [ERROR]     at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.Defau

            ltJavaMappingStrategy.calcBufferSize(DefaultJavaMappingStrategy.java:361)

            [ERROR]     at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.Defau

            ltJavaMappingStrategy.calcBufferSize(DefaultJavaMappingStrategy.java:372)

            [ERROR]     at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.Defau

            ltJavaMappingStrategy.marshallToJSON(DefaultJavaMappingStrategy.java:403)

            [ERROR]     at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.Defau

            ltJavaMappingStrategy$1.getMarshaller(DefaultJavaMappingStrategy.java:318)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory

            .marshal(MarshallerGeneratorFactory.java:294)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory

            .generateMarshallers(MarshallerGeneratorFactory.java:254)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory

            ._generate(MarshallerGeneratorFactory.java:225)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory

            .generate(MarshallerGeneratorFactory.java:109)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator._gene

            rate(MarshallersGenerator.java:260)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.gener

            ateMarshallerBootstrapper(MarshallersGenerator.java:238)

            [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.gener

            ate(MarshallersGenerator.java:223)

            [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generate(Generato

            rExtWrapper.java:48)

            [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrement

            ally(GeneratorExtWrapper.java:60)

            [ERROR]     at com.google.gwt.dev.javac.StandardGeneratorContext.runGenerato

            rIncrementally(StandardGeneratorContext.java:647)

            [ERROR]     at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateW

            ith.java:41)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind

            (StandardRebindOracle.java:78)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

            RebindOracle.java:268)

            [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

            RebindOracle.java:257)

            [ERROR]     at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPos

            sibleRebindAnswers(DistillerRebindPermutationOracle.java:91)

            [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAddition

            alTypesUsingRebinds(WebModeCompilerFrontEnd.java:96)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            process(AbstractCompiler.java:254)

            [ERROR]     at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.j

            ava:444)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            compile(AbstractCompiler.java:173)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            compile(AbstractCompiler.java:288)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

            access$400(AbstractCompiler.java:139)

            [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompi

            ler.java:588)

            [INFO]            [ERROR] Error generating marshallers
            [ERROR]     at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUni

            tDeclarations(BasicWebModeCompiler.java:97)

            [INFO] java.lang.NullPointerException

            [INFO]  at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.DefaultJavaMa

            ppingStrategy.calcBufferSize(DefaultJavaMappingStrategy.java:361)

            [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilation

            UnitDeclarations(WebModeCompilerFrontEnd.java:52)

            [INFO]  at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.DefaultJavaMa

            ppingStrategy.calcBufferSize(DefaultJavaMappingStrategy.java:372)

            [ERROR]     at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(Ja

            vaToJavaScriptCompiler.java:569)

            [INFO]  at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.DefaultJavaMa

            ppingStrategy.marshallToJSON(DefaultJavaMappingStrategy.java:403)

            [ERROR]     at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScri

            ptCompiler.java:33)

            [INFO]  at org.jboss.errai.marshalling.rebind.api.impl.defaultjava.DefaultJavaMa

            ppingStrategy$1.getMarshaller(DefaultJavaMappingStrategy.java:318)

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)

             

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.marshal

            (MarshallerGeneratorFactory.java:294)

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)

             

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.generat

            eMarshallers(MarshallerGeneratorFactory.java:254)

            [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)

             

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory._genera

            te(MarshallerGeneratorFactory.java:225)

            [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:232)

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.generat

            e(MarshallerGeneratorFactory.java:109)

            [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:198)

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator._generate(Mar

            shallersGenerator.java:260)

            [ERROR]     at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generateMarsh

            allerBootstrapper(MarshallersGenerator.java:238)

            [ERROR]     at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.

            java:88)

            [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(Mars

            hallersGenerator.java:223)

            [ERROR]     at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger

            (CompileTaskRunner.java:82)

            [INFO]  at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrap

            per.java:48)

            [ERROR]     at com.google.gwt.dev.Compiler.main(Compiler.java:177)

            [INFO]  at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(Gen

            eratorExtWrapper.java:60)

            [INFO]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncreme

            ntally(StandardGeneratorContext.java:647)

            [INFO]  at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java

            :41)

            [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(Standar

            dRebindOracle.java:78)

            [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOr

            acle.java:268)

            [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOr

            acle.java:257)

            [INFO]  at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleReb

            indAnswers(DistillerRebindPermutationOracle.java:91)

            [INFO]  at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesU

            singRebinds(WebModeCompilerFrontEnd.java:96)

            [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.process(

            AbstractCompiler.java:254)

            [INFO]  at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)

             

            [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(

            AbstractCompiler.java:173)

            [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(

            AbstractCompiler.java:288)

            [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$4

            00(AbstractCompiler.java:139)

            [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java

            :588)

            [INFO]  at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclara

            tions(BasicWebModeCompiler.java:97)

            [INFO]  at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDecl

            arations(WebModeCompilerFrontEnd.java:52)

            [INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJava

            ScriptCompiler.java:569)

            [INFO]  at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompil

            er.java:33)

            [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)

            [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)

            [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)

            [INFO]  at com.google.gwt.dev.Compiler.run(Compiler.java:232)

            [INFO]  at com.google.gwt.dev.Compiler.run(Compiler.java:198)

            [INFO]  at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)

            [INFO]  at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)

             

            [INFO]  at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(Compile

            TaskRunner.java:82)

             

             

            Thanks,

            Jervis

            • 3. Re: Marshalling with interfaces
              jfuerth

              Hi Jervis,

               

              Thanks for the followup. We hadn't tested our fix against arrays of interface types. We've pushed the fix on the 2.0.x branch, and will be merging it up to 2.1 after lunch. You should see new 2.1-SNAPSHOT with the fix within a couple of hours.

               

              By the way, we also found and fixed a separate issue with Array marshalling. Take this example:

               

                  @Portable public class ConcreteFooType { ... }

                  @Portable public class ConcreteFooSubtype extends ConcreteFooType { ... }

                  @Portable public class BarType { private ConcreteFooType[] fooArray; }

               

              In this case, any instances of ConcreteFooSubtype in BarType.fooArray would have been marshalled and demarshalled as ConcreteFooType. The array marshaller generator was always using the array's declared element type for marshalling and demarshalling array elements. This is covered by the  fix we implemented for your array case, so it should no longer be an issue as of 2.0.2 and the latest 2.1-SNAPSHOTs.

               

              Don't know if you have run into this or not, but I thought I should mention it on the forum in case anyone comes across it.

               

              -Jonathan and Christian

              • 4. Re: Marshalling with interfaces
                jervisliu

                Hi Jonathan, with the lastest snapshot,  looks like the interface problem is fixed, not 100% sure yet, as I am getting a different error now: marshalling with Map:

                 

                The code where code gen failed:

                 

                 

                    public void setDataEnumLists(Map<String, String[]> data) {

                        this.dataEnumLists = data;

                    }

                 

                The error stack trace:

                 

                [INFO]      Rebinding org.jboss.errai.marshalling.client.api.MarshallerFacto

                ry

                [INFO]         Invoking generator org.jboss.errai.marshalling.rebind.Marshal

                lersGenerator

                [INFO]            Generating Marshallers Bootstrapper...

                [ERROR] java.lang.RuntimeException: error generating method call for: setDataEnu

                mLists([((java.util.Map)((java.util.Map)[Statement:[StackReset] -> [[LoadVariabl

                e<java_util_Map>][[MethodCall<demarshall([[Statement:[[LoadVariable<obj>][[Metho

                dCall<get([dataEnumLists])>]null]]], [Statement:[[LoadVariable<a1>]null]]])>]nul

                l]]]))])

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.MethodCall.handleCa

                ll(MethodCall.java:121)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.AbstractCallElement

                .nextOrReturn(AbstractCallElement.java:46)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadVariable.handle

                Call(LoadVariable.java:122)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder

                .generate(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.BlockStatement.generate(BlockStatemen

                t.java:79)

                [ERROR]     at org.jboss.errai.codegen.control.IfBlock.generate(IfBlock.java

                :65)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.ConditionalBlockCal

                lElement.handleCall(ConditionalBlockCallElement.java:46)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder

                .generate(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.BlockStatement.generate(BlockStatemen

                t.java:79)

                [ERROR]     at org.jboss.errai.codegen.control.TryBlock.generate(TryBlock.ja

                va:59)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.TryBlockBuilderImpl$1.do

                Deferred(TryBlockBuilderImpl.java:54)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.DeferredCallElement

                .handleCall(DeferredCallElement.java:39)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder

                .generate(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.BlockStatement.generate(BlockStatemen

                t.java:79)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureB

                uilderImpl$2$1.doGenerate(AnonymousClassStructureBuilderImpl.java:109)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureB

                uilderImpl.doGenerate(AnonymousClassStructureBuilderImpl.java:180)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureB

                uilderImpl.access$200(AnonymousClassStructureBuilderImpl.java:43)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureB

                uilderImpl$3.generate(AnonymousClassStructureBuilderImpl.java:148)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.ObjectBuilder$2.doDeferr

                ed(ObjectBuilder.java:174)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.DeferredCallElement

                .handleCall(DeferredCallElement.java:39)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.AbstractCallElement

                .nextOrReturn(AbstractCallElement.java:46)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.ResetCallElement.ha

                ndleCall(ResetCallElement.java:29)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder

                .generate(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.ObjectBuilder.generate(O

                bjectBuilder.java:182)

                [ERROR]     at org.jboss.errai.codegen.util.GenUtil.generate(GenUtil.java:13

                0)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.AssignVariable.hand

                leCall(AssignVariable.java:46)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.AbstractCallElement

                .nextOrReturn(AbstractCallElement.java:46)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadVariable.handle

                Call(LoadVariable.java:122)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder

                .generate(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.BlockStatement.generate(BlockStatemen

                t.java:79)

                [ERROR]     at org.jboss.errai.codegen.meta.impl.build.BuildMetaConstructor.

                toJavaString(BuildMetaConstructor.java:268)

                [ERROR]     at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.member

                sToString(BuildMetaClass.java:685)

                [ERROR]     at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.toJava

                String(BuildMetaClass.java:630)

                [ERROR]     at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.toJava

                String(BuildMetaClass.java:541)

                [ERROR]     at org.jboss.errai.codegen.builder.impl.ClassBuilder.toJavaStrin

                g(ClassBuilder.java:495)

                [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory

                ._generate(MarshallerGeneratorFactory.java:237)

                [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory

                .generate(MarshallerGeneratorFactory.java:109)

                [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator._gene

                rate(MarshallersGenerator.java:260)

                [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.gener

                ateMarshallerBootstrapper(MarshallersGenerator.java:238)

                [ERROR]     at org.jboss.errai.marshalling.rebind.MarshallersGenerator.gener

                ate(MarshallersGenerator.java:223)

                [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generate(Generato

                rExtWrapper.java:48)

                [ERROR]     at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrement

                ally(GeneratorExtWrapper.java:60)

                [ERROR]     at com.google.gwt.dev.javac.StandardGeneratorContext.runGenerato

                rIncrementally(StandardGeneratorContext.java:647)

                [ERROR]     at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateW

                ith.java:41)

                [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind

                (StandardRebindOracle.java:78)

                [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

                RebindOracle.java:268)

                [ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(Standard

                RebindOracle.java:257)

                [ERROR]     at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPos

                sibleRebindAnswers(DistillerRebindPermutationOracle.java:91)

                [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAddition

                alTypesUsingRebinds(WebModeCompilerFrontEnd.java:96)

                [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

                process(AbstractCompiler.java:254)

                [ERROR]     at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.j

                ava:444)

                [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

                compile(AbstractCompiler.java:173)

                [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

                compile(AbstractCompiler.java:288)

                [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.

                access$400(AbstractCompiler.java:139)

                [ERROR]     at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompi

                ler.java:588)

                [ERROR]     at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUni

                tDeclarations(BasicWebModeCompiler.java:97)

                [ERROR]     at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilation

                UnitDeclarations(WebModeCompilerFrontEnd.java:52)

                [ERROR]     at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(Ja

                vaToJavaScriptCompiler.java:569)

                [ERROR]     at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScri

                ptCompiler.java:33)

                [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)

                 

                [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)

                 

                [ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)

                 

                [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:232)
                [ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:198)
                [ERROR]     at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
                [ERROR]     at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.

                java:88)

                [ERROR]     at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger

                (CompileTaskRunner.java:82)

                [ERROR]     at com.google.gwt.dev.Compiler.main(Compiler.java:177)

                [ERROR] Caused by: java.lang.RuntimeException: unknown class reference type: org

                .jboss.errai.codegen.meta.impl.java.JavaReflectionGenericArrayType@4683400b

                [ERROR] [INFO]            [ERROR] Error generating marshallers

                at org.jboss.errai.codegen.builder.callstack.LoadClassReference._getClas

                sReference(LoadClassReference.java:116)

                [INFO] java.lang.RuntimeException: error generating method call for: setDataEnum

                Lists([((java.util.Map)((java.util.Map)[Statement:[StackReset] -> [[LoadVariable

                <java_util_Map>][[MethodCall<demarshall([[Statement:[[LoadVariable<obj>][[Method

                Call<get([dataEnumLists])>]null]]], [Statement:[[LoadVariable<a1>]null]]])>]null

                ]]]))])

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadClassReference.

                getClassReference(LoadClassReference.java:92)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.MethodCall.handleCall(Metho

                dCall.java:121)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadClassReference.

                getClassReference(LoadClassReference.java:74)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.AbstractCallElement.nextOrR

                eturn(AbstractCallElement.java:46)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadClassReference.

                getClassReferencesForParameterizedTypes(LoadClassReference.java:172)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadVariable.handleCall(Loa

                dVariable.java:122)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadClassReference.

                _getClassReference(LoadClassReference.java:135)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generat

                e(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadClassReference.

                getClassReference(LoadClassReference.java:92)

                [INFO]  at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:7

                9)

                [ERROR]     at org.jboss.errai.codegen.builder.callstack.LoadClassReference.

                getClassReference(LoadClassReference.java:74)

                [INFO]  at org.jboss.errai.codegen.control.IfBlock.generate(IfBlock.java:65)

                [ERROR]     at org.jboss.errai.codegen.Cast.generate(Cast.java:69)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.ConditionalBlockCallElement

                .handleCall(ConditionalBlockCallElement.java:46)

                [ERROR]     at org.jboss.errai.codegen.Cast.generate(Cast.java:52)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generat

                e(AbstractStatementBuilder.java:63)

                [ERROR]     at org.jboss.errai.codegen.util.GenUtil.generate(GenUtil.java:13

                0)

                [INFO]  at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:7

                9)

                [ERROR]     at org.jboss.errai.codegen.util.GenUtil.generateCallParameters(G

                enUtil.java:76)

                [INFO]  at org.jboss.errai.codegen.control.TryBlock.generate(TryBlock.java:59)

                [INFO]  at org.jboss.errai.codegen.builder.impl.TryBlockBuilderImpl$1.doDeferred

                (TryBlockBuilderImpl.java:54)

                [ERROR]    

                ll(MethodCall.java:60)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.DeferredCallElement.handleC

                all(DeferredCallElement.java:39)

                [ERROR]     ... 67 more

                [INFO]  at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generat

                e(AbstractStatementBuilder.java:63)

                [INFO]  at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:7

                9)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderIm

                pl$2$1.doGenerate(AnonymousClassStructureBuilderImpl.java:109)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderIm

                pl.doGenerate(AnonymousClassStructureBuilderImpl.java:180)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderIm

                pl.access$200(AnonymousClassStructureBuilderImpl.java:43)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderIm

                pl$3.generate(AnonymousClassStructureBuilderImpl.java:148)

                [INFO]  at org.jboss.errai.codegen.builder.impl.ObjectBuilder$2.doDeferred(Objec

                tBuilder.java:174)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.DeferredCallElement.handleC

                all(DeferredCallElement.java:39)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.AbstractCallElement.nextOrR

                eturn(AbstractCallElement.java:46)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.ResetCallElement.handleCall

                (ResetCallElement.java:29)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generat

                e(AbstractStatementBuilder.java:63)

                [INFO]  at org.jboss.errai.codegen.builder.impl.ObjectBuilder.generate(ObjectBui

                lder.java:182)

                [INFO]  at org.jboss.errai.codegen.util.GenUtil.generate(GenUtil.java:130)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.AssignVariable.handleCall(A

                ssignVariable.java:46)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.AbstractCallElement.nextOrR

                eturn(AbstractCallElement.java:46)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadVariable.handleCall(Loa

                dVariable.java:122)

                [INFO]  at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generat

                e(AbstractStatementBuilder.java:63)

                [INFO]  at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:7

                9)

                [INFO]  at org.jboss.errai.codegen.meta.impl.build.BuildMetaConstructor.toJavaSt

                ring(BuildMetaConstructor.java:268)

                [INFO]  at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.membersToStrin

                g(BuildMetaClass.java:685)

                [INFO]  at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.toJavaString(B

                uildMetaClass.java:630)

                [INFO]  at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.toJavaString(B

                uildMetaClass.java:541)

                [INFO]  at org.jboss.errai.codegen.builder.impl.ClassBuilder.toJavaString(ClassB

                uilder.java:495)

                [INFO]  at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory._genera

                te(MarshallerGeneratorFactory.java:237)

                [INFO]  at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.generat

                e(MarshallerGeneratorFactory.java:109)

                [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator._generate(Mar

                shallersGenerator.java:260)

                [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generateMarsh

                allerBootstrapper(MarshallersGenerator.java:238)

                [INFO]  at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(Mars

                hallersGenerator.java:223)

                [INFO]  at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrap

                per.java:48)

                [INFO]  at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(Gen

                eratorExtWrapper.java:60)

                [INFO]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncreme

                ntally(StandardGeneratorContext.java:647)

                [INFO]  at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java

                :41)

                [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(Standar

                dRebindOracle.java:78)

                [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOr

                acle.java:268)

                [INFO]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOr

                acle.java:257)

                [INFO]  at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleReb

                indAnswers(DistillerRebindPermutationOracle.java:91)

                [INFO]  at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesU

                singRebinds(WebModeCompilerFrontEnd.java:96)

                [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.process(

                AbstractCompiler.java:254)

                [INFO]  at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)

                 

                [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(

                AbstractCompiler.java:173)

                [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(

                AbstractCompiler.java:288)

                [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$4

                00(AbstractCompiler.java:139)

                [INFO]  at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java

                :588)

                [INFO]  at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclara

                tions(BasicWebModeCompiler.java:97)

                [INFO]  at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDecl

                arations(WebModeCompilerFrontEnd.java:52)

                [INFO]  at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJava

                ScriptCompiler.java:569)

                [INFO]  at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompil

                er.java:33)

                [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)

                [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)

                [INFO]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)

                [INFO]  at com.google.gwt.dev.Compiler.run(Compiler.java:232)

                [INFO]  at com.google.gwt.dev.Compiler.run(Compiler.java:198)

                [INFO]  at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)

                [INFO]  at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)

                 

                [INFO]  at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(Compile

                TaskRunner.java:82)

                [INFO]  at com.google.gwt.dev.Compiler.main(Compiler.java:177)

                [INFO] Caused by: java.lang.RuntimeException: unknown class reference type: org.

                jboss.errai.codegen.meta.impl.java.JavaReflectionGenericArrayType@4683400b

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference._getClas

                sReference(LoadClassReference.java:116)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference.getClass

                Reference(LoadClassReference.java:92)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference.getClass

                Reference(LoadClassReference.java:74)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference.getClass

                ReferencesForParameterizedTypes(LoadClassReference.java:172)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference._getClas

                sReference(LoadClassReference.java:135)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference.getClass

                Reference(LoadClassReference.java:92)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.LoadClassReference.getClass

                Reference(LoadClassReference.java:74)

                [INFO]  at org.jboss.errai.codegen.Cast.generate(Cast.java:69)

                [INFO]  at org.jboss.errai.codegen.Cast.generate(Cast.java:52)

                [INFO]  at org.jboss.errai.codegen.util.GenUtil.generate(GenUtil.java:130)

                [INFO]  at org.jboss.errai.codegen.util.GenUtil.generateCallParameters(GenUtil.j

                ava:76)

                [INFO]  at org.jboss.errai.codegen.builder.callstack.MethodCall.handleCall(Metho

                dCall.java:60)

                [INFO]  ... 67 more


                 

                 

                I guess marshalling with Map is not supported yet?

                 

                Thanks,

                Jervis

                • 5. Re: Marshalling with interfaces
                  csa

                  Hi Jervis,

                   

                  Marshalling maps is supported but you ran into a new problem: the value type of the map being an array. This is fixed now too and new snapshots will go out in the next hour or so.

                   

                  BTW, is there a reason you prefer using arrays over lists?

                   

                  Cheers,

                  Christian