[jbossseam-issues] [JBoss JIRA] Resolved: (JBSEAM-3105) JBSEAM-979 (changesets 8237 and 8251) brought serious regression to pageflows declaration processing

Przemyslaw Jaskierski (JIRA) jira-events at lists.jboss.org
Thu Jun 12 18:42:44 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBSEAM-3105?page=all ]

Przemyslaw Jaskierski resolved JBSEAM-3105.
-------------------------------------------

    Resolution: Duplicate Issue

> 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