[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3105) JBSEAM-979 (changesets 8237 and 8251) brought serious regression to pageflows declaration processing
Pete Muir (JIRA)
jira-events at lists.jboss.org
Mon Jun 23 07:42:40 EDT 2008
[ http://jira.jboss.com/jira/browse/JBSEAM-3105?page=comments#action_12418443 ]
Pete Muir commented on JBSEAM-3105:
-----------------------------------
Thanks for catching this :)
> JBSEAM-979 (changesets 8237 and 8251) brought serious regression to pageflows declaration processing
> ----------------------------------------------------------------------------------------------------
>
> Key: JBSEAM-3105
> URL: http://jira.jboss.com/jira/browse/JBSEAM-3105
> Project: Seam
> Issue Type: Sub-task
> Components: BPM
> Environment: 2.1.0-SNAPSHOT from 2008-06-12, JDK6
> Reporter: Przemyslaw Jaskierski
> Priority: Blocker
>
> Pete, your two commits (changesets 8237 and 8251) apparently brought serious regression to pageflows declaration processing.
> This issue was not present in 2.1.0-SNAPSHOT from 2008-04-12.
> JBPM support is somewhat nasty, so subprocesses' jpdl need to be declared/processed before uber-process which use them in <sub-process name="xyz">.
> Your changes brought regression here, because now there is NO WAY to assure that these subprocesses are processed before uber-process (ok, maybe this code was broken before, but it worked :) .
> Why?
> Because there is no guarantee that order of jpdls declaration from <bpm:pageflow-definitions> is preserved.
> In http://fisheye.jboss.org/browse/Seam/trunk/src/main/org/jboss/seam/bpm/Jbpm.java?r=8237 we can see that there is an iteration over a Set when processing pageflow files. This should be iteration over indexed collection, i.e. List filled with pageflow file names in the order of their apperance in components.xml.
> Before these two commits, something like this behaved properly:
> <bpm:pageflow-definitions>
> <value>pageflows/user/registerUserSubProcess.jpdl.xml</value>
> <value>pageflows/ordering/orderPreparingWizard.jpdl.xml</value>
> </bpm:pageflow-definitions>
> Now, they are processed in the reversed (random) order, spitting:
> * 2008-06-12 21:41:40,164 [main]
> ERROR JpdlXmlReader.readProcessDefinition():167
> couldn't parse process definition
> java.lang.NullPointerException
> at org.jbpm.graph.node.DbSubProcessResolver.findSubProcess(DbSubProcessResolver.java:43)
> at org.jboss.seam.bpm.Jbpm$SeamSubProcessResolver.findSubProcess(Jbpm.java:348)
> at org.jbpm.graph.node.ProcessState.read(ProcessState.java:108)
> at org.jbpm.jpdl.xml.JpdlXmlReader.readNodes(JpdlXmlReader.java:260)
> at org.jboss.seam.bpm.PageflowParser.readNodes(PageflowParser.java:41)
> at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:156)
> at org.jboss.seam.bpm.Jbpm.parseInputSource(Jbpm.java:333)
> at org.jboss.seam.bpm.Jbpm.getPageflowDefinitionFromResource(Jbpm.java:163)
> at org.jboss.seam.bpm.Jbpm.installPageflowDefinitions(Jbpm.java:252)
> at org.jboss.seam.bpm.Jbpm.startup(Jbpm.java:79)
> 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:597)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
> at org.jboss.seam.Component.callComponentMethod(Component.java:2195)
> at org.jboss.seam.Component.callCreateMethod(Component.java:2118)
> at org.jboss.seam.Component.newInstance(Component.java:2078)
> at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
> at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
> at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:95)
> at org.jboss.seam.init.Initialization.init(Initialization.java:630)
> at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
> 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:597)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Jun 12, 2008 9:41:40 PM org.apache.catalina.core.StandardContext listenerStart
> SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
> org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.bpm.jbpm
> at org.jboss.seam.Component.newInstance(Component.java:2090)
> at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
> at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
> at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:95)
> at org.jboss.seam.init.Initialization.init(Initialization.java:630)
> at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
> 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:597)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Caused by: org.jbpm.jpdl.JpdlException: [[ERROR] Unable to parse process definition pageflows/ordering/orderPreparingWizard.jpdl.xml]
> at org.jboss.seam.bpm.Jbpm.getPageflowDefinitionFromResource(Jbpm.java:167)
> at org.jboss.seam.bpm.Jbpm.installPageflowDefinitions(Jbpm.java:252)
> at org.jboss.seam.bpm.Jbpm.startup(Jbpm.java:79)
> 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:597)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
> at org.jboss.seam.Component.callComponentMethod(Component.java:2195)
> at org.jboss.seam.Component.callCreateMethod(Component.java:2118)
> at org.jboss.seam.Component.newInstance(Component.java:2078)
> ... 20 more
> Jun 12, 2008 9:41:40 PM org.apache.catalina.core.StandardContext start
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list