[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