2 Replies Latest reply on Aug 30, 2012 12:39 PM by jaredo

    ErraiApp.properties listed serialized and mapped types not working

    jaredo

      We are using 2.1.0-SNAPSHOT. We had a piece of functionality with types being listed in the ErraiApp.properties file that was working about a week ago, and after updating SNAPSHOT to current the marshalling functionality that once worked no longer does.

       

      Here is the scenario:

      I have 2 types listed in ErraiApp.properties and 2 corresponding mappings.

      ErraiApp.properties snippet:

       

      errai.marshalling.serializableTypes=com.sencha.gxt.data.shared.loader.PagingLoadConfigBean \
      com.sencha.gxt.data.shared.loader.PagingLoadResultBean
      
      
      errai.marshalling.mappingAliases=com.sencha.gxt.data.shared.loader.PagingLoadConfig->com.sencha.gxt.data.shared.loader.PagingLoadConfigBean \
      com.sencha.gxt.data.shared.loader.PagingLoadResult->com.sencha.gxt.data.shared.loader.PagingLoadResultBean
      

       

      During startup the EnvUtil maps the classes as serializable types (into exposedClasses line 166) and the mappings (into mappingAliases, line 201) correctly. (This had been an issue that was recently fixed where it would only pick up one of the ErraiApp configuration types).

       

      But, when I execute an Rpc call (Referenced in the application code as Caller<MyService> ) that takes one of the types as a paramater and returns the other type, I end up getting the following stack trace when the request goes out:

       

      no marshalling definition available for type:com.sencha.gxt.data.shared.loader.PagingLoadConfigBean -- Additional Details: 
      java.lang.RuntimeException: no marshalling definition available for type:com.sencha.gxt.data.shared.loader.PagingLoadConfigBean
      org.jboss.errai.marshalling.client.util.MarshallUtil.getMarshaller(MarshallUtil.java:126)
        org.jboss.errai.marshalling.client.util.EncDecUtil.arrayMarshall(EncDecUtil.java:50)
        org.jboss.errai.marshalling.client.marshallers.AbstractCollectionMarshaller.doMarshall(AbstractCollectionMarshaller.java:36)
        org.jboss.errai.marshalling.client.marshallers.AbstractCollectionMarshaller.doMarshall(AbstractCollectionMarshaller.java:1)
        org.jboss.errai.marshalling.client.marshallers.AbstractBackReferencingMarshaller.marshall(AbstractBackReferencingMarshaller.java:55)
        org.jboss.errai.marshalling.client.marshallers.AbstractBackReferencingMarshaller.marshall(AbstractBackReferencingMarshaller.java:36)
        org.jboss.errai.marshalling.client.marshallers.ErraiProtocolEnvelopeMarshaller.marshall(ErraiProtocolEnvelopeMarshaller.java:99)
        org.jboss.errai.marshalling.client.protocols.ErraiProtocol.encodePayload(ErraiProtocol.java:40)
        org.jboss.errai.bus.client.util.BusTools.encodeMessage(BusTools.java:55)
        org.jboss.errai.bus.client.framework.ClientMessageBusImpl.encodeAndTransmit(ClientMessageBusImpl.java:516)
        org.jboss.errai.bus.client.framework.ClientMessageBusImpl.access$1(ClientMessageBusImpl.java:501)
        org.jboss.errai.bus.client.framework.ClientMessageBusImpl$RemoteMessageCallback.callback(ClientMessageBusImpl.java:750)
        org.jboss.errai.bus.client.framework.ClientMessageBusImpl.directStore(ClientMessageBusImpl.java:477)
        org.jboss.errai.bus.client.framework.ClientMessageBusImpl.send(ClientMessageBusImpl.java:446)
        org.jboss.errai.bus.client.api.base.CommandMessage.sendNowWith(CommandMessage.java:328)
        org.jboss.errai.bus.client.api.builder.DefaultRemoteCallBuilder$1.sendNowWith(DefaultRemoteCallBuilder.java:134)
        org.jboss.errai.bus.client.framework.RpcProxyLoaderImpl$1FakeServiceImpl.getPersons(RpcProxyLoaderImpl.java:83)
        com.primetherapeutics.ui.client.uimetaphor.PersonSearchView$RpcProxyExtension.load(PersonSearchView.java:55)
        com.primetherapeutics.ui.client.uimetaphor.PersonSearchView$RpcProxyExtension.load(PersonSearchView.java:1)
        com.sencha.gxt.data.client.loader.RpcProxy.load(RpcProxy.java:32)
        com.sencha.gxt.data.shared.loader.Loader.loadData(Loader.java:235)
        com.sencha.gxt.data.shared.loader.Loader.load(Loader.java:183)
        com.sencha.gxt.data.shared.loader.Loader.load(Loader.java:168)
        com.primetherapeutics.ui.client.grid.GridBuilder$1$1.execute(GridBuilder.java:43)
        com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
        com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:228)
        com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:388)
        com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78)
        com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:138)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
        com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337)
        com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218)
        com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
        com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
        com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
        com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
        com.google.gwt.core.client.impl.Impl.apply(Impl.java)
        com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)
        sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
        com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292)
        com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546)
        com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
        java.lang.Thread.run(Thread.java:722)
      
      

       

      Does anyone recognize this to be a regression from some recent changes or restructuring to how the Marshalling is working for mapped types?

       


      Thannks!

      Jared