[jbpm-commits] JBoss JBPM SVN: r5713 - in jbpm4/trunk/modules: pvm/src/main/java/org/jbpm/pvm/internal/model and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Oct 7 16:10:21 EDT 2009


Author: koen.aers at jboss.com
Date: 2009-10-07 16:10:20 -0400 (Wed, 07 Oct 2009)
New Revision: 5713

Modified:
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/ProcessDeployer.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java
Log:
store and retrieve migration info in parse context map instead of process definition object

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-10-07 19:34:20 UTC (rev 5712)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-10-07 20:10:20 UTC (rev 5713)
@@ -27,11 +27,14 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.StringTokenizer;
 
 import org.jbpm.api.JbpmException;
+import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.activity.ActivityBehaviour;
 import org.jbpm.api.listener.EventListener;
 import org.jbpm.api.model.Event;
@@ -277,8 +280,14 @@
     }
   }
 
-  public void parseMigrationDescriptor(Element migrationElement, Parse parse, JpdlProcessDefinition processDefinition) {
-    processDefinition.setMigrationDescriptor(new MigrationDescriptor());
+  @SuppressWarnings("unchecked")
+  public void parseMigrationDescriptor(Element migrationElement, Parse parse, ProcessDefinition processDefinition) {
+    Map<ProcessDefinition, MigrationDescriptor> migrations = (Map<ProcessDefinition, MigrationDescriptor>)parse.contextMapGet(Parse.CONTEXT_KEY_MIGRATIONS);
+    if (migrations == null) {
+      migrations = new HashMap<ProcessDefinition, MigrationDescriptor>();
+      parse.contextMapPut(Parse.CONTEXT_KEY_MIGRATIONS, migrations);
+    }
+    migrations.put(processDefinition, new MigrationDescriptor());
   }
 
   public void parseActivities(Element documentElement, Parse parse, CompositeElementImpl compositeElement) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java	2009-10-07 19:34:20 UTC (rev 5712)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java	2009-10-07 20:10:20 UTC (rev 5713)
@@ -30,7 +30,6 @@
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.client.ClientProcessDefinition;
 import org.jbpm.pvm.internal.client.ClientProcessInstance;
-import org.jbpm.pvm.internal.migration.MigrationDescriptor;
 import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
 
 /**
@@ -75,8 +74,6 @@
   
   protected String imageResourceName = null;
   
-  protected MigrationDescriptor migrationDescriptor;
-
   
   public ProcessDefinitionImpl() {
     this.processDefinition = this;
@@ -201,10 +198,4 @@
   public void setSuspended(boolean isSuspended) {
     this.isSuspended = isSuspended;
   }
-  public MigrationDescriptor getMigrationDescriptor() {
-    return migrationDescriptor;
-  }
-  public void setMigrationDescriptor(MigrationDescriptor migrationDescriptor) {
-    this.migrationDescriptor = migrationDescriptor;
-  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/ProcessDeployer.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/ProcessDeployer.java	2009-10-07 19:34:20 UTC (rev 5712)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/ProcessDeployer.java	2009-10-07 20:10:20 UTC (rev 5713)
@@ -24,6 +24,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.util.List;
+import java.util.Map;
 
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
@@ -52,6 +53,7 @@
     this.parser = parser;
   }
 
+  @SuppressWarnings("unchecked")
   public void deploy(DeploymentImpl deployment) {
     
     for (String resourceName: deployment.getResourceNames()) {
@@ -95,13 +97,18 @@
                 deployment.setProcessDefinitionId(processDefinitionName, processDefinition.getId());
                 deployment.setProcessDefinitionKey(processDefinitionName, processDefinition.getKey());
                 deployment.setProcessDefinitionVersion(processDefinitionName, new Long(processDefinition.getVersion()));
+                
+                //execute migration
+                Map<ProcessDefinition, MigrationDescriptor> migrations = (Map<ProcessDefinition, MigrationDescriptor>)parse.contextMapGet(Parse.CONTEXT_KEY_MIGRATIONS);
+                if (migrations != null) {
+                  MigrationDescriptor migrationDescriptor = migrations.get(processDefinition);
+                  if (migrationDescriptor != null) {
+                    InstanceMigrator.migrateAll(processDefinition, migrationDescriptor);
+                  }
+                }
+                
               }
 
-              MigrationDescriptor migrationDescription = processDefinition.getMigrationDescriptor();
-              if (migrationDescription != null) {
-                InstanceMigrator.migrateAll(processDefinition, migrationDescription);
-              }
-
               deployment.addObject(processDefinitionName, processDefinition);
             }
           }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java	2009-10-07 19:34:20 UTC (rev 5712)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Parse.java	2009-10-07 20:10:20 UTC (rev 5713)
@@ -55,6 +55,7 @@
   public static final String CONTEXT_KEY_DEPLOYMENT = "deployment";
   public static final String CONTEXT_KEY_PROCESS_LANGUAGE_ID = "proclangid";
   public static final String CONTEXT_KEY_BINDINGS = "bindings";
+  public static final String CONTEXT_KEY_MIGRATIONS = "migrations";
   
   protected Parser parser;
   



More information about the jbpm-commits mailing list