[jbpm-commits] JBoss JBPM SVN: r3096 - projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Nov 26 04:24:00 EST 2008
Author: thomas.diesler at jboss.com
Date: 2008-11-26 04:24:00 -0500 (Wed, 26 Nov 2008)
New Revision: 3096
Modified:
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java
Log:
Update API integration
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-26 09:23:21 UTC (rev 3095)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java 2008-11-26 09:24:00 UTC (rev 3096)
@@ -32,6 +32,7 @@
import org.jboss.bpm.console.server.integration.ProcessManagement;
import org.jbpm.api.client.Configuration;
import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.client.Token;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
import org.jbpm.api.model.Process.ProcessStatus;
@@ -49,30 +50,30 @@
public List<ProcessDefinitionRef> getAllDefinitions()
{
List<ProcessDefinitionRef> results = new ArrayList<ProcessDefinitionRef>();
-
+
ProcessDefinitionService pdService = getProcessDefinitionService();
Iterator<ObjectName> itKey = pdService.getProcessDefinitions().iterator();
- while(itKey.hasNext())
+ while (itKey.hasNext())
{
ObjectName procDefKey = itKey.next();
ProcessDefinition procDef = pdService.getProcessDefinition(procDefKey);
ProcessDefinitionRef pdRef = adaptProcessDefinition(procDef);
results.add(pdRef);
}
-
+
return results;
}
public ProcessDefinitionRef getDefinitionById(long procDefId)
{
ProcessDefinitionRef results = null;
-
+
ProcessDefinition procDef = getProcessDefinitionById(procDefId);
if (procDef != null)
{
results = new ProcessDefinitionRef(procDefId, procDef.getName(), procDef.getVersion());
}
-
+
return results;
}
@@ -100,7 +101,22 @@
public List<ProcessInstanceRef> getInstancesByDefinitionId(long procDefId)
{
- throw new RuntimeException("Not implemented");
+ List<ProcessInstanceRef> results = new ArrayList<ProcessInstanceRef>();
+
+ ProcessDefinition procDef = getProcessDefinitionById(procDefId);
+ if (procDef == null)
+ throw new IllegalStateException("Cannot obtain process definition: " + procDefId);
+
+ ProcessService procService = getProcessService();
+ Iterator<ObjectName> itProc = procService.getProcesses(procDef.getKey(), null).iterator();
+ while (itProc.hasNext())
+ {
+ ObjectName procID = itProc.next();
+ Process proc = procService.getProcess(procID);
+ results.add(adaptProcess(proc));
+ }
+
+ return results;
}
public ProcessInstanceRef getInstanceById(long procID)
@@ -110,11 +126,35 @@
return procRef;
}
- public void signalToken(long tokenId, String signal)
+ public void signalToken(long tokenId, String name)
{
- throw new RuntimeException("Not implemented");
+ Token token = null;
+ ProcessService procService = getProcessService();
+ Iterator<ObjectName> itProc = procService.getProcesses().iterator();
+ while (token == null && itProc.hasNext())
+ {
+ ObjectName procID = itProc.next();
+ Process proc = procService.getProcess(procID);
+ for (Token aux : proc.getTokens())
+ {
+ Long auxId = apaptKey(aux.getKey());
+ if (auxId == tokenId)
+ {
+ token = aux;
+ break;
+ }
+ }
+ }
+
+ if (token == null)
+ throw new IllegalStateException("Cannot obtain token: " + tokenId);
+
+ // Signal the token
+ token.signal(name);
}
+ // Private
+
private ProcessDefinitionService getProcessDefinitionService()
{
ProcessEngine engine = Configuration.getProcessEngine();
@@ -127,7 +167,7 @@
ProcessDefinition procDef = null;
ProcessDefinitionService pdService = getProcessDefinitionService();
Iterator<ObjectName> it = pdService.getProcessDefinitions().iterator();
- while(it.hasNext())
+ while (it.hasNext())
{
ObjectName auxKey = it.next();
if (procDefID == apaptKey(auxKey))
@@ -156,39 +196,39 @@
private Process getProcessById(long procID)
{
Process proc = null;
- ProcessService pdService = getProcessService();
- Iterator<ObjectName> it = pdService.getProcesses().iterator();
- while(it.hasNext())
+ ProcessService procService = getProcessService();
+ Iterator<ObjectName> it = procService.getProcesses().iterator();
+ while (it.hasNext())
{
ObjectName auxKey = it.next();
if (procID == apaptKey(auxKey))
{
- proc = pdService.getProcess(auxKey);
+ proc = procService.getProcess(auxKey);
break;
}
}
return proc;
}
-
+
private ProcessInstanceRef adaptProcess(Process proc)
{
Long procDefID = apaptKey(proc.getProcessDefinition().getKey());
Long procID = apaptKey(proc.getKey());
-
+
// [TODO] clarify process status
ProcessStatus status = proc.getProcessStatus();
boolean suspended = ProcessStatus.Active != status;
-
+
ProcessInstanceRef procRef = new ProcessInstanceRef(procID, procDefID, proc.getStartDate(), proc.getEndDate(), suspended);
return procRef;
}
- private Long apaptKey(ObjectName procDefKey)
+ private Long apaptKey(ObjectName key)
{
- String procDefID = procDefKey.getKeyProperty("id");
- if (procDefID == null)
- throw new IllegalStateException("Cannot obtain id property from: " + procDefKey);
-
- return new Long(procDefID);
+ String id = key.getKeyProperty("id");
+ if (id == null)
+ throw new IllegalStateException("Cannot obtain id property from: " + key);
+
+ return new Long(id);
}
}
More information about the jbpm-commits
mailing list