[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