[jbpm-commits] JBoss JBPM SVN: r1600 - in jbpm3/trunk/modules/jpdl/core/src/main: java/org/jbpm/graph/node and 4 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Jul 13 09:27:59 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-07-13 09:27:59 -0400 (Sun, 13 Jul 2008)
New Revision: 1600

Removed:
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionManagerImpl.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/runtime/TokenImpl.java
Modified:
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/def/Node.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/EndState.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/State.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ProcessManagerImpl.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/EndEventImpl.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/StartEventImpl.java
   jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/TaskImpl.java
   jbpm3/trunk/modules/jpdl/core/src/main/resources/jbpm-beans.xml
Log:
Provide an implementation of an ExecutionManager

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/def/Node.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/def/Node.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/def/Node.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -32,17 +32,11 @@
 import java.util.Set;
 
 import org.dom4j.Element;
-import org.jboss.bpm.model.ExecutableFlowObject;
-import org.jboss.bpm.model.FlowObject;
-import org.jboss.bpm.model.Process;
 import org.jbpm.JbpmException;
-import org.jbpm.context.exe.ContextInstance;
 import org.jbpm.graph.action.ActionTypes;
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.graph.exe.Token;
 import org.jbpm.graph.log.NodeLog;
-import org.jbpm.integration.model.ProcessImpl;
-import org.jbpm.integration.runtime.TokenImpl;
 import org.jbpm.job.ExecuteNodeJob;
 import org.jbpm.jpdl.xml.JpdlXmlReader;
 import org.jbpm.jpdl.xml.Parsable;
@@ -382,9 +376,6 @@
    */
   public void execute(ExecutionContext executionContext)
   {
-    // Call execute on an API FlowObject
-    callExecutableFlowObject(executionContext);
-    
     // if there is a custom action associated with this node
     if (action != null)
     {
@@ -410,22 +401,6 @@
     }
   }
 
-  // Call execute on an API FlowObject
-  protected void callExecutableFlowObject(ExecutionContext executionContext)
-  {
-    ContextInstance ctxInst = executionContext.getContextInstance();
-    ProcessImpl proc = (ProcessImpl)ctxInst.getTransientVariable(Process.class.getName());
-    if (proc != null)
-    {
-      FlowObject fo = proc.findFlowObject(getName());
-      if (fo == null)
-        throw new IllegalStateException("Cannot find flow object: " + getName());
-      
-      TokenImpl token = new TokenImpl(proc, ctxInst);
-      ((ExecutableFlowObject)fo).execute(token);
-    }
-  }
-  
   /**
    * called by the implementation of this node to continue execution over the default transition.
    */

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/EndState.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/EndState.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/EndState.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -66,9 +66,6 @@
     {
       executionContext.getToken().end();
     }
-
-    // Call execute on an API FlowObject
-    callExecutableFlowObject(executionContext);
   }
 
   public Transition addLeavingTransition(Transition t)

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/State.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/State.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/graph/node/State.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -22,7 +22,6 @@
 package org.jbpm.graph.node;
 
 import org.jbpm.graph.def.Node;
-import org.jbpm.graph.exe.ExecutionContext;
 
 public class State extends Node
 {
@@ -37,10 +36,4 @@
   {
     super(name);
   }
-
-  public void execute(ExecutionContext executionContext)
-  {
-    // Call execute on an API FlowObject
-    callExecutableFlowObject(executionContext);
-  }
 }

Deleted: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionManagerImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionManagerImpl.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ExecutionManagerImpl.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -1,81 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.integration.client;
-
-// $Id$
-
-import java.util.concurrent.Future;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jboss.bpm.client.ExecutionManager;
-import org.jboss.bpm.client.ProcessEngine;
-import org.jboss.bpm.client.internal.InitialToken;
-import org.jboss.bpm.model.ExecutableFlowObject;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.Result;
-import org.jboss.bpm.model.Signal;
-import org.jboss.bpm.runtime.Attachments;
-import org.jboss.bpm.runtime.Token;
-import org.jbpm.graph.exe.Execution;
-import org.jbpm.integration.model.StartEventImpl;
-
-/**
- * The process manager is the entry point to create, find and otherwise manage processes.
- * 
- * @author thomas.diesler at jboss.com
- * @since 18-Jun-2008
- */
-public class ExecutionManagerImpl extends ExecutionManager
-{
-  // provide logging
-  private static final Log log = LogFactory.getLog(ExecutionManagerImpl.class);
-
-  public void setProcessEngine(ProcessEngine engine)
-  {
-    this.engine = engine;
-  }
-  
-  public Future<Result> startProcess(Process proc, Attachments att)
-  {
-    throwSignal(new Signal(proc, Signal.Type.ENTER_PROCESS));
-    try
-    {
-      // Repeatetly signal the Execution until we reach the end
-      StartEventImpl start = (StartEventImpl)proc.getStartEvent();
-      
-      Token token = new InitialToken(proc, att);
-      start.execute(token);
-      
-      Execution oldEx = start.getExecution();
-      while (oldEx.getRootToken().hasEnded() == false)
-      {
-        oldEx.signal();
-      }
-    }
-    finally
-    {
-      throwSignal(new Signal(proc, Signal.Type.EXIT_PROCESS));
-    }
-    return new ResultFuture(proc);
-  }
-}
\ No newline at end of file

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ProcessManagerImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ProcessManagerImpl.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/client/ProcessManagerImpl.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -60,9 +60,8 @@
     {
       throw new InvalidProcessException(ex);
     }
-    Process pdef = ProcessAdapter.buildProcess(oldPD);
-    addProcess(pdef);
-    return pdef;
+    Process proc = ProcessAdapter.buildProcess(oldPD);
+    return proc;
   }
 
   @Override
@@ -77,8 +76,7 @@
     {
       throw new InvalidProcessException(ex);
     }
-    Process pdef = ProcessAdapter.buildProcess(oldPD);
-    addProcess(pdef);
-    return pdef;
+    Process proc = ProcessAdapter.buildProcess(oldPD);
+    return proc;
   }
 }

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/EndEventImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/EndEventImpl.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/EndEventImpl.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -23,10 +23,8 @@
 
 //$Id$
 
-import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.EndEvent;
 import org.jboss.bpm.model.Process;
-import org.jboss.bpm.runtime.Token;
 import org.jbpm.graph.def.Node;
 
 /**
@@ -53,19 +51,4 @@
   {
     oldNode.setName(name);
   }
-
-  @Override
-  public void execute(Token token)
-  {
-    SignalManager sm = SignalManager.locateSignalManager();
-    sm.throwSignal(getEnterSignal());
-    try
-    {
-      super.execute(token);
-    }
-    finally
-    {
-      sm.throwSignal(getExitSignal());
-    }
-  }
 }

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -27,6 +27,7 @@
 import java.util.List;
 
 import org.jboss.bpm.InvalidProcessException;
+import org.jboss.bpm.model.ExecutionHandler;
 import org.jboss.bpm.model.FlowObject;
 import org.jboss.bpm.model.MultipleOutFlowSupport;
 import org.jboss.bpm.model.Process;
@@ -79,7 +80,7 @@
       }
       else if (oldNode instanceof State)
       {
-        Task delegate = null;
+        ExecutionHandler delegate = null;
         Event event = oldNode.getEvent(Event.EVENTTYPE_NODE_ENTER);
         if (event != null)
         {
@@ -91,10 +92,10 @@
 
           Action action = (Action)actions.get(0);
           Object obj = action.getActionDelegation().getInstance();
-          if (obj instanceof Task == false)
-            throw new InvalidProcessException("Node action is not of type Task");
+          if (obj instanceof ExecutionHandler == false)
+            throw new InvalidProcessException("Node action is not of type ExecutionHandler");
 
-          delegate = (Task)obj;
+          delegate = (ExecutionHandler)obj;
         }
         flowObject = new TaskImpl(apiProc, oldNode, delegate);
         initTranstions(flowObject, oldNode);

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/StartEventImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/StartEventImpl.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/StartEventImpl.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -23,14 +23,9 @@
 
 //$Id$
 
-import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.StartEvent;
-import org.jboss.bpm.runtime.Token;
-import org.jbpm.context.exe.ContextInstance;
 import org.jbpm.graph.def.Node;
-import org.jbpm.graph.exe.Execution;
-import org.jbpm.integration.runtime.ExecutionContextImpl;
 
 /**
  * TODO
@@ -41,32 +36,9 @@
 public class StartEventImpl extends StartEvent
 {
   private Node oldNode;
-  private Execution oldEx;
 
   StartEventImpl(Process proc, Node oldNode)
   {
     this.oldNode = oldNode;
   }
-
-  public Execution getExecution()
-  {
-    return oldEx;
-  }
-
-  public void execute(Token token)
-  {
-    SignalManager sm = SignalManager.locateSignalManager();
-    sm.throwSignal(getEnterSignal());
-    try
-    {
-      this.oldEx = new Execution(oldNode.getProcessDefinition());
-      ContextInstance ctxInst = oldEx.getContextInstance();
-      new ExecutionContextImpl(ctxInst).copyAttachments(token.getExecutionContext());
-      ctxInst.setTransientVariable(Process.class.getName(), getProcess());
-    }
-    finally
-    {
-      sm.throwSignal(getExitSignal());
-    }
-  }
 }

Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/TaskImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/TaskImpl.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/TaskImpl.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -23,10 +23,9 @@
 
 //$Id$
 
-import org.jboss.bpm.client.SignalManager;
+import org.jboss.bpm.model.ExecutionHandler;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.Task;
-import org.jboss.bpm.runtime.Token;
 import org.jbpm.graph.def.Node;
 
 /**
@@ -38,24 +37,13 @@
 public class TaskImpl extends Task
 {
   private Node oldNode;
-  private Task delegate;
-  
-  TaskImpl(Process proc, Node oldNode, Task task)
+
+  TaskImpl(Process proc, Node oldNode, ExecutionHandler handler)
   {
     this.oldNode = oldNode;
-    this.delegate = task;
+    setExecutionHandler(handler);
   }
 
-  protected void initialize(Process proc)
-  {
-    super.initialize(proc);
-    if (delegate != null)
-    {
-      delegate.setProcess(proc);
-      delegate.setName(getName());
-    }
-  }
-  
   public String getName()
   {
     return oldNode.getName();
@@ -65,21 +53,4 @@
   {
     oldNode.setName(name);
   }
-
-  public void execute(Token token)
-  {
-    SignalManager sm = SignalManager.locateSignalManager();
-    sm.throwSignal(getEnterSignal());
-    try
-    {
-      if (delegate != null)
-      {
-        delegate.execute(token);
-      }
-    }
-    finally
-    {
-      sm.throwSignal(getExitSignal());
-    }
-  }
 }

Deleted: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/runtime/TokenImpl.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/runtime/TokenImpl.java	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/runtime/TokenImpl.java	2008-07-13 13:27:59 UTC (rev 1600)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.integration.runtime;
-
-// $Id$
-
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.internal.AbstractToken;
-import org.jbpm.context.exe.ContextInstance;
-
-/**
- * An implementation of an API token
- * 
- * @author thomas.diesler at jboss.com
- * @since 18-Jun-2008
- */
-public class TokenImpl extends AbstractToken
-{
-  private Process proc;
-  
-  public TokenImpl(Process proc, ContextInstance ctxInst)
-  {
-    this.proc = proc;
-    setImplObject(ctxInst);
-  }
-
-  public Process getProcess()
-  {
-    return proc;
-  }
-
-  public ExecutionContext getExecutionContext()
-  {
-    ContextInstance ctxInst = (ContextInstance)getImplObject();
-    return new ExecutionContextImpl(ctxInst);
-  }
-}

Modified: jbpm3/trunk/modules/jpdl/core/src/main/resources/jbpm-beans.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/resources/jbpm-beans.xml	2008-07-13 13:23:02 UTC (rev 1599)
+++ jbpm3/trunk/modules/jpdl/core/src/main/resources/jbpm-beans.xml	2008-07-13 13:27:59 UTC (rev 1600)
@@ -17,7 +17,7 @@
   </bean>
 
   <!-- The execution manager -->
-  <bean name="jBPMExecutionManager" class="org.jbpm.integration.client.ExecutionManagerImpl">
+  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl">
     <property name="processEngine"><inject bean="jBPMProcessEngine" state="Instantiated"/></property>
   </bean>
 




More information about the jbpm-commits mailing list