Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.25
-
Fix Version/s: 1.27
-
Component/s: None
-
Labels:None
-
Number of attachments :0
Description
Here is the code snippet for which exception appears:
package com.person; @XmlRootElement public class Person { private PersonAddress personAddress; public Person() { } @XmlJavaTypeAdapter(PersonAddressAdapter.class) public PersonAddress getPersonAddress() { return personAddress; } public void setPersonAddress(PersonAddress personAddress) { this.personAddress = personAddress; } }
package com.person; @XmlRootElement public class PersonAddress { private String address; public PersonAddress() { } public PersonAddress(String address) { this.address = address; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
package com.person; public class PersonAddressAdapter extends XmlAdapter<String, PersonAddress> { @Override public PersonAddress unmarshal(String address) throws Exception { return new PersonAddress(address); } @Override public String marshal(PersonAddress personAddress) throws Exception { return personAddress.getAddress(); } }
In Maven the following plugins are added :
<build> <plugins> <plugin> <groupId>org.codehaus.enunciate</groupId> <artifactId>maven-enunciate-spring-plugin</artifactId> <version>1.25</version> <executions> <execution> <goals> <goal>assemble</goal> </goals> </execution> <execution> <id>install-and-deploy-as3</id> <goals> <goal>install-artifact</goal> <goal>deploy-artifact</goal> </goals> <configuration> <enunciateArtifactId>as3.client.sources</enunciateArtifactId> <artifactId>jingit-as3-client</artifactId> <classifier>sources</classifier> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.enunciate</groupId> <artifactId>enunciate-amf</artifactId> <version>1.25</version> </dependency> </dependencies> </plugin> </plugins> </build>
When call service to get Person information from Flash ClassCastException appears in AdaptingAmfMapper.toAmf() method with message:
Cannot cast com.person.amf.PersonAddress to com.person.PersonAddress
For the class PersonAddress during enunciate phase the PersonAddressAmfMapper is created. And when Person object is converted into AMF for it's property personAddress this mapper is applied though PersonAddressAdapter exists.
Activity
Here is the stack trace that we got in the project :
13:32:35.901 ERROR 6a5d1fcc-3610-4563-9cb1-83544ddc75a2_951,127.0.0.1,951 http-8443-exec-2 BasicLoggingFilter Uncaught exception occured org.codehaus.enunciate.modules.amf.AMFMappingException: Unable to set property state for the amf bean com.project.api.domain.amf.Response at org.codehaus.enunciate.modules.amf.BaseAMFMapper.toAMF(BaseAMFMapper.java:157) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.EnunciateAMFDataWriter.writeTo(EnunciateAMFDataWriter.java:32) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.JAXRSProvider.writeTo(JAXRSProvider.java:45) ~[enunciate-amf-rt-1.25.jar:na] at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306) ~[jersey-server-1.13.jar:1.13] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1448) ~[jersey-server-1.13.jar:1.13] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360) ~[jersey-server-1.13.jar:1.13] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350) ~[jersey-server-1.13.jar:1.13] at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) ~[jersey-servlet-1.13.jar:1.13] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) ~[jersey-servlet-1.13.jar:1.13] at org.codehaus.enunciate.modules.jersey.EnunciateJerseyServletContainer.service(EnunciateJerseyServletContainer.java:248) ~[enunciate-jersey-rt-1.25.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) ~[servlet-api.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) ~[urlrewritefilter-3.2.0.jar:3.2.0] at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) ~[urlrewritefilter-3.2.0.jar:3.2.0] at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) ~[urlrewritefilter-3.2.0.jar:3.2.0] at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) ~[urlrewritefilter-3.2.0.jar:3.2.0] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at net.sevenventures.shard.ShardingCleanFilter.doFilter(ShardingCleanFilter.java:29) ~[project-commons-utils-0.9.0-SNAPSHOT.jar:local-build] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at com.project.servlet.filter.AccountLoggingFilter.doFilter(AccountLoggingFilter.java:37) ~[AccountLoggingFilter.class:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:114) ~[spring-security-oauth2-1.0.0.M6d.jar:na] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173) ~[spring-security-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at com.project.commons.servlet.filter.HttpErrorFilter.doFilter(HttpErrorFilter.java:23) ~[project-commons-servlet-0.9.0-SNAPSHOT.jar:local-build] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at org.codehaus.enunciate.webapp.HTTPRequestContextFilter.doFilter(HTTPRequestContextFilter.java:36) ~[enunciate-core-rt-1.25.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at com.project.commons.servlet.filter.RequestLimitFilter.doFilter(RequestLimitFilter.java:39) ~[project-commons-servlet-0.9.0-SNAPSHOT.jar:local-build] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at com.project.commons.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:56) ~[project-commons-logging-0.9.0-SNAPSHOT.jar:local-build] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:6.0.29] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:6.0.29] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:6.0.29] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:6.0.29] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:6.0.29] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) [catalina.jar:6.0.29] at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:886) [tomcat-coyote.jar:6.0.29] at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721) [tomcat-coyote.jar:6.0.29] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2256) [tomcat-coyote.jar:6.0.29] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_33] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_33] at java.lang.Thread.run(Unknown Source) [na:1.6.0_33] Caused by: org.codehaus.enunciate.modules.amf.AMFMappingException: org.codehaus.enunciate.modules.amf.AMFMappingException: Unable to set property stateEntries for the amf bean com.project.api.domain.amf.State at org.codehaus.enunciate.modules.amf.AdaptingAMFMapper.toAMF(AdaptingAMFMapper.java:47) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.BaseAMFMapper.toAMF(BaseAMFMapper.java:154) ~[enunciate-amf-rt-1.25.jar:na] ... 89 common frames omitted Caused by: org.codehaus.enunciate.modules.amf.AMFMappingException: Unable to set property stateEntries for the amf bean com.project.api.domain.amf.State at org.codehaus.enunciate.modules.amf.BaseAMFMapper.toAMF(BaseAMFMapper.java:157) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.AdaptingAMFMapper.toAMF(AdaptingAMFMapper.java:44) ~[enunciate-amf-rt-1.25.jar:na] ... 90 common frames omitted Caused by: org.codehaus.enunciate.modules.amf.AMFMappingException: Unable to instantiate class 'com.project.api.domain.amf.StateEntryAMFMapper'. at org.codehaus.enunciate.modules.amf.AMFMapperIntrospector.getAMFMapper(AMFMapperIntrospector.java:183) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.CollectionAMFMapper.toAMF(CollectionAMFMapper.java:49) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.CollectionAMFMapper.toAMF(CollectionAMFMapper.java:28) ~[enunciate-amf-rt-1.25.jar:na] at org.codehaus.enunciate.modules.amf.BaseAMFMapper.toAMF(BaseAMFMapper.java:154) ~[enunciate-amf-rt-1.25.jar:na] ... 91 common frames omitted Caused by: java.lang.InstantiationException: null at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.6.0_33] at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[na:1.6.0_33] at java.lang.Class.newInstance0(Unknown Source) ~[na:1.6.0_33] at java.lang.Class.newInstance(Unknown Source) ~[na:1.6.0_33] at org.codehaus.enunciate.modules.amf.AMFMapperIntrospector.getAMFMapper(AMFMapperIntrospector.java:174) ~[enunciate-amf-rt-1.25.jar:na] ... 94 common frames omitted
AMFMappingException wraps the ClassCastException for the State class (com.project.api.domain.amf.State cannot be casted to com.project.api.domain.State) when some data is sent from / to service.
The classes look like the following :
@XmlRootElement public class Response { private State state; @XmlJavaTypeAdapter(StateAdapter.class) public State getState() {return state;} public void setState(State state) {this.state = state;} }
@XmlRootElement
public class State {
...
}
Exception is not reproduced if @XmlRootElement annotation is removed from State class.
Still need some context.
Can you provide more about what the "State" class looks like? And also the "StateEntry" class?
If you can, will you include the source code for the StateEntryAMFMapper.java file that Enunciate generates?
package com.project; import com.project.StateAdapter; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.util.List; @XmlRootElement public class Response { private State state; @XmlJavaTypeAdapter(StateAdapter.class) public State getState() { return state; } public void setState(State state) { this.state = state; } }
package com.project; import javax.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; @XmlRootElement public class State { private List<StateEntry> stateEntries = new ArrayList<StateEntry>(); public List<StateEntry> getStateEntries() { return stateEntries; } public void setStateEntries(List<StateEntry> stateEntries) { this.stateEntries = stateEntries; } }
package com.project; @XmlRootElement public class StateEntry { private long timestamp; private String value; public long getTimestamp() { return timestamp; } public void setTimestamp(long timestamp) { this.timestamp = timestamp; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } }
package com.project; import com.project.State; import javax.xml.bind.annotation.adapters.XmlAdapter; public class StateAdapter extends XmlAdapter<String, State> { @Override public State unmarshal(String s) throws Exception { return new State(); } @Override public String marshal(State state) throws Exception { return "undefined"; } }
// Generated by Enunciate package com.project.amf; import org.codehaus.enunciate.modules.amf.*; /** * Mapper from com.project.Response to com.project.amf.Response and vice-versa. * * @author Ryan Heaton */ public class ResponseAMFMapper extends BaseAMFMapper implements AMFMapper { public ResponseAMFMapper() { super(com.project.Response.class, com.project.amf.Response.class, "state"); } protected ResponseAMFMapper(Class<? extends com.project.Response> jaxbClass, Class<? extends com.project.amf.Response> amfClass, String... properties) { super(jaxbClass, amfClass, BaseAMFMapper.append(properties, "state")); } }
// Generated by Enunciate package com.project.amf; import org.codehaus.enunciate.modules.amf.*; /** * Mapper from com.project.State to com.project.amf.State and vice-versa. * * @author Ryan Heaton */ public class StateAMFMapper extends BaseAMFMapper implements AMFMapper { public StateAMFMapper() { super(com.project.State.class, com.project.amf.State.class, "stateEntries"); } protected StateAMFMapper(Class<? extends com.project.State> jaxbClass, Class<? extends com.project.amf.State> amfClass, String... properties) { super(jaxbClass, amfClass, BaseAMFMapper.append(properties, "stateEntries")); } }
// Generated by Enunciate package com.project.amf; import org.codehaus.enunciate.modules.amf.*; /** * Mapper from com.project.StateEntry to com.project.amf.StateEntry and vice-versa. * * @author Ryan Heaton */ public abstract class StateEntryAMFMapper extends BaseAMFMapper implements AMFMapper { public StateEntryAMFMapper() { super(com.project.StateEntry.class, com.project.amf.StateEntry.class, "timestamp", "value"); } protected StateEntryAMFMapper(Class<? extends com.project.StateEntry> jaxbClass, Class<? extends com.project.amf.StateEntry> amfClass, String... properties) { super(jaxbClass, amfClass, BaseAMFMapper.append(properties, "timestamp", "value")); } }
During debug I found that exception happens in AdaptingAMFMapper class in toAMF() method for class with adapter. As the plugin generates StateAMFMapper for class State, the adaptedMapper converts com.project.State to com.project.amf.State and ClassCastException is thrown in adapter, which expects the com.project.State class instance - but gets com.project.amf.State class instance.
So you keep mentioning this ClassCastException, but I don't see it anywhere in the stack trace. I'm seeing the InstantiationException.
Can you attach the stack trace for the ClassCastException?
I'm afraid I'm going to need the stack trace so I can see the logic path.