[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