[jboss-svn-commits] JBL Code SVN: r35521 - in labs/jbossrules/branches/diega_esteban_jpm_integration_r34940: drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 14 09:26:01 EDT 2010
Author: lucazamador
Date: 2010-10-14 09:26:01 -0400 (Thu, 14 Oct 2010)
New Revision: 35521
Added:
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/EventType.java
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/java/org/drools/persistence/session/ProcessSignalManagerTest.java
Modified:
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-core/META-INF/MANIFEST.MF
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/orm.xml
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/persistence.xml
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/resources/META-INF/orm.xml
Log:
JPM-22: ProcessInstancesWaitingForEvent query fixed
Modified: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-core/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-core/META-INF/MANIFEST.MF 2010-10-14 11:49:32 UTC (rev 35520)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-core/META-INF/MANIFEST.MF 2010-10-14 13:26:01 UTC (rev 35521)
@@ -1,145 +1,144 @@
Manifest-Version: 1.0
-Export-Package: org.drools.process.core.timer;version="5.2.0.SNAPSHOT"
- ,org.drools.process.core.context.variable;uses:="org.drools.process.c
- ore.datatype.impl.type,org.drools.process.core.datatype,org.drools.pr
- ocess.core,org.drools.process.core.context";version="5.2.0.SNAPSHOT",
- org.drools.process.instance.context.swimlane;uses:="org.drools.proces
- s.core.context.swimlane,org.drools.process.instance.context,org.drool
- s.process.core";version="5.2.0.SNAPSHOT",org.drools.process.core.impl
- ;uses:="org.drools.process.core,org.drools.process.core.datatype,org.
- drools.process.core.context";version="5.2.0.SNAPSHOT",org.drools.proc
- ess.instance.impl;uses:="org.drools.workflow.instance.node,org.drools
- .workflow.core,org.drools.process.instance,org.drools.process.core,or
- g.drools.process.core.context.variable,org.drools.process.core.contex
- t.exception,org.drools.process.instance.context.swimlane,org.drools.p
- rocess.core.context.swimlane,org.drools.process.instance.impl.factory
- ,org.drools.process.instance.context.variable,org.drools.process.inst
- ance.context.exception,org.mvel2.integration,org.mvel2.integration.im
- pl,org.mvel2,org.mvel2.compiler,org.drools.workflow.instance";version
- ="5.2.0.SNAPSHOT",org.drools.process.core.validation.impl;uses:="org.
- drools.process.core.validation";version="5.2.0.SNAPSHOT",org.drools.p
- rocess.instance.timer;uses:="org.drools.process.instance.event,org.dr
- ools.process.instance";version="5.2.0.SNAPSHOT",org.drools.process.co
- re.validation;version="5.2.0.SNAPSHOT",org.drools.process.core.dataty
- pe;version="5.2.0.SNAPSHOT",org.drools.process.instance.impl.humantas
- k;uses:="javax.swing,javax.swing.event,javax.swing.border";version="5
- .2.0.SNAPSHOT",org.drools.process.core.datatype.impl;uses:="org.drool
- s.process.core.datatype";version="5.2.0.SNAPSHOT",org.drools.process.
- instance.context;uses:="org.drools.process.instance,org.drools.proces
- s.core";version="5.2.0.SNAPSHOT",org.drools.process.core;uses:="org.d
- rools.process.core.datatype";version="5.2.0.SNAPSHOT",org.drools.proc
- ess.core.context.exception;uses:="org.drools.workflow.core,org.drools
- .process.core.context,org.drools.process.core";version="5.2.0.SNAPSHO
- T",org.drools.process.core.datatype.impl.type;uses:="org.drools.proce
- ss.core.datatype,org.drools.process.core,com.thoughtworks.xstream";ve
- rsion="5.2.0.SNAPSHOT",org.drools.process.core.context.swimlane;uses:
- ="org.drools.process.core.context,org.drools.process.core";version="5
- .2.0.SNAPSHOT",org.drools.process;uses:="org.drools.process.instance.
- impl,org.drools.process.instance";version="5.2.0.SNAPSHOT",org.drools
- .process.core.event;version="5.2.0.SNAPSHOT",org.drools.process.insta
- nce.event;uses:="org.drools.process.instance,org.drools.marshalling.i
- mpl";version="5.2.0.SNAPSHOT",org.drools.process.core.context;uses:="
- org.drools.process.core";version="5.2.0.SNAPSHOT",org.drools.process.
- instance.impl.demo;uses:="org.drools.process.instance,javax.swing,jav
- ax.swing.event";version="5.2.0.SNAPSHOT",org.drools.process.instance.
- context.exclusive;uses:="org.drools.process.instance.context";version
- ="5.2.0.SNAPSHOT",org.drools.process.instance;uses:="org.drools.proce
- ss.core.context.variable,org.drools.process.instance.context.variable
- ,org.drools.process.core,org.drools.process.instance.event,org.drools
- .process.instance.timer,org.drools.ruleflow.core,org.drools.ruleflow.
- instance,org.drools.process.core.event,org.drools.workflow.core.node"
- ;version="5.2.0.SNAPSHOT",org.drools.process.instance.impl.factory;us
- es:="org.drools.process.instance,org.drools.process.instance.impl,org
- .drools.process.instance.context,org.drools.process.core";version="5.
- 2.0.SNAPSHOT",org.drools.process.instance.context.variable;uses:="org
- .drools.process.core.context.variable,org.drools.process.instance,org
- .drools.process.instance.context,org.drools.process.core";version="5.
- 2.0.SNAPSHOT",org.drools.process.core.context.exclusive;uses:="org.dr
- ools.process.core.context,org.drools.process.core";version="5.2.0.SNA
- PSHOT",org.drools.process.instance.context.exception;uses:="org.drool
- s.process.core.context.exception,org.drools.process.instance,org.droo
- ls.workflow.instance,org.drools.process.instance.impl,org.drools.work
- flow.core,org.drools.process.instance.context,org.drools.process.core
- ";version="5.2.0.SNAPSHOT",org.drools.workflow.instance.node;uses:="o
- rg.drools.workflow.instance.impl,org.drools.workflow.core.node,org.dr
- ools.workflow.instance,org.drools.process.instance.impl,org.drools.wo
- rkflow.core,org.drools.process.instance,org.drools.process.core,org.d
- rools.process.instance.context.variable,org.drools.process.core.event
- ,org.drools.process.instance.context.exception,org.mvel2.integration,
- org.mvel2,org.drools.process.instance.context.swimlane,org.drools.pro
- cess.instance.context.exclusive,org.drools.process.core.timer,org.dro
- ols.process.instance.timer";version="5.2.0.SNAPSHOT",org.drools.workf
- low.instance.context;uses:="org.drools.process.instance,org.drools.wo
- rkflow.instance,org.drools.process.instance.impl,org.drools.process.i
- nstance.context,org.drools.process.core";version="5.2.0.SNAPSHOT",org
- .drools.workflow.core;uses:="org.drools.process.core";version="5.2.0.
- SNAPSHOT",org.drools.workflow.core.impl;uses:="org.drools.workflow.co
- re,org.drools.process.core,org.drools.workflow.core.node,org.drools.p
- rocess.core.impl";version="5.2.0.SNAPSHOT",org.drools.workflow.instan
- ce;uses:="org.drools.process.instance,org.drools.workflow.instance.im
- pl,org.drools.workflow.core.impl";version="5.2.0.SNAPSHOT",org.drools
- .workflow.instance.impl;uses:="org.drools.process.instance.impl,org.d
- rools.workflow.core,org.drools.workflow.core.impl,org.drools.process.
- instance,org.drools.workflow.instance,org.drools.process.instance.con
- text.exception,org.drools.workflow.instance.node,org.drools.workflow.
- instance.impl.factory,org.drools.workflow.core.node,org.drools.proces
- s.core.context.variable,org.drools.process.instance.context.exclusive
- ,org.drools.process.instance.context.variable,org.drools.process.core
- ,org.mvel2.integration.impl,org.mvel2.integration,org.drools.process.
- instance.event";version="5.2.0.SNAPSHOT",org.drools.workflow.core.nod
- e;uses:="org.drools.workflow.core,org.drools.workflow.core.impl,org.d
- rools.process.core.context,org.drools.process.core.impl,org.drools.pr
- ocess.core,org.drools.process.core.event,org.drools.process.core.cont
- ext.variable,org.drools.process.core.datatype,org.drools.process.core
- .datatype.impl.type,org.drools.process.core.timer";version="5.2.0.SNA
- PSHOT",org.drools.workflow.instance.impl.factory;uses:="org.drools.wo
- rkflow.instance.impl,org.drools.workflow.instance";version="5.2.0.SNA
- PSHOT",org.drools.ruleflow.core;uses:="org.drools.ruleflow.core.facto
- ry,org.drools.workflow.core,org.drools.workflow.core.impl,org.drools.
- workflow.core.node,org.drools.process.core.context.variable,org.drool
- s.process.core.context.exception,org.drools.process.core.context.swim
- lane,org.drools.process.core,org.drools.process.core.validation,org.d
- rools.process.core.datatype,org.drools.ruleflow.core.validation";vers
- ion="5.2.0.SNAPSHOT",org.drools.ruleflow.core.factory;uses:="org.droo
- ls.ruleflow.core,org.drools.workflow.core.node,org.drools.workflow.co
- re,org.drools.workflow.core.impl,org.drools.process.core.context.exce
- ption,org.drools.process.core.context.variable,org.drools.process.cor
- e.datatype,org.drools.process.core,org.drools.process.core.event,org.
- drools.process.core.timer,org.drools.process.core.impl";version="5.2.
- 0.SNAPSHOT",org.drools.ruleflow.instance;uses:="org.drools.ruleflow.c
- ore,org.drools.workflow.instance.impl,org.drools.workflow.core.node,o
- rg.drools.workflow.instance,org.drools.process.instance";version="5.2
- .0.SNAPSHOT",org.drools.ruleflow.core.validation;uses:="org.drools.pr
- ocess.core.context.variable,org.drools.process.core.timer,org.drools.
- ruleflow.core,org.drools.workflow.core.node,org.drools.process.core.v
- alidation.impl,org.drools.workflow.core,org.drools.workflow.core.impl
- ,org.drools.process.core.validation,org.drools.process.core.datatype,
- org.mvel2,org.mvel2.compiler,org.drools.process.core";version="5.2.0.
- SNAPSHOT",org.drools.marshalling.impl;uses:="org.drools.process.insta
- nce.context.swimlane,org.drools.workflow.instance.node,org.drools.wor
- kflow.instance.impl,org.drools.process.instance.context.exclusive,org
- .drools.process.instance,org.drools.process.instance.context.variable
- ,org.drools.workflow.instance,org.drools.process.core,org.drools.proc
- ess.instance.timer,org.drools.process.instance.impl,org.drools.rulefl
- ow.instance";version="5.2.0.SNAPSHOT",org.drools.osgi.flow.core;uses:
- ="org.drools.process.instance,org.drools.marshalling.impl,org.osgi.fr
- amework";version="5.2.0.SNAPSHOT"
-Tool: Bnd-0.0.357
-Bundle-Name: Drools :: Flow Core
-Created-By: 1.6.0_21 (Sun Microsystems Inc.)
-Require-Bundle: org.drools.core;bundle-version="5.2.0.SNAPSHOT"
-Bundle-Vendor: JBoss Inc.
-DynamicImport-Package: *
-Bundle-Version: 5.2.0.SNAPSHOT
-Bnd-LastModified: 1283893542050
Bundle-Activator: org.drools.osgi.flow.core.Activator
-Bundle-ManifestVersion: 2
-Bundle-Description: A rule production system
+Created-By: 1.5.0_24 (Apple Inc.)
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: com.thoughtworks.xstream,javax.swing,javax.swing.borde
r,javax.swing.event,org.mvel2;version="2.0",org.mvel2.compiler;versio
n="2.0",org.mvel2.integration;version="2.0",org.mvel2.integration.imp
l;version="2.0",org.osgi.framework;version="1.5"
-Bundle-SymbolicName: org.drools.flow.core;singleton:=true
+Bnd-LastModified: 1286983631753
+Export-Package: org.drools.process.instance.context.swimlane;uses:="or
+ g.drools.process.core.context.swimlane,org.drools.process.core,org.dr
+ ools.process.instance.context";version="5.2.0.SNAPSHOT",org.drools.pr
+ ocess.core.timer;version="5.2.0.SNAPSHOT",org.drools.process.core.dat
+ atype;version="5.2.0.SNAPSHOT",org.drools.process.instance.event;uses
+ :="org.drools.marshalling.impl,org.drools.process.instance";version="
+ 5.2.0.SNAPSHOT",org.drools.process;uses:="org.drools.process.instance
+ ";version="5.2.0.SNAPSHOT",org.drools.process.instance.context;uses:=
+ "org.drools.process.core,org.drools.process.instance";version="5.2.0.
+ SNAPSHOT",org.drools.process.instance.impl.demo;uses:="org.drools.pro
+ cess.instance,javax.swing.event,javax.swing";version="5.2.0.SNAPSHOT"
+ ,org.drools.process.core.event;version="5.2.0.SNAPSHOT",org.drools.pr
+ ocess.core.impl;uses:="org.drools.process.core,org.drools.process.cor
+ e.datatype,org.drools.process.core.context";version="5.2.0.SNAPSHOT",
+ org.drools.process.core.context.exception;uses:="org.drools.workflow.
+ core,org.drools.process.core.context,org.drools.process.core";version
+ ="5.2.0.SNAPSHOT",org.drools.process.instance.impl.humantask;uses:="j
+ avax.swing.event,javax.swing,javax.swing.border";version="5.2.0.SNAPS
+ HOT",org.drools.process.instance.context.variable;uses:="org.drools.p
+ rocess.core,org.drools.process.instance,org.drools.process.core.conte
+ xt.variable,org.drools.process.instance.context";version="5.2.0.SNAPS
+ HOT",org.drools.process.core.context;uses:="org.drools.process.core";
+ version="5.2.0.SNAPSHOT",org.drools.process.core.validation;version="
+ 5.2.0.SNAPSHOT",org.drools.process.instance.context.exception;uses:="
+ org.drools.workflow.instance,org.drools.process.instance,org.drools.w
+ orkflow.core,org.drools.process.core.context.exception,org.drools.pro
+ cess.instance.impl,org.drools.process.core,org.drools.process.instanc
+ e.context";version="5.2.0.SNAPSHOT",org.drools.process.instance;uses:
+ ="org.drools.process.core,org.drools.process.core.context.variable,or
+ g.drools.process.instance.context.variable,org.drools.process.instanc
+ e.timer,org.drools.process.instance.event,org.drools.ruleflow.instanc
+ e,org.drools.ruleflow.core,org.drools.process.core.event,org.drools.w
+ orkflow.core.node";version="5.2.0.SNAPSHOT",org.drools.process.instan
+ ce.timer;uses:="org.drools.process.instance,org.drools.process.instan
+ ce.event";version="5.2.0.SNAPSHOT",org.drools.process.instance.impl.f
+ actory;uses:="org.drools.process.core,org.drools.process.instance,org
+ .drools.process.instance.impl,org.drools.process.instance.context";ve
+ rsion="5.2.0.SNAPSHOT",org.drools.process.core.context.variable;uses:
+ ="org.drools.process.core.datatype,org.drools.process.core,org.drools
+ .process.core.datatype.impl.type,org.drools.process.core.context";ver
+ sion="5.2.0.SNAPSHOT",org.drools.process.instance.context.exclusive;u
+ ses:="org.drools.process.instance.context";version="5.2.0.SNAPSHOT",o
+ rg.drools.process.core.validation.impl;uses:="org.drools.process.core
+ .validation";version="5.2.0.SNAPSHOT",org.drools.process.core.context
+ .swimlane;uses:="org.drools.process.core.context,org.drools.process.c
+ ore";version="5.2.0.SNAPSHOT",org.drools.process.core;uses:="org.droo
+ ls.process.core.datatype";version="5.2.0.SNAPSHOT",org.drools.process
+ .core.datatype.impl;uses:="org.drools.process.core.datatype";version=
+ "5.2.0.SNAPSHOT",org.drools.process.instance.impl;uses:="org.drools.w
+ orkflow.instance.node,org.drools.workflow.core,org.drools.process.cor
+ e,org.drools.process.instance,org.drools.process.instance.context.swi
+ mlane,org.drools.process.core.context.swimlane,org.drools.process.ins
+ tance.context.exception,org.drools.process.instance.impl.factory,org.
+ drools.process.core.context.exception,org.drools.process.core.context
+ .variable,org.drools.process.instance.context.variable,org.mvel2.inte
+ gration,org.mvel2.compiler,org.mvel2.integration.impl,org.mvel2,org.d
+ rools.workflow.instance";version="5.2.0.SNAPSHOT",org.drools.process.
+ core.datatype.impl.type;uses:="org.drools.process.core.datatype,org.d
+ rools.process.core,com.thoughtworks.xstream";version="5.2.0.SNAPSHOT"
+ ,org.drools.process.core.context.exclusive;uses:="org.drools.process.
+ core.context,org.drools.process.core";version="5.2.0.SNAPSHOT",org.dr
+ ools.workflow.instance.impl;uses:="org.drools.process.instance.contex
+ t.exception,org.drools.process.instance,org.drools.workflow.core.impl
+ ,org.drools.workflow.instance,org.drools.workflow.core,org.drools.pro
+ cess.instance.impl,org.drools.workflow.instance.impl.factory,org.droo
+ ls.workflow.instance.node,org.drools.workflow.core.node,org.drools.pr
+ ocess.core.context.variable,org.drools.process.instance.context.exclu
+ sive,org.drools.process.core,org.drools.process.instance.context.vari
+ able,org.mvel2.integration,org.mvel2.integration.impl,org.drools.proc
+ ess.instance.event";version="5.2.0.SNAPSHOT",org.drools.workflow.core
+ .node;uses:="org.drools.workflow.core.impl,org.drools.workflow.core,o
+ rg.drools.process.core.context,org.drools.process.core,org.drools.pro
+ cess.core.impl,org.drools.process.core.event,org.drools.process.core.
+ datatype,org.drools.process.core.context.variable,org.drools.process.
+ core.datatype.impl.type,org.drools.process.core.timer";version="5.2.0
+ .SNAPSHOT",org.drools.workflow.core.impl;uses:="org.drools.workflow.c
+ ore,org.drools.process.core,org.drools.workflow.core.node,org.drools.
+ process.core.impl";version="5.2.0.SNAPSHOT",org.drools.workflow.core;
+ uses:="org.drools.process.core";version="5.2.0.SNAPSHOT",org.drools.w
+ orkflow.instance.impl.factory;uses:="org.drools.workflow.instance.imp
+ l,org.drools.workflow.instance";version="5.2.0.SNAPSHOT",org.drools.w
+ orkflow.instance.context;uses:="org.drools.workflow.instance,org.droo
+ ls.process.instance,org.drools.process.core,org.drools.process.instan
+ ce.impl,org.drools.process.instance.context";version="5.2.0.SNAPSHOT"
+ ,org.drools.workflow.instance;uses:="org.drools.process.instance,org.
+ drools.workflow.core.impl,org.drools.workflow.instance.impl";version=
+ "5.2.0.SNAPSHOT",org.drools.workflow.instance.node;uses:="org.drools.
+ workflow.instance.impl,org.drools.workflow.instance,org.drools.workfl
+ ow.core.node,org.drools.workflow.core,org.drools.process.instance.imp
+ l,org.drools.process.core,org.drools.process.instance,org.drools.proc
+ ess.core.event,org.drools.process.instance.context.variable,org.drool
+ s.process.instance.context.exception,org.mvel2,org.mvel2.integration,
+ org.drools.process.instance.context.swimlane,org.drools.process.insta
+ nce.context.exclusive,org.drools.process.core.timer,org.drools.proces
+ s.instance.timer";version="5.2.0.SNAPSHOT",org.drools.ruleflow.core.v
+ alidation;uses:="org.mvel2.compiler,org.drools.process.core.timer,org
+ .drools.process.core.validation,org.drools.process.core.datatype,org.
+ drools.workflow.core.node,org.drools.process.core.context.variable,or
+ g.drools.workflow.core.impl,org.mvel2,org.drools.process.core.validat
+ ion.impl,org.drools.ruleflow.core,org.drools.process.core,org.drools.
+ workflow.core";version="5.2.0.SNAPSHOT",org.drools.ruleflow.instance;
+ uses:="org.drools.workflow.instance.impl,org.drools.workflow.instance
+ ,org.drools.ruleflow.core,org.drools.workflow.core.node,org.drools.pr
+ ocess.instance";version="5.2.0.SNAPSHOT",org.drools.ruleflow.core.fac
+ tory;uses:="org.drools.workflow.core.impl,org.drools.ruleflow.core,or
+ g.drools.workflow.core.node,org.drools.workflow.core,org.drools.proce
+ ss.core,org.drools.process.core.datatype,org.drools.process.core.cont
+ ext.exception,org.drools.process.core.context.variable,org.drools.pro
+ cess.core.event,org.drools.process.core.timer,org.drools.process.core
+ .impl";version="5.2.0.SNAPSHOT",org.drools.ruleflow.core;uses:="org.d
+ rools.workflow.core.impl,org.drools.workflow.core,org.drools.ruleflow
+ .core.factory,org.drools.workflow.core.node,org.drools.process.core.c
+ ontext.swimlane,org.drools.process.core,org.drools.process.core.conte
+ xt.exception,org.drools.process.core.context.variable,org.drools.rule
+ flow.core.validation,org.drools.process.core.validation,org.drools.pr
+ ocess.core.datatype";version="5.2.0.SNAPSHOT",org.drools.marshalling.
+ impl;uses:="org.drools.workflow.instance.impl,org.drools.process.inst
+ ance.context.swimlane,org.drools.process.instance,org.drools.process.
+ instance.context.exclusive,org.drools.workflow.instance.node,org.droo
+ ls.workflow.instance,org.drools.process.core,org.drools.process.insta
+ nce.context.variable,org.drools.process.instance.timer,org.drools.rul
+ eflow.instance";version="5.2.0.SNAPSHOT",org.drools.osgi.flow.core;us
+ es:="org.drools.marshalling.impl,org.osgi.framework,org.drools.proces
+ s.instance";version="5.2.0.SNAPSHOT"
+Bundle-Version: 5.2.0.SNAPSHOT
+Bundle-Name: Drools :: Flow Core
+Bundle-Description: A rule production system
Bundle-DocURL: http://www.jboss.org/
+Bundle-Vendor: JBoss Inc.
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.drools.flow.core;singleton:=true
+Tool: Bnd-0.0.357
+Require-Bundle: org.drools.core;bundle-version="5.2.0.SNAPSHOT"
+DynamicImport-Package: *
Added: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/EventType.java
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/EventType.java (rev 0)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/EventType.java 2010-10-14 13:26:01 UTC (rev 35521)
@@ -0,0 +1,37 @@
+package org.drools.persistence.processinstance;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+ at Entity
+public class EventType {
+
+ private Integer id;
+ private String name;
+
+ public EventType() {}
+
+ public EventType(String name) {
+ this.setName(name);
+ }
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+}
\ No newline at end of file
Property changes on: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/EventType.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java 2010-10-14 11:49:32 UTC (rev 35520)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/main/java/org/drools/persistence/processinstance/ProcessInstanceInfo.java 2010-10-14 13:26:01 UTC (rev 35521)
@@ -18,11 +18,11 @@
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.EntityManager;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
import javax.persistence.Lob;
import javax.persistence.MapKey;
import javax.persistence.OneToMany;
@@ -46,12 +46,12 @@
import org.drools.process.instance.context.variable.VariableScopeInstance;
import org.drools.process.instance.impl.ProcessInstanceImpl;
import org.drools.runtime.Environment;
+import org.drools.runtime.EnvironmentName;
import org.drools.runtime.process.NodeInstance;
import org.drools.runtime.process.NodeInstanceContainer;
import org.drools.runtime.process.ProcessInstance;
import org.drools.runtime.process.WorkflowProcessInstance;
import org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl;
-import org.hibernate.annotations.CollectionOfElements;
@Entity
public class ProcessInstanceInfo {
@@ -77,13 +77,10 @@
private @Lob
byte[] processInstanceByteArray;
-// @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
-// @JoinColumn(name = "processInstanceId")
-// private Set<EventType> eventTypes = new HashSet<EventType>();
- private @CollectionOfElements
+ @OneToMany(cascade = {CascadeType.ALL})
+ @JoinColumn(name = "processInstanceId")
+ private Set<EventType> eventTypes = new HashSet<EventType>();
- @JoinTable(name = "EventTypes", joinColumns = @JoinColumn(name = "InstanceId"))
- Set<String> eventTypes = new HashSet<String>();
private @Transient
ProcessInstance processInstance;
private @Transient
@@ -266,10 +263,27 @@
this.state = processInstance.getState();
this.lastModificationDate = new Date();
this.processInstanceByteArray = newByteArray;
- this.eventTypes.clear();
+ Set<EventType> oldEventTypes = new HashSet<EventType>(eventTypes);
+
+// this.eventTypes.clear();
+ EntityManager em = (EntityManager) this.env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER);
+ if (em == null) {
+ throw new IllegalStateException("EntityManager can not be null at this location");
+ }
for ( String type : processInstance.getEventTypes() ) {
- eventTypes.add( type );
+ EventType newET = new EventType(type);
+ if (!eventTypes.contains( newET )) {
+ em.persist(newET);
+ eventTypes.add( newET );
+ }
+ oldEventTypes.remove(newET);
}
+
+ for (EventType eventType : oldEventTypes) {
+ if (eventType.getId() != null) {
+ em.remove(eventType);
+ }
+ }
}
}
Added: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/java/org/drools/persistence/session/ProcessSignalManagerTest.java
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/java/org/drools/persistence/session/ProcessSignalManagerTest.java (rev 0)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/java/org/drools/persistence/session/ProcessSignalManagerTest.java 2010-10-14 13:26:01 UTC (rev 35521)
@@ -0,0 +1,298 @@
+package org.drools.persistence.session;
+
+import java.sql.SQLException;
+
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+import javax.transaction.SystemException;
+
+import org.apache.log4j.xml.DOMConfigurator;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.base.MapGlobalResolver;
+import org.drools.common.AbstractRuleBase;
+import org.drools.impl.InternalKnowledgeBase;
+import org.drools.persistence.jpa.JPAKnowledgeService;
+import org.drools.process.core.Work;
+import org.drools.process.core.event.EventTypeFilter;
+import org.drools.process.core.impl.WorkImpl;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.instance.RuleFlowProcessInstance;
+import org.drools.runtime.Environment;
+import org.drools.runtime.EnvironmentName;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+import org.drools.runtime.process.WorkItem;
+import org.drools.runtime.process.WorkItemHandler;
+import org.drools.runtime.process.WorkItemManager;
+import org.drools.workflow.core.Node;
+import org.drools.workflow.core.impl.ConnectionImpl;
+import org.drools.workflow.core.node.EndNode;
+import org.drools.workflow.core.node.EventNode;
+import org.drools.workflow.core.node.StartNode;
+import org.drools.workflow.core.node.SubProcessNode;
+import org.drools.workflow.core.node.WorkItemNode;
+import org.h2.tools.DeleteDbFiles;
+import org.h2.tools.Server;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import bitronix.tm.BitronixTransactionManager;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+
+public class ProcessSignalManagerTest {
+
+ private static Server h2Server;
+
+ @Test
+ public void signalEventTest() {
+ String processId = "signalProcessTest";
+ String eventType = "myEvent";
+ RuleFlowProcess process = newSimpleEventProcess( processId,
+ eventType );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess( process );
+ StatefulKnowledgeSession ksession = createSession( kbase );
+
+ RuleFlowProcessInstance processInstance = (RuleFlowProcessInstance) ksession.startProcess( processId );
+ long processInstanceId = processInstance.getId();
+ Assert.assertEquals( ProcessInstance.STATE_ACTIVE,
+ processInstance.getState() );
+
+ ksession = reLoadSession( kbase,
+ ksession );
+ ksession.signalEvent( eventType,
+ null );
+ processInstance = (RuleFlowProcessInstance) ksession.getProcessInstance( processInstanceId );
+
+ Assert.assertNull( processInstance );
+ }
+
+ @Test
+ public void subProcessSignalTest() {
+ String processId = "processId";
+ String subProcessId = "subProcessId";
+ String workName = "myWork";
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess( newSimpleSuspendedProcess( subProcessId,
+ workName ) );
+ ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess( newSimpleNestedProcesses( processId,
+ subProcessId ) );
+
+ StatefulKnowledgeSession ksession = createSession( kbase );
+ WorkItemHolder workItemHolder = new WorkItemHolder();
+ ksession.getWorkItemManager().registerWorkItemHandler( workName,
+ workItemHolder );
+
+ long pid = ksession.startProcess( processId ).getId();
+
+ ksession = reLoadSession( kbase,
+ ksession ); // no need to re-register the workItemHandler
+
+ ksession.getWorkItemManager().completeWorkItem( workItemHolder.getWorkItem().getId(), null );
+
+ ProcessInstance processInstance = ksession.getProcessInstance( pid );
+ Assert.assertNull( processInstance );
+
+ }
+
+ private RuleFlowProcess newSimpleSuspendedProcess(String processId,
+ String workName) {
+ RuleFlowProcess process = new RuleFlowProcess();
+ process.setId( processId );
+
+ StartNode startNode = new StartNode();
+ startNode.setName( "Start" );
+ startNode.setId( 1 );
+
+ WorkItemNode workItemNode = new WorkItemNode();
+ workItemNode.setName( "workItemNode" );
+ workItemNode.setId( 2 );
+ Work work = new WorkImpl();
+ work.setName( workName );
+ workItemNode.setWork( work );
+
+ EndNode endNode = new EndNode();
+ endNode.setName( "End" );
+ endNode.setId( 3 );
+
+ connect( startNode,
+ workItemNode );
+ connect( workItemNode,
+ endNode );
+
+ process.addNode( startNode );
+ process.addNode( workItemNode );
+ process.addNode( endNode );
+
+ return process;
+ }
+
+ private RuleFlowProcess newSimpleNestedProcesses(String processId,
+ String subProcessId) {
+ RuleFlowProcess process = new RuleFlowProcess();
+ process.setId( processId );
+
+ StartNode startNode = new StartNode();
+ startNode.setName( "Start" );
+ startNode.setId( 1 );
+
+ SubProcessNode subprocessNode = new SubProcessNode();
+ subprocessNode.setName( "subProcessNode" );
+ subprocessNode.setProcessId( subProcessId );
+ subprocessNode.setId( 2 );
+
+ EndNode endNode = new EndNode();
+ endNode.setName( "End" );
+ endNode.setId( 3 );
+
+ connect( startNode,
+ subprocessNode );
+ connect( subprocessNode,
+ endNode );
+
+ process.addNode( startNode );
+ process.addNode( subprocessNode );
+ process.addNode( endNode );
+
+ return process;
+ }
+
+ private RuleFlowProcess newSimpleEventProcess(String processId,
+ String eventType) {
+ RuleFlowProcess process = new RuleFlowProcess();
+ process.setId( processId );
+
+ StartNode startNode = new StartNode();
+ startNode.setName( "Start" );
+ startNode.setId( 1 );
+
+ EventNode eventNode = new EventNode();
+ eventNode.setName( "EventNode" );
+ eventNode.setId( 2 );
+ eventNode.setScope( "external" );
+ EventTypeFilter eventFilter = new EventTypeFilter();
+ eventFilter.setType( eventType );
+ eventNode.addEventFilter( eventFilter );
+
+ EndNode endNode = new EndNode();
+ endNode.setName( "End" );
+ endNode.setId( 3 );
+
+ connect( startNode,
+ eventNode );
+ connect( eventNode,
+ endNode );
+
+ process.addNode( startNode );
+ process.addNode( eventNode );
+ process.addNode( endNode );
+ return process;
+ }
+
+ private void connect(Node sourceNode,
+ Node targetNode) {
+ new ConnectionImpl( sourceNode,
+ Node.CONNECTION_DEFAULT_TYPE,
+ targetNode,
+ Node.CONNECTION_DEFAULT_TYPE );
+ }
+
+ @BeforeClass
+ public static void startH2Database(){
+ try {
+ DeleteDbFiles.execute("", "JPADroolsFlow", true);
+ h2Server = Server.createTcpServer(new String[0]);
+ h2Server.start();
+ } catch (SQLException e) {
+ throw new RuntimeException("can't start h2 server db",e);
+ }
+ DOMConfigurator.configure(ProcessSignalManagerTest.class.getResource("/log4j.xml"));
+ }
+
+ @AfterClass
+ public static void stopH2Database() throws Throwable {
+ if (h2Server != null) {
+ h2Server.stop();
+ }
+ DeleteDbFiles.execute("", "JPADroolsFlow", true);
+ }
+
+ private PoolingDataSource ds1;
+ private EntityManagerFactory emf;
+
+ @Before
+ public void setUp() {
+ ds1 = new PoolingDataSource();
+ ds1.setUniqueName("jdbc/testDS1");
+ ds1.setMaxPoolSize(5);
+ ds1.setAllowLocalTransactions(true);
+
+ ds1.setClassName( "org.h2.jdbcx.JdbcDataSource" );
+ ds1.setMaxPoolSize( 3 );
+ ds1.getDriverProperties().put( "user", "sa" );
+ ds1.getDriverProperties().put( "password", "sasa" );
+ ds1.getDriverProperties().put( "URL", "jdbc:h2:mem:" );
+
+ ds1.init();
+ emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
+ }
+
+ @After
+ public void tearDown() {
+ emf.close();
+ ds1.close();
+ }
+
+ protected StatefulKnowledgeSession createSession(KnowledgeBase kbase) {
+ return JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, createEnvironment() );
+ }
+
+ protected StatefulKnowledgeSession reLoadSession(KnowledgeBase kbase,
+ StatefulKnowledgeSession ksession) {
+ int sessionId = ksession.getId();
+ ksession.dispose();
+ return JPAKnowledgeService.loadStatefulKnowledgeSession( sessionId, kbase, null, createEnvironment() );
+ }
+
+ private Environment createEnvironment() {
+ Environment env = KnowledgeBaseFactory.newEnvironment();
+ env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
+ BitronixTransactionManager transactionManager = TransactionManagerServices.getTransactionManager();
+ try {
+ transactionManager.setTransactionTimeout( 1400 );
+ } catch ( SystemException e ) {
+ Assert.fail(e.getMessage());
+ }
+ env.set( EnvironmentName.TRANSACTION_MANAGER, transactionManager );
+ env.set(EnvironmentName.GLOBALS, new MapGlobalResolver());
+ return env;
+ }
+
+ private final class WorkItemHolder
+ implements
+ WorkItemHandler {
+
+ private WorkItem workItem;
+
+ public void executeWorkItem(WorkItem workItem,
+ WorkItemManager manager) {
+ this.workItem = workItem;
+ }
+
+ public void abortWorkItem(WorkItem workItem,
+ WorkItemManager manager) {
+ }
+
+ public WorkItem getWorkItem() {
+ return workItem;
+ }
+
+ }
+}
Property changes on: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/java/org/drools/persistence/session/ProcessSignalManagerTest.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/orm.xml
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/orm.xml 2010-10-14 11:49:32 UTC (rev 35520)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/orm.xml 2010-10-14 13:26:01 UTC (rev 35521)
@@ -5,12 +5,12 @@
version="1.0">
<named-query name="ProcessInstancesWaitingForEvent">
<query>
-select
+select DISTINCT
processInstanceInfo.processInstanceId
from
- ProcessInstanceInfo processInstanceInfo
+ ProcessInstanceInfo processInstanceInfo join processInstanceInfo.eventTypes et
where
- :type in elements(processInstanceInfo.eventTypes)
+ et.name = :type
</query>
</named-query>
</entity-mappings>
Modified: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/persistence.xml
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/persistence.xml 2010-10-14 11:49:32 UTC (rev 35520)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-flow-persistence-jpa/src/test/resources/META-INF/persistence.xml 2010-10-14 13:26:01 UTC (rev 35521)
@@ -11,6 +11,7 @@
<jta-data-source>jdbc/testDS1</jta-data-source>
<class>org.drools.persistence.session.SessionInfo</class>
<class>org.drools.persistence.processinstance.ProcessInstanceInfo</class>
+ <class>org.drools.persistence.processinstance.EventType</class>
<class>org.drools.persistence.session.MyEntity</class>
<class>org.drools.persistence.session.MyEntityMethods</class>
<class>org.drools.persistence.session.MyEntityOnlyFields</class>
Modified: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/resources/META-INF/orm.xml
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/resources/META-INF/orm.xml 2010-10-14 11:49:32 UTC (rev 35520)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/resources/META-INF/orm.xml 2010-10-14 13:26:01 UTC (rev 35521)
@@ -5,12 +5,12 @@
version="1.0">
<named-query name="ProcessInstancesWaitingForEvent">
<query>
-select
+select DISTINCT
processInstanceInfo.processInstanceId
from
- ProcessInstanceInfo processInstanceInfo
+ ProcessInstanceInfo processInstanceInfo join processInstanceInfo.eventTypes et
where
- :type in (processInstanceInfo.eventTypes.name)
+ et.name = :type
</query>
</named-query>
</entity-mappings>
More information about the jboss-svn-commits
mailing list