[JBoss JIRA] Created: (JBPM-1093) Allow more than one action to be executed when entering a page node
by Matthew Lieder (JIRA)
Allow more than one action to be executed when entering a page node
-------------------------------------------------------------------
Key: JBPM-1093
URL: http://jira.jboss.com/jira/browse/JBPM-1093
Project: JBoss jBPM
Issue Type: Feature Request
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Reporter: Matthew Lieder
Assigned To: Tom Baeyens
Only the first <action> is executed when multiple actions are children of <page> and <start-page> elements in a jPDL pageflow. It would be greatly appreciated if the logic could be changed so that all <action> elements are executed (like they are when children of <transition> elements).
Example:
<page name="page1" view-id="/page1.xhtml">
<action expression="#{someMethodThatIsExecuted} />
<action expression="#{someMethodThatIsNotExecuted} />
<transition name="save" to="terminate">
<action expression="#{someMethodThatIsExecuted} />
<action expression="#{someMethodThatIsExecuted} />
</transition>
</page>
--
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
15 years, 11 months
[JBoss JIRA] Created: (JBPM-1115) Broken datamodel when a detached ProcInst is saved
by Britt Miner (JIRA)
Broken datamodel when a detached ProcInst is saved
--------------------------------------------------
Key: JBPM-1115
URL: http://jira.jboss.com/jira/browse/JBPM-1115
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2
Reporter: Britt Miner
Assigned To: Tom Baeyens
I've noticed (accidentally of course, -ahem-) that if you attempt to call jbpmContext.save(processInstance) on a pi that was loaded outside of the current session, Hibernate will save a new pi with a new Id--however it will reference the same rootToken, etc. as the original pi, and all kinds of unexpected behavior quietly ensues.
Of course, loading a fresh copy of the pi immediately before you do anything with it avoids the problem; however, a lot of serious data integrity hangs on remembering to do that every time. (for instance, when a pi being viewed in a UI is injected into an action component, the programmer must remember to load up a fresh copy before working on it.)
Since failing to re-load a detached pi can result in what seems to be a broken jBPM data model, jBPM should probably be doing something itself to avoid the problem.
I think there are possibly two ways to prevent this from happening:
1) Simply changing the HibernateSaveOperation.save(processInstance) method to saveOrUpdate() seems to perform cleanly.
2) Do a check on the pi, and throw an error if it doesn't belong to the current hibernate session.
--
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
16 years, 1 month
[JBoss JIRA] Created: (JBPM-1112) <mail> action not allowed in <timer>
by Tong Zheng (JIRA)
<mail> action not allowed in <timer>
------------------------------------
Key: JBPM-1112
URL: http://jira.jboss.com/jira/browse/JBPM-1112
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Environment: JDK 1.5, jPDL 3.2.2
Reporter: Tong Zheng
Assigned To: Tom Baeyens
It's mentioned in the doc that "Anywhere you are allowed to specify actions in the process, you can specify a mail action". But mail action doesn't work inside timer.
sample code:
<state name="resolve-issue">
<event type="node-enter">
<mail name="notification"
to="user1@localhost"
template="notification">
</mail>
</event>
<timer name="timer-reminder-1" duedate="5 seconds">
<mail name="reminder-1"
to="user1@localhost"
template="reminder">
</mail>
</timer>
<transition to="end"></transition>
</state>
Got exception while deploying the definition:
org.jbpm.jpdl.JpdlException: [[ERROR] line 20: cvc-complex-type.2.4.a: Invalid content was found starting with element 'mail'. One of '{"urn:jbpm.org:jpdl-3.2":action, "urn:jbpm.org:jpdl-3.2":script}' is expected.]
at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:172)
at org.jbpm.graph.def.ProcessDefinition.parseXmlInputStream(ProcessDefinition.java:180)
at org.jbpm.graph.def.ProcessDefinition.parseXmlResource(ProcessDefinition.java:161)
at org.albertahealth.waitlist.workflow.app.DeployProcess.deployProcessFromXml(DeployProcess.java:61)
at com.albertahealth.waitlist.workflow.app.DeployEWProcessTest.testDeployProcessDefinition(DeployEWProcessTest.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
--
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
16 years, 6 months
[JBoss JIRA] Created: (JBPM-1085) Join of new process instance fails in Oracle
by Tom Baeyens (JIRA)
Join of new process instance fails in Oracle
--------------------------------------------
Key: JBPM-1085
URL: http://jira.jboss.com/jira/browse/JBPM-1085
Project: JBoss jBPM
Issue Type: Bug
Affects Versions: jBPM jPDL 3.2.2
Reporter: Tom Baeyens
Assigned To: Tom Baeyens
Fix For: jBPM jPDL 3.2.3, jBPM 3.2.2 SOA 1
If in one transaction you create a new process instance and reach a join, you'll get a invalid StaleObjectStateException. The cause is that in case of oracle, hibernate will not insert the record in the database before the forced version increment in the join will be executed. That results in 0 rows updated and hence a StaleStateObjectException.
The fix applied is that we added a flush before the forced version update in the join
--
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
16 years, 9 months