[jbpm-commits] JBoss JBPM SVN: r1598 - in api/branches/tdiesler: modules/api/src/main/java/org/jboss/bpm/client and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sat Jul 12 08:45:26 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-07-12 08:45:25 -0400 (Sat, 12 Jul 2008)
New Revision: 1598

Added:
   api/branches/tdiesler/docs/VioletUML/APIExecution.png
   api/branches/tdiesler/docs/VioletUML/APIExecution.seq.violet
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Executable.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java
Removed:
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutableFlowObject.java
Modified:
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Event.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
   api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Task.java
Log:
wip

Added: api/branches/tdiesler/docs/VioletUML/APIExecution.png
===================================================================
(Binary files differ)


Property changes on: api/branches/tdiesler/docs/VioletUML/APIExecution.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: api/branches/tdiesler/docs/VioletUML/APIExecution.seq.violet
===================================================================
--- api/branches/tdiesler/docs/VioletUML/APIExecution.seq.violet	                        (rev 0)
+++ api/branches/tdiesler/docs/VioletUML/APIExecution.seq.violet	2008-07-12 12:45:25 UTC (rev 1598)
@@ -0,0 +1,453 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<java version="1.6.0_06" class="java.beans.XMLDecoder"> 
+ <object class="com.horstmann.violet.SequenceDiagramGraph"> 
+  <void method="addNode"> 
+   <object id="LifelineNode0" class="com.horstmann.violet.ImplicitParameterNode"> 
+    <void property="name"> 
+     <void property="text"> 
+      <string>Process</string> 
+     </void> 
+    </void> 
+   </object> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>37.0</double> 
+     <double>0.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object id="ActivationBarNode0" class="com.horstmann.violet.CallNode"> 
+    <void method="addChild"> 
+     <object id="ActivationBarNode1" class="com.horstmann.violet.CallNode"> 
+      <void property="implicitParameter"> 
+       <object id="LifelineNode1" class="com.horstmann.violet.ImplicitParameterNode"> 
+        <void property="name"> 
+         <void property="text"> 
+          <string>Token</string> 
+         </void> 
+        </void> 
+       </object> 
+      </void> 
+     </object> 
+    </void> 
+    <void method="addChild"> 
+     <object id="ActivationBarNode2" class="com.horstmann.violet.CallNode"> 
+      <void property="implicitParameter"> 
+       <object idref="LifelineNode1"/> 
+      </void> 
+     </object> 
+    </void> 
+    <void method="addChild"> 
+     <object id="ActivationBarNode3" class="com.horstmann.violet.CallNode"> 
+      <void method="addChild"> 
+       <object id="ActivationBarNode4" class="com.horstmann.violet.CallNode"> 
+        <void property="implicitParameter"> 
+         <object idref="LifelineNode1"/> 
+        </void> 
+       </object> 
+      </void> 
+      <void method="addChild"> 
+       <object id="ActivationBarNode5" class="com.horstmann.violet.CallNode"> 
+        <void property="implicitParameter"> 
+         <object id="LifelineNode2" class="com.horstmann.violet.ImplicitParameterNode"> 
+          <void property="name"> 
+           <void property="text"> 
+            <string>Flow
+</string> 
+           </void> 
+          </void> 
+         </object> 
+        </void> 
+       </object> 
+      </void> 
+      <void method="addChild"> 
+       <object id="ActivationBarNode6" class="com.horstmann.violet.CallNode"> 
+        <void property="implicitParameter"> 
+         <object id="LifelineNode3" class="com.horstmann.violet.ImplicitParameterNode"> 
+          <void property="name"> 
+           <void property="text"> 
+            <string>FlowObject</string> 
+           </void> 
+          </void> 
+         </object> 
+        </void> 
+       </object> 
+      </void> 
+      <void method="addChild"> 
+       <object id="ActivationBarNode7" class="com.horstmann.violet.CallNode"> 
+        <void property="implicitParameter"> 
+         <object idref="LifelineNode3"/> 
+        </void> 
+       </object> 
+      </void> 
+      <void method="addChild"> 
+       <object id="ActivationBarNode8" class="com.horstmann.violet.CallNode"> 
+        <void method="addChild"> 
+         <object id="ActivationBarNode9" class="com.horstmann.violet.CallNode"> 
+          <void property="implicitParameter"> 
+           <object idref="LifelineNode1"/> 
+          </void> 
+         </object> 
+        </void> 
+        <void property="implicitParameter"> 
+         <object id="LifelineNode4" class="com.horstmann.violet.ImplicitParameterNode"> 
+          <void property="name"> 
+           <void property="text"> 
+            <string>FlowHandler</string> 
+           </void> 
+          </void> 
+         </object> 
+        </void> 
+       </object> 
+      </void> 
+      <void method="addChild"> 
+       <object id="ActivationBarNode10" class="com.horstmann.violet.CallNode"> 
+        <void property="implicitParameter"> 
+         <object idref="LifelineNode1"/> 
+        </void> 
+        <void property="openBottom"> 
+         <boolean>true</boolean> 
+        </void> 
+       </object> 
+      </void> 
+      <void property="implicitParameter"> 
+       <object id="LifelineNode5" class="com.horstmann.violet.ImplicitParameterNode"> 
+        <void property="name"> 
+         <void property="text"> 
+          <string>Execution
+Manager</string> 
+         </void> 
+        </void> 
+       </object> 
+      </void> 
+      <void property="openBottom"> 
+       <boolean>true</boolean> 
+      </void> 
+     </object> 
+    </void> 
+    <void property="implicitParameter"> 
+     <object idref="LifelineNode0"/> 
+    </void> 
+   </object> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>69.0</double> 
+     <double>80.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="LifelineNode5"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>199.0</double> 
+     <double>0.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="LifelineNode3"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>562.0</double> 
+     <double>0.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="LifelineNode4"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>690.0</double> 
+     <double>0.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="LifelineNode1"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>315.0</double> 
+     <double>0.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode1"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>347.0</double> 
+     <double>103.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode2"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>347.0</double> 
+     <double>156.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode3"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>231.0</double> 
+     <double>209.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode4"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>347.0</double> 
+     <double>232.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="LifelineNode2"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>435.0</double> 
+     <double>0.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode5"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>467.0</double> 
+     <double>285.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode6"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>594.0</double> 
+     <double>338.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode7"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>594.0</double> 
+     <double>391.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode8"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>722.0</double> 
+     <double>444.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode9"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>347.0</double> 
+     <double>467.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object idref="ActivationBarNode10"/> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>347.0</double> 
+     <double>540.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object id="NoteNode0" class="com.horstmann.violet.NoteNode"> 
+    <void property="text"> 
+     <void property="text"> 
+      <string>The FlowHandler adds all active
+outgoing Flows to the FlowQueue
+in the Token</string> 
+     </void> 
+    </void> 
+   </object> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>758.0</double> 
+     <double>154.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object id="PointNode0" class="com.horstmann.violet.PointNode"> 
+    <void id="Rectangle2D$Double0" property="bounds"> 
+     <void method="setRect"> 
+      <double>758.0</double> 
+      <double>59.0</double> 
+      <double>0.0</double> 
+      <double>0.0</double> 
+     </void> 
+    </void> 
+    <void property="bounds"> 
+     <object idref="Rectangle2D$Double0"/> 
+    </void> 
+   </object> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>758.0</double> 
+     <double>59.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object id="NoteNode1" class="com.horstmann.violet.NoteNode"> 
+    <void property="text"> 
+     <void property="text"> 
+      <string>The ExecutionManager
+executes Flows while 
+there are any in the
+FlowQueue.</string> 
+     </void> 
+    </void> 
+   </object> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>762.0</double> 
+     <double>354.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="addNode"> 
+   <object id="PointNode1" class="com.horstmann.violet.PointNode"> 
+    <void id="Rectangle2D$Double1" property="bounds"> 
+     <void method="setRect"> 
+      <double>738.0</double> 
+      <double>466.0</double> 
+      <double>0.0</double> 
+      <double>0.0</double> 
+     </void> 
+    </void> 
+    <void property="bounds"> 
+     <object idref="Rectangle2D$Double1"/> 
+    </void> 
+   </object> 
+   <object class="java.awt.geom.Point2D$Double"> 
+    <void method="setLocation"> 
+     <double>738.0</double> 
+     <double>466.0</double> 
+    </void> 
+   </object> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>create</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode0"/> 
+   <object idref="ActivationBarNode1"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>queueFlow</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode0"/> 
+   <object idref="ActivationBarNode2"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>execute(tok)</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode0"/> 
+   <object idref="ActivationBarNode3"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>getFlow</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode3"/> 
+   <object idref="ActivationBarNode4"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>getTarget</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode3"/> 
+   <object idref="ActivationBarNode5"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>execute(tok)</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode3"/> 
+   <object idref="ActivationBarNode6"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>getFlowHandler</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode3"/> 
+   <object idref="ActivationBarNode7"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>transfer(tok)</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode3"/> 
+   <object idref="ActivationBarNode8"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>queueFlows</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode8"/> 
+   <object idref="ActivationBarNode9"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.CallEdge"> 
+    <void property="middleLabel"> 
+     <string>getFlow</string> 
+    </void> 
+   </object> 
+   <object idref="ActivationBarNode3"/> 
+   <object idref="ActivationBarNode10"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.NoteEdge"/> 
+   <object idref="NoteNode0"/> 
+   <object idref="PointNode0"/> 
+  </void> 
+  <void method="connect"> 
+   <object class="com.horstmann.violet.NoteEdge"/> 
+   <object idref="NoteNode1"/> 
+   <object idref="PointNode1"/> 
+  </void> 
+ </object> 
+</java> 

Modified: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java	2008-07-12 12:44:06 UTC (rev 1597)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -33,7 +33,7 @@
 import org.jboss.bpm.NotImplementedException;
 import org.jboss.bpm.client.internal.InitialToken;
 import org.jboss.bpm.model.EndEvent;
-import org.jboss.bpm.model.ExecutableFlowObject;
+import org.jboss.bpm.model.ExecutionHandler;
 import org.jboss.bpm.model.FlowObject;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.Result;
@@ -75,7 +75,7 @@
     try
     {
       FlowObject fo = proc.getStartEvent();
-      ExecutableFlowObject exfo = getExecutable(fo);
+      ExecutionHandler exfo = getExecutable(fo);
       Token token = new InitialToken(proc, att);
       
       boolean hasEnded = false;
@@ -99,12 +99,12 @@
     return new ResultFuture(proc);
   }
 
-  protected ExecutableFlowObject getExecutable(FlowObject fo)
+  protected ExecutionHandler getExecutable(FlowObject fo)
   {
-    if (fo instanceof ExecutableFlowObject == false)
+    if (fo instanceof ExecutionHandler == false)
       throw new IllegalStateException("Flow object is not executable: " + fo);
     
-    return (ExecutableFlowObject)fo;
+    return (ExecutionHandler)fo;
   }
 
   protected void throwSignal(Signal signal)

Modified: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Event.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Event.java	2008-07-12 12:44:06 UTC (rev 1597)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Event.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -35,7 +35,7 @@
  * @since 08-Jul-2008
  */
 @XmlType(name="Event")
-public abstract class Event extends AbstractEvent implements ExecutableFlowObject
+public abstract class Event extends AbstractEvent implements Executable
 {
   /**
    * Construct an anonymous StartEvent. 

Added: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Executable.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Executable.java	                        (rev 0)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Executable.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -0,0 +1,42 @@
+/*
+ * 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.jboss.bpm.model;
+
+//$Id$
+
+/**
+ * A combined interface for execution aspects
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Executable
+{
+  /** Get the associated ExecutionHandler */ 
+  ExecutionHandler getExecutionHandler();
+  
+  /** Get the associated SignalHandler */ 
+  SignalHandler getSignalHandler();
+  
+  /** Get the associated FlowHandler */ 
+  FlowHandler getFlowHandler();
+}
\ No newline at end of file


Property changes on: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Executable.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutableFlowObject.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutableFlowObject.java	2008-07-12 12:44:06 UTC (rev 1597)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutableFlowObject.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -1,50 +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.jboss.bpm.model;
-
-import org.jboss.bpm.runtime.Token;
-
-//$Id$
-
-/**
- * Implement to make the FlowObject executable
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface ExecutableFlowObject
-{
-  /** 
-   * Get signal for enter 
-   */
-  Signal getEnterSignal();
-
-  /** 
-   * Get signal for exit 
-   */
-  Signal getExitSignal();
-
-  /** 
-   * Execute this flow object
-   */
-  void execute(Token token);
-}
\ No newline at end of file

Copied: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java (from rev 1591, api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExecutableFlowObject.java)
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java	                        (rev 0)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -0,0 +1,40 @@
+/*
+ * 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.jboss.bpm.model;
+
+//$Id$
+
+import org.jboss.bpm.runtime.Token;
+
+/**
+ * Implement to make the FlowObject executable
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ExecutionHandler
+{
+  /** 
+   * Execute this flow object
+   */
+  void execute(Token token);
+}
\ No newline at end of file

Added: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java	                        (rev 0)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -0,0 +1,76 @@
+/*
+ * 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.jboss.bpm.model;
+
+//$Id$
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Implement to return the
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+ at XmlType(name = "FlowHandler")
+public class FlowHandler
+{
+  @XmlElement(name = "class")
+  private String className;
+  @XmlElement(name = "bean")
+  private String beanRef;
+  @XmlTransient
+  private FlowHandler delegate;
+
+  /**
+   * Get signal for enter
+   */
+  @XmlTransient
+  public List<Flow> getExecutableFlows()
+  {
+    return getDelegate().getExecutableFlows();
+  }
+
+  private FlowHandler getDelegate()
+  {
+    if (delegate == null)
+    {
+      try
+      {
+        if (className != null)
+        {
+          ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
+          FlowHandler delegate = (FlowHandler)ctxLoader.loadClass(className).newInstance();
+        }
+      }
+      catch (Exception ex)
+      {
+        // TODO: handle exception
+      }
+    }
+    return delegate;
+  }
+}
\ No newline at end of file


Property changes on: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java	2008-07-12 12:44:06 UTC (rev 1597)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -38,10 +38,11 @@
  * @since 08-Jul-2008
  */
 @XmlType(name="Gateway")
-public abstract class Gateway extends AbstractGateway implements NamedFlowObject, ExecutableFlowObject
+public abstract class Gateway extends AbstractGateway implements NamedFlowObject, Executable
 {
   @XmlTransient
   protected List<Flow> inFlows = new ArrayList<Flow>();
+  protected 
   
   /**
    * Construct an anonymous Gateway

Added: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java	                        (rev 0)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -0,0 +1,44 @@
+/*
+ * 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.jboss.bpm.model;
+
+
+//$Id$
+
+/**
+ * Implement to get signals on enter and exit.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SignalHandler
+{
+  /** 
+   * Get signal for enter 
+   */
+  Signal getEnterSignal();
+
+  /** 
+   * Get signal for exit 
+   */
+  Signal getExitSignal();
+}
\ No newline at end of file


Property changes on: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java	2008-07-12 12:44:06 UTC (rev 1597)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -35,7 +35,7 @@
  * @since 08-Jul-2008
  */
 @XmlType(name="SubProcess")
-public class SubProcess extends AbstractSubProcess implements SingleInFlowSupport, ExecutableFlowObject
+public class SubProcess extends AbstractSubProcess implements SingleInFlowSupport, Executable
 {
   private Flow inFlow;
   

Modified: api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Task.java
===================================================================
--- api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Task.java	2008-07-12 12:44:06 UTC (rev 1597)
+++ api/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Task.java	2008-07-12 12:45:25 UTC (rev 1598)
@@ -38,7 +38,7 @@
  * @since 08-Jul-2008
  */
 @XmlType(name = "Task")
-public class Task extends AbstractTask implements SingleInFlowSupport, ExecutableFlowObject
+public class Task extends AbstractTask implements SingleInFlowSupport, Executable
 {
   private Flow inFlow;
 




More information about the jbpm-commits mailing list