[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