[ http://issues.apache.org/jira/browse/BEEHIVE-460?page=all ] Julie Zhuo closed BEEHIVE-460: ------------------------------
Verified fixed at rev170022. > CCE when hitting an action that implements an abstract action that uses > generics > -------------------------------------------------------------------------------- > > Key: BEEHIVE-460 > URL: http://issues.apache.org/jira/browse/BEEHIVE-460 > Project: Beehive > Type: Bug > Components: NetUI > Versions: V1Beta, V1 > Reporter: Rich Feit > Assignee: Julie Zhuo > Fix For: V1 > > Repro: > Create the following two page flow classes, where MyForm is any class that > extends BaseForm (some other class): > /base/Base.jpf > --- > public abstract class ReproController<T extends BaseForm> > extends PageFlowController > { > @Jpf.Action > public abstract Forward someAction(T form); > } > /derived/Derived.jpf: > --- > @Jpf.Controller() > public class Derived > extends Base<MyForm> > { > ... > @Jpf.Action( > forwards={ > @Jpf.Forward(name = "success", path="index.jsp") > } > ) > public Forward someAction(MyForm form) > { > return new Forward("success"); > } > } > If you hit /derived/Derived.jpf, you get the following exception: > java.lang.ClassCastException: base.BaseForm > at > repro.subclass.SubclassController.getResources(SubclassController.java:11) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:811) > at > org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:750) > at > org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:433) > at > org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:249) > at > org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:315) > at > org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:48) > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:108) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:1973) > at > org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:63) > at > org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:86) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2035) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:593) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:854) > at > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:602) > at > org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:155) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira