[jbpm-commits] JBoss JBPM SVN: r1642 - in api/trunk/modules/api/src/main/java/org/jboss/bpm: model/internal and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jul 15 12:25:20 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-07-15 12:25:20 -0400 (Tue, 15 Jul 2008)
New Revision: 1642

Added:
   api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/RuntimeProcessImpl.java
Modified:
   api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
   api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
   api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/RuntimeProcess.java
Log:
Introduce RuntimeProcess

Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java	2008-07-15 16:10:20 UTC (rev 1641)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java	2008-07-15 16:25:20 UTC (rev 1642)
@@ -68,10 +68,11 @@
   }
 
   @Override
-  public Future<Result> startProcess(RuntimeProcess proc, Attachments att)
+  public Future<Result> startProcess(RuntimeProcess rtProc, Attachments att)
   {
+    Process proc = rtProc.getProcess();
     throwSignal(new Signal(proc, Signal.Type.ENTER_PROCESS));
-    MutableFlowScheduler flowScheduler = proc.getFlowScheduler();
+    MutableFlowScheduler flowScheduler = rtProc.getFlowScheduler();
     try
     {
       Token initalToken = new Token(proc, att);

Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java	2008-07-15 16:10:20 UTC (rev 1641)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java	2008-07-15 16:25:20 UTC (rev 1642)
@@ -34,6 +34,7 @@
 import org.jboss.bpm.model.EndEvent;
 import org.jboss.bpm.model.FlowObject;
 import org.jboss.bpm.model.NamedFlowObject;
+import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.Result;
 import org.jboss.bpm.model.StartEvent;
 import org.jboss.bpm.model.internal.jaxb.JAXBComplexGateway;
@@ -48,8 +49,6 @@
 import org.jboss.bpm.model.internal.jaxb.JAXBSubProcess;
 import org.jboss.bpm.model.internal.jaxb.JAXBTask;
 import org.jboss.bpm.runtime.Attachments;
-import org.jboss.bpm.runtime.MutableFlowScheduler;
-import org.jboss.bpm.runtime.RuntimeProcess;
 
 /**
  * A Process is any Activity performed within a company or organization.
@@ -57,11 +56,10 @@
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
-public class ProcessImpl extends ActivityImpl implements RuntimeProcess
+public class ProcessImpl extends ActivityImpl implements Process
 {
   private List<FlowObject> flowObjects = new ArrayList<FlowObject>();
   private ProcessState processState = ProcessState.CREATED;
-  private MutableFlowScheduler scheduler = new FlowSchedulerImpl();
 
   public ProcessImpl(String name)
   {
@@ -132,7 +130,7 @@
 
     processState = ProcessState.STARTED;
     ExecutionManager exm = ExecutionManager.locateExecutionManager();
-    return exm.startProcess(this, att);
+    return exm.startProcess(new RuntimeProcessImpl(this), att);
   }
 
   public FlowObject findFlowObject(String name)
@@ -161,11 +159,6 @@
     return processState;
   }
 
-  public MutableFlowScheduler getFlowScheduler()
-  {
-    return scheduler;
-  }
-
   /**
    * Set the process state
    */

Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/RuntimeProcessImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/RuntimeProcessImpl.java	                        (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/RuntimeProcessImpl.java	2008-07-15 16:25:20 UTC (rev 1642)
@@ -0,0 +1,56 @@
+/*
+ * 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.internal;
+
+//$Id$
+
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.runtime.MutableFlowScheduler;
+import org.jboss.bpm.runtime.RuntimeProcess;
+
+/**
+ * A RuntimeProcess add runtime behaviour to the {@link Process}
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public class RuntimeProcessImpl implements RuntimeProcess
+{
+  private Process process;
+  private MutableFlowScheduler scheduler = new FlowSchedulerImpl();
+
+  public RuntimeProcessImpl(Process process)
+  {
+    super();
+    this.process = process;
+  }
+
+  public Process getProcess()
+  {
+    return process;
+  }
+
+  public MutableFlowScheduler getFlowScheduler()
+  {
+    return scheduler;
+  }
+}
\ No newline at end of file


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

Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/RuntimeProcess.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/RuntimeProcess.java	2008-07-15 16:10:20 UTC (rev 1641)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/RuntimeProcess.java	2008-07-15 16:25:20 UTC (rev 1642)
@@ -27,12 +27,20 @@
 
 /**
  * A RuntimeProcess add runtime behaviour to the {@link Process} 
+ * <p/>
+ * To protect the engine from maligious user code it does not extend  
+ * {@link Process} directly.
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
-public interface RuntimeProcess extends Process
+public interface RuntimeProcess
 {
+  /**
+   * Get the associated {@link Process} 
+   */
+  Process getProcess();
+  
   /** 
    * Get the {@link FlowScheduler} for this {@link Process} 
    * @return




More information about the jbpm-commits mailing list