[jbpm-commits] JBoss JBPM SVN: r2578 - in jbpm3/trunk/modules: distribution/src/main/resources/database/hypersonic and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Oct 21 23:19:19 EDT 2008


Author: alex.guizar at jboss.com
Date: 2008-10-21 23:19:19 -0400 (Tue, 21 Oct 2008)
New Revision: 2578

Modified:
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java
   jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script
Log:
[JBPM-1755] added PARENTLOCKMODE_ column to JBPM_NODE table in distro hsql script
made some cleanup in Join

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java	2008-10-22 03:08:09 UTC (rev 2577)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/node/Join.java	2008-10-22 03:19:19 UTC (rev 2578)
@@ -41,7 +41,10 @@
 
   private static final long serialVersionUID = 1L;
   
-  /** specifies wether what type of hibernate lock should be acquired.  null value defaults to LockMode.Force */ 
+  /** 
+   * specifies wether what type of hibernate lock should be acquired.
+   * null value defaults to LockMode.FORCE 
+   */ 
   String parentLockMode;
 
   /**
@@ -111,13 +114,10 @@
         JbpmContext jbpmContext = executionContext.getJbpmContext();
         Session session = (jbpmContext!=null ? jbpmContext.getSession() : null);
         if (session!=null) {
-          LockMode lockMode = LockMode.FORCE;
-          if (parentLockMode!=null) {
-            lockMode = LockMode.parse(parentLockMode);
-          }
-          log.debug("forcing version increment on parent token "+parentToken);
-          // TODO why is a flush needed?!
-          // session.flush();
+          // force version increment by default (LockMode.FORCE)
+          LockMode lockMode = parentLockMode != null ? LockMode.parse(parentLockMode) : LockMode.FORCE;
+          log.debug("acquiring " + lockMode + " lock on " + parentToken);
+          // lock updates as appropriate, no need to flush here
           session.lock(parentToken, lockMode);
         }
 
@@ -125,10 +125,9 @@
 
         // if this is a discriminator
         if ( isDiscriminator ) {
-          // reactivate the parent when the first token arrives in the 
-          // join.  this must be the first token arriving because otherwise
-          // the isAbleToReactivateParent() of this token should have been false
-          // above.
+          // reactivate the parent when the first token arrives in the join.
+          // this must be the first token arriving, otherwise isAbleToReactivateParent()
+          // should have been false above.
           reactivateParent = true;
 
         // if a fixed set of tokenNames is specified at design time...

Modified: jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script	2008-10-22 03:08:09 UTC (rev 2577)
+++ jbpm3/trunk/modules/distribution/src/main/resources/database/hypersonic/jbpmDB.script	2008-10-22 03:19:19 UTC (rev 2578)
@@ -26,7 +26,7 @@
 CREATE INDEX IDX_MODDEF_PROCDF ON JBPM_MODULEDEFINITION(PROCESSDEFINITION_)
 CREATE MEMORY TABLE JBPM_MODULEINSTANCE(ID_ BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,CLASS_ CHAR(1) NOT NULL,VERSION_ INTEGER NOT NULL,PROCESSINSTANCE_ BIGINT,TASKMGMTDEFINITION_ BIGINT,NAME_ VARCHAR(255),CONSTRAINT FK_TASKMGTINST_TMD FOREIGN KEY(TASKMGMTDEFINITION_) REFERENCES JBPM_MODULEDEFINITION(ID_))
 CREATE INDEX IDX_MODINST_PRINST ON JBPM_MODULEINSTANCE(PROCESSINSTANCE_)
-CREATE MEMORY TABLE JBPM_NODE(ID_ BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,CLASS_ CHAR(1) NOT NULL,NAME_ VARCHAR(255),DESCRIPTION_ VARCHAR(4000),PROCESSDEFINITION_ BIGINT,ISASYNC_ BOOLEAN,ISASYNCEXCL_ BOOLEAN,ACTION_ BIGINT,SUPERSTATE_ BIGINT,SUBPROCNAME_ VARCHAR(255),SUBPROCESSDEFINITION_ BIGINT,DECISIONEXPRESSION_ VARCHAR(255),DECISIONDELEGATION BIGINT,SCRIPT_ BIGINT,SIGNAL_ INTEGER,CREATETASKS_ BOOLEAN,ENDTASKS_ BOOLEAN,NODECOLLECTIONINDEX_ INTEGER,CONSTRAINT FK_DECISION_DELEG FOREIGN KEY(DECISIONDELEGATION) REFERENCES JBPM_DELEGATION(ID_),CONSTRAINT FK_NODE_ACTION FOREIGN KEY(ACTION_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SCRIPT FOREIGN KEY(SCRIPT_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SUPERSTATE FOREIGN KEY(SUPERSTATE_) REFERENCES JBPM_NODE(ID_))
+CREATE MEMORY TABLE JBPM_NODE(ID_ BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,CLASS_ CHAR(1) NOT NULL,NAME_ VARCHAR(255),DESCRIPTION_ VARCHAR(4000),PROCESSDEFINITION_ BIGINT,ISASYNC_ BOOLEAN,ISASYNCEXCL_ BOOLEAN,ACTION_ BIGINT,SUPERSTATE_ BIGINT,SUBPROCNAME_ VARCHAR(255),SUBPROCESSDEFINITION_ BIGINT,DECISIONEXPRESSION_ VARCHAR(255),DECISIONDELEGATION BIGINT,SCRIPT_ BIGINT,SIGNAL_ INTEGER,CREATETASKS_ BOOLEAN,ENDTASKS_ BOOLEAN,NODECOLLECTIONINDEX_ INTEGER,PARENTLOCKMODE_ VARCHAR(255),CONSTRAINT FK_DECISION_DELEG FOREIGN KEY(DECISIONDELEGATION) REFERENCES JBPM_DELEGATION(ID_),CONSTRAINT FK_NODE_ACTION FOREIGN KEY(ACTION_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SCRIPT FOREIGN KEY(SCRIPT_) REFERENCES JBPM_ACTION(ID_),CONSTRAINT FK_NODE_SUPERSTATE FOREIGN KEY(SUPERSTATE_) REFERENCES JBPM_NODE(ID_))
 CREATE INDEX IDX_PSTATE_SBPRCDEF ON JBPM_NODE(SUBPROCESSDEFINITION_)
 CREATE INDEX IDX_NODE_PROCDEF ON JBPM_NODE(PROCESSDEFINITION_)
 CREATE INDEX IDX_NODE_ACTION ON JBPM_NODE(ACTION_)




More information about the jbpm-commits mailing list