[jbpm-commits] JBoss JBPM SVN: r3130 - in projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server: integration and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Nov 27 10:24:36 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-27 10:24:36 -0500 (Thu, 27 Nov 2008)
New Revision: 3130

Modified:
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ExtensionManagement.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ProcessManagement.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ManagementExtension.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ProcessManagement.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java
Log:
Refactor process lifecyvle

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java	2008-11-27 15:20:20 UTC (rev 3129)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java	2008-11-27 15:24:36 UTC (rev 3130)
@@ -21,20 +21,24 @@
  */
 package org.jboss.bpm.console.server;
 
-import com.google.gson.Gson;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.bpm.console.client.model.ProcessDefinitionRefWrapper;
 import org.jboss.bpm.console.client.model.ProcessInstanceRef;
 import org.jboss.bpm.console.client.model.ProcessInstanceRefWrapper;
-import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
 import org.jboss.bpm.console.server.gson.GsonFactory;
 import org.jboss.bpm.console.server.integration.ExtensionManagement;
 import org.jboss.bpm.console.server.integration.ManagementFactory;
 import org.jboss.bpm.console.server.integration.ProcessManagement;
 
-import javax.ws.rs.*;
-import javax.ws.rs.core.Response;
+import com.google.gson.Gson;
 
 /**
  * REST server module for accessing process related data.
@@ -134,7 +138,7 @@
       log.debug("Change instance (ID "+instanceId+") to state " +next);
 
       ProcessInstanceRef.STATE state = ProcessInstanceRef.STATE.valueOf(next);
-      getManagementExtension().changeInstanceState(instanceId, state);
+      getProcessManagement().setProcessState(instanceId, state);
       return Response.ok().type("application/json").build();
    }
 

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ExtensionManagement.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ExtensionManagement.java	2008-11-27 15:20:20 UTC (rev 3129)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ExtensionManagement.java	2008-11-27 15:24:36 UTC (rev 3130)
@@ -21,13 +21,12 @@
  */
 package org.jboss.bpm.console.server.integration;
 
+import java.util.Map;
+
 import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
-import org.jboss.bpm.console.client.model.ProcessInstanceRef;
 import org.jboss.bpm.console.client.model.jbpm3.ActiveNodeInfo;
 import org.jboss.bpm.console.client.model.jbpm3.DiagramInfo;
 
-import java.util.Map;
-
 /**
  * Proprietary to jBPM3, no sure if it will stay.
  * 
@@ -45,7 +44,5 @@
 
    byte[] getTaskFormByTaskName(long processId, long taskId);
 
-   void changeInstanceState(long instanceId, ProcessInstanceRef.STATE nextState);
-
    ProcessDefinitionRef deployNewDefinition(byte[] data);
 }

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ProcessManagement.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ProcessManagement.java	2008-11-27 15:20:20 UTC (rev 3129)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ProcessManagement.java	2008-11-27 15:24:36 UTC (rev 3130)
@@ -23,6 +23,7 @@
 
 import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
 import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef.STATE;
 
 import java.util.List;
 
@@ -44,5 +45,7 @@
 
    ProcessInstanceRef newInstance(long procDefId);
 
+   void setProcessState(long procId, STATE nextState);
+
    void signalToken(long tokenId, String signal);
 }

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ManagementExtension.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ManagementExtension.java	2008-11-27 15:20:20 UTC (rev 3129)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ManagementExtension.java	2008-11-27 15:24:36 UTC (rev 3130)
@@ -21,7 +21,11 @@
  */
 package org.jboss.bpm.console.server.integration.jbpm3;
 
-import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.jboss.bpm.console.client.model.jbpm3.ActiveNodeInfo;
 import org.jboss.bpm.console.client.model.jbpm3.DiagramInfo;
 import org.jboss.bpm.console.client.model.jbpm3.DiagramNodeInfo;
@@ -29,17 +33,12 @@
 import org.jbpm.file.def.FileDefinition;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
-import org.jbpm.util.XmlUtil;
 import org.jbpm.taskmgmt.exe.TaskInstance;
+import org.jbpm.util.XmlUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
@@ -149,14 +148,6 @@
 
    }
 
-   public void changeInstanceState(long instanceId, ProcessInstanceRef.STATE nextState)
-   {
-      ProcessInstance p0 = delegate.getActualInstance(instanceId);
-      Transform.doTransition(p0, nextState);  // modifies the actual PI
-
-      // TX commit will persist changes to the actual PI      
-   }
-
    public org.jboss.bpm.console.client.model.ProcessDefinitionRef deployNewDefinition(byte[] data)
    {
       ProcessDefinition p0 = delegate.deploy(data);

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ProcessManagement.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ProcessManagement.java	2008-11-27 15:20:20 UTC (rev 3129)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/JBPM3ProcessManagement.java	2008-11-27 15:24:36 UTC (rev 3130)
@@ -23,6 +23,7 @@
 
 import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
 import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef.STATE;
 import org.jboss.bpm.console.server.integration.ProcessManagement;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
@@ -90,6 +91,12 @@
       return Transform.processInstance(instance);
    }
 
+   public void setProcessState(long instanceId, STATE nextState)
+   {
+      ProcessInstance p0 = delegate.getActualInstance(instanceId);
+      Transform.doTransition(p0, nextState);
+   }
+
    public void signalToken(long tokenId, String signal)
    {
       delegate.signalToken(tokenId, signal);

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java	2008-11-27 15:20:20 UTC (rev 3129)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java	2008-11-27 15:24:36 UTC (rev 3130)
@@ -43,6 +43,7 @@
 import org.jboss.bpm.api.service.ProcessService;
 import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
 import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef.STATE;
 import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
 import org.jboss.bpm.console.server.integration.ProcessManagement;
 
@@ -147,6 +148,28 @@
     return procRef;
   }
 
+  public void setProcessState(long procID, STATE nextState)
+  {
+    Process proc = getProcessById(procID);
+    log.info("setProcessState " + nextState + " on: " + proc);
+
+    ProcessInstanceRef procRef = adaptProcess(proc);
+    procRef.setState(nextState);
+
+    switch (procRef.getState())
+    {
+      case ENDED:
+        proc.cancel();
+        break;
+      case SUSPENDED:
+        proc.suspend();
+        break;
+      case RUNNING:
+        proc.resume();
+    }
+
+  }
+
   public void signalToken(long tokenId, String name)
   {
     Token token = null;
@@ -238,14 +261,14 @@
     Long procDefID = apaptKey(proc.getProcessDefinition().getKey());
     Long procID = apaptKey(proc.getKey());
 
-    // The BPM Spec does not (yet) have the notion of a suspended Process 
+    // The BPM Spec does not (yet) have the notion of a suspended Process
     boolean suspended = false;
-    
+
     ProcessInstanceRef procRef = new ProcessInstanceRef(procID, procDefID, proc.getStartDate(), proc.getEndDate(), suspended);
 
     Token rootToken = proc.getRootToken();
     procRef.setRootToken(adaptToken(rootToken));
-    
+
     return procRef;
   }
 
@@ -277,7 +300,7 @@
         String sigName = gate.getName();
         if (sigName == null)
           sigName = gate.getTargetRef();
-        
+
         tokenRef.getAvailableSignals().add(sigName);
       }
     }




More information about the jbpm-commits mailing list