[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