[jbpm-commits] JBoss JBPM SVN: r4329 - in jbpm4/trunk/modules/deployment/src/main/java/org/jbpm: pvm and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Mar 25 17:58:50 EDT 2009


Author: tom.baeyens at jboss.com
Date: 2009-03-25 17:58:50 -0400 (Wed, 25 Mar 2009)
New Revision: 4329

Modified:
   jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/jpdl/JpdlDeployer.java
   jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/DeploymentImpl.java
   jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/RepositoryCacheImpl.java
Log:
revisiting deployment

Modified: jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/jpdl/JpdlDeployer.java
===================================================================
--- jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/jpdl/JpdlDeployer.java	2009-03-25 18:08:31 UTC (rev 4328)
+++ jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/jpdl/JpdlDeployer.java	2009-03-25 21:58:50 UTC (rev 4329)
@@ -63,12 +63,21 @@
         String processDefinitionName = processDefinition.getName();
 
         processDefinition.setDeploymentDbid(deployment.getDbid());
-        checkKey(processDefinition, deployment);
-        checkId(processDefinition, deployment);
+        
+        String key = deployment.getObjectProperty(processDefinitionName, "jpdl.key");
+        if (key!=null) {
+          String id = deployment.getObjectProperty(processDefinitionName, "jpdl.id");
+          processDefinition.setId(id);
+          processDefinition.setKey(key);
+          
+        } else {
+          checkKey(processDefinition, deployment);
+          checkId(processDefinition, deployment);
 
-        deployment.addObject(processDefinitionName, processDefinition);
-        deployment.addObjectProperty(processDefinitionName, "jpdl.key", processDefinition.getKey());
-        deployment.addObjectProperty(processDefinitionName, "jpdl.id", processDefinition.getId());
+          deployment.addObject(processDefinitionName, processDefinition);
+          deployment.addObjectProperty(processDefinitionName, "jpdl.key", processDefinition.getKey());
+          deployment.addObjectProperty(processDefinitionName, "jpdl.id", processDefinition.getId());
+        }
       }
     }
   }

Modified: jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/DeploymentImpl.java
===================================================================
--- jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/DeploymentImpl.java	2009-03-25 18:08:31 UTC (rev 4328)
+++ jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/DeploymentImpl.java	2009-03-25 21:58:50 UTC (rev 4329)
@@ -135,6 +135,19 @@
     objectProperties.add(new DeploymentProperty(this, objectName, key, value));
   }
 
+  public String getObjectProperty(String objectName, String key) {
+    if (objectProperties!=null) {
+      for (DeploymentProperty deploymentProperty: objectProperties) {
+        if ( (deploymentProperty.getObjectName().equals(objectName))
+             && (deploymentProperty.getKey().equals(key))
+           ) {
+          return deploymentProperty.getValue();
+        }
+      }
+    }
+    return null;
+  }
+
   protected Object writeReplace() throws ObjectStreamException {
     commandService = null;
     return this;

Modified: jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/RepositoryCacheImpl.java
===================================================================
--- jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/RepositoryCacheImpl.java	2009-03-25 18:08:31 UTC (rev 4328)
+++ jbpm4/trunk/modules/deployment/src/main/java/org/jbpm/pvm/RepositoryCacheImpl.java	2009-03-25 21:58:50 UTC (rev 4329)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.pvm;
 
+import java.util.HashMap;
 import java.util.Map;
 
 
@@ -28,11 +29,26 @@
  * @author Tom Baeyens
  */
 public class RepositoryCacheImpl implements RepositoryCache {
+  
+  Map<Long, Map<String, Object>> deployments = new HashMap<Long, Map<String,Object>>();
 
   public Object get(long deploymentDbid, String objectName) {
-    return null;
+    Map<String, Object> deploymentObjects = deployments.get(deploymentDbid);
+    if (deploymentObjects==null) {
+      return null;
+    }
+    return deploymentObjects.get(objectName);
   }
 
-  public void set(long deploymentdbid, Map<String, Object> deployedObjects) {
+  public void set(long deploymentDbid, Map<String, Object> objects) {
+    Map<String, Object> deploymentObjects = deployments.get(deploymentDbid);
+    if (deploymentObjects==null) {
+      deploymentObjects = new HashMap<String, Object>();
+      deployments.put(deploymentDbid, deploymentObjects);
+    }
+    for (String objectName: objects.keySet()) {
+      Object object = deploymentObjects.get(objectName);
+      deploymentObjects.put(objectName, object);
+    }
   }
 }




More information about the jbpm-commits mailing list