[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