[jbpm-commits] JBoss JBPM SVN: r3122 - 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 07:57:32 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-27 07:57:32 -0500 (Thu, 27 Nov 2008)
New Revision: 3122

Modified:
   projects/gwt-console/trunk/server/deploy.sh
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/Transform.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java
Log:
Enabple spec integration for process management

Modified: projects/gwt-console/trunk/server/deploy.sh
===================================================================
--- projects/gwt-console/trunk/server/deploy.sh	2008-11-27 12:09:28 UTC (rev 3121)
+++ projects/gwt-console/trunk/server/deploy.sh	2008-11-27 12:57:32 UTC (rev 3122)
@@ -1,3 +1,10 @@
 #! /bin/bash
 
-cp target/gwt-console-server.war $JBOSS422/server/default/deploy/jbpm
+mvn -o install
+
+SRC=target/gwt-console-server.war
+DEST=$JBOSS422/server/default/deploy/jbpm
+
+echo
+echo "cp $SRC $DEST"
+cp $SRC $DEST

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java	2008-11-27 12:09:28 UTC (rev 3121)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/ManagementFactory.java	2008-11-27 12:57:32 UTC (rev 3122)
@@ -36,8 +36,8 @@
 {
   public static ManagementFactory newInstance()
   {
-    // return new ManagementFactoryImpl();
-    return new JBPM3ManagementFactory();
+    return new ManagementFactoryImpl();
+    //return new JBPM3ManagementFactory();
   }
   
   public abstract ProcessManagement createProcessManagement();

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/Transform.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/Transform.java	2008-11-27 12:09:28 UTC (rev 3121)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/jbpm3/Transform.java	2008-11-27 12:57:32 UTC (rev 3122)
@@ -61,7 +61,7 @@
 
    private static TokenReference tokenReference(Token t0)
    {
-      TokenReference token = new TokenReference(t0.getId(), t0.getName(), t0.getNode().getName());
+      TokenReference token = new TokenReference(t0.getId(), null, t0.getNode().getName());
 
       if(t0.hasActiveChildren() || t0.isTerminatedImplicitly())
          token.setCanBeSignaled(false);

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 12:09:28 UTC (rev 3121)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/integration/spec/ProcessManagementImpl.java	2008-11-27 12:57:32 UTC (rev 3122)
@@ -32,13 +32,19 @@
 import org.jboss.bpm.api.client.Configuration;
 import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.client.Token;
+import org.jboss.bpm.api.client.Token.TokenStatus;
+import org.jboss.bpm.api.model.Gateway;
+import org.jboss.bpm.api.model.Node;
 import org.jboss.bpm.api.model.Process;
 import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jboss.bpm.api.model.SingleOutFlowSupport;
 import org.jboss.bpm.api.model.Process.ProcessStatus;
 import org.jboss.bpm.api.service.ProcessDefinitionService;
 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.jbpm3.TokenReference;
 import org.jboss.bpm.console.server.integration.ProcessManagement;
 
 /**
@@ -50,11 +56,11 @@
 public class ProcessManagementImpl implements ProcessManagement
 {
   private static final Log log = LogFactory.getLog(ProcessManagementImpl.class);
-  
+
   public List<ProcessDefinitionRef> getProcessDefinitions()
   {
     log.info("getProcessDefinitions");
-    
+
     List<ProcessDefinitionRef> results = new ArrayList<ProcessDefinitionRef>();
     ProcessDefinitionService pdService = getProcessDefinitionService();
     Iterator<ObjectName> itKey = pdService.getProcessDefinitions().iterator();
@@ -62,9 +68,9 @@
     {
       ObjectName procDefKey = itKey.next();
       ProcessDefinition procDef = pdService.getProcessDefinition(procDefKey);
-      
+
       log.info(procDef);
-      
+
       ProcessDefinitionRef pdRef = adaptProcessDefinition(procDef);
       results.add(pdRef);
     }
@@ -75,7 +81,7 @@
   {
     ProcessDefinition procDef = getProcessDefinitionInternal(procDefId);
     log.info("getProcessDefinition: " + procDef);
-    
+
     return procDef != null ? new ProcessDefinitionRef(procDefId, procDef.getName(), procDef.getVersion()) : null;
   }
 
@@ -83,7 +89,7 @@
   {
     ProcessDefinition procDef = getProcessDefinitionInternal(procDefId);
     log.info("removeDefinition: " + procDef);
-    
+
     if (procDef != null)
     {
       ProcessDefinitionService pdService = getProcessDefinitionService();
@@ -96,15 +102,15 @@
   {
     ProcessDefinition procDef = getProcessDefinitionInternal(procDefId);
     log.info("newInstance: " + procDef);
-    
+
     if (procDef == null)
       throw new IllegalStateException("Cannot obtain process definition: " + procDefId);
 
     Process proc = procDef.newInstance();
     proc.startProcess();
-    
+
     log.info("Started: " + proc);
-    
+
     ProcessInstanceRef procRef = adaptProcess(proc);
     return procRef;
   }
@@ -117,16 +123,16 @@
       throw new IllegalStateException("Cannot obtain process definition: " + procDefId);
 
     log.info("getProcessInstances: " + procDef);
-    
+
     ProcessService procService = getProcessService();
     Iterator<ObjectName> itProc = procService.getProcesses(procDef.getKey(), null).iterator();
     while (itProc.hasNext())
     {
       ObjectName procID = itProc.next();
       Process proc = procService.getProcess(procID);
-      
+
       log.info(proc);
-      
+
       results.add(adaptProcess(proc));
     }
 
@@ -137,7 +143,7 @@
   {
     Process proc = getProcessById(procID);
     log.info("getProcessInstance: " + proc);
-    
+
     ProcessInstanceRef procRef = adaptProcess(proc);
     return procRef;
   }
@@ -161,12 +167,12 @@
         }
       }
     }
-    
+
     if (token == null)
       throw new IllegalStateException("Cannot obtain token: " + tokenId);
 
     log.info("signalToken: " + token);
-    
+
     // Signal the token
     token.signal(name);
   }
@@ -233,14 +239,53 @@
     Long procDefID = apaptKey(proc.getProcessDefinition().getKey());
     Long procID = apaptKey(proc.getKey());
 
-    // [TODO] clarify process status
-    ProcessStatus status = proc.getProcessStatus();
-    boolean suspended = ProcessStatus.Active != status;
+    // 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);
 
-    ProcessInstanceRef procRef = new ProcessInstanceRef(procID, procDefID, proc.getStartDate(), proc.getEndDate(), suspended);
+    Token rootToken = proc.getRootToken();
+    procRef.setRootToken(adaptToken(rootToken));
+    
     return procRef;
   }
 
+  private TokenReference adaptToken(Token token)
+  {
+    Long tokenId = apaptKey(token.getKey());
+    token.getKey();
+
+    Node currNode = token.getCurrentNode();
+    TokenReference tokenRef = new TokenReference(tokenId, null, currNode.getName());
+
+    TokenStatus tokenStatus = token.getTokenStatus();
+    tokenRef.setCanBeSignaled(tokenStatus == TokenStatus.Suspended);
+
+    for (Token child : token.getChildTokens())
+      tokenRef.getChildren().add(adaptToken(child));
+
+    if (currNode instanceof SingleOutFlowSupport)
+    {
+      SingleOutFlowSupport flowSupport = (SingleOutFlowSupport)currNode;
+      String targetRef = flowSupport.getOutFlow().getTargetRef();
+      tokenRef.getAvailableSignals().add(targetRef);
+    }
+    if (currNode instanceof Gateway)
+    {
+      Gateway gateway = (Gateway)currNode;
+      for (SequenceFlow gate : gateway.getGates())
+      {
+        String sigName = gate.getName();
+        if (sigName == null)
+          sigName = gate.getTargetRef();
+        
+        tokenRef.getAvailableSignals().add(sigName);
+      }
+    }
+
+    return tokenRef;
+  }
+
   private Long apaptKey(ObjectName key)
   {
     String id = key.getKeyProperty("id");




More information about the jbpm-commits mailing list