[jbpm-commits] JBoss JBPM SVN: r2913 - in projects/spec/trunk/modules: api/src/main/java/org/jbpm/api/model and 40 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Nov 13 09:53:02 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-13 09:53:01 -0500 (Thu, 13 Nov 2008)
New Revision: 2913

Added:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessAsync.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java
Removed:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Process.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/preview/GatewayBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/BasicExecutionContext.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/ExecutionContext.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/processengine/MockProcessEngine.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java
Modified:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessDefinition.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Token.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ExecutionService.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessInstanceService.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/MessageService.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/PersistenceService.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessServiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/waitstate/WaitStateTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/multichoice/MultiChoiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/casedata/CaseDataTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/taskdata/TaskDataTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/endevent/EndEventMessageTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/executioncontext/ExecutionContextTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeInputSetTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeOutputSetTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodePropertyTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/process/ProcessPropertyTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/startevent/StartEventSignalTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/java/JavaTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/receive/ReceiveTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/send/SendTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskCallbackTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/transaction/TxRequiredTest.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GatewayBuilderImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/AssignmentInterceptor.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExpressionEvaluator.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/InProcessTokenExecutor.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/MessageSender.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RunnableToken.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcessImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ThreadingTokenExecutor.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TokenImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessBuilderServiceImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessServiceImpl.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessPersistenceTest.java
   projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
   projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
   projects/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java
Log:
Remove ExecutionContext

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Process.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Process.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Process.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,95 +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.api.client;
-
-//$Id$
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.model.ProcessStructure;
-import org.jbpm.api.runtime.Attachments;
-
-/**
- * A Process is any Activity performed within a company or organization.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Process extends ProcessStructure
-{
-  /**
-   * Defines the status a {@link Process} can be in
-   */
-  public enum ProcessStatus
-  {
-    None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed
-  }
-
-  /**
-   * Get the associated ProcessEngine
-   */
-  ProcessEngine getProcessEngine();
-  
-  /**
-   * Get the associated ProcessDefinition
-   */
-  ProcessDefinition getProcessDefinition();
-  
-  /**
-   * Get the process state
-   */
-  ProcessStatus getProcessStatus();
-
-  /**
-   * Start the process
-   */
-  Token startProcess();
-
-  /**
-   * Start the process, with a given execution context
-   */
-  Token startProcess(Attachments att);
-
-  /**
-   * Start the process asynchronously
-   */
-  ObjectName startProcessAsync();
-
-  /**
-   * Start the process asynchronously, with a given execution context
-   */
-  ObjectName startProcessAsync(Attachments att);
-
-  /**
-   * All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event. The
-   * Process will be in a running state until all Tokens are consumed. <p/> This method until the process ends without
-   * timeout.
-   */
-  ProcessStatus waitForEnd();
-
-  /**
-   * All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event. The
-   * Process will be in a running state until all Tokens are consumed. <p/> This method until the process ends with a
-   * given timeout.
-   */
-  ProcessStatus waitForEnd(long timeout);
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessAsync.java (from rev 2911, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Process.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessAsync.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessAsync.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -0,0 +1,95 @@
+/*
+ * 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.api.client;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.model.ProcessStructure;
+import org.jbpm.api.runtime.Attachments;
+
+/**
+ * A Process is any Activity performed within a company or organization.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ProcessAsync extends ProcessStructure
+{
+  /**
+   * Defines the status a {@link ProcessAsync} can be in
+   */
+  public enum ProcessStatus
+  {
+    None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed
+  }
+
+  /**
+   * Get the associated ProcessEngine
+   */
+  ProcessEngine getProcessEngine();
+  
+  /**
+   * Get the associated ProcessDefinition
+   */
+  ProcessDefinition getProcessDefinition();
+  
+  /**
+   * Get the process state
+   */
+  ProcessStatus getProcessStatus();
+
+  /**
+   * Start the process
+   */
+  Token startProcess();
+
+  /**
+   * Start the process, with a given execution context
+   */
+  Token startProcess(Attachments att);
+
+  /**
+   * Start the process asynchronously
+   */
+  ObjectName startProcessAsync();
+
+  /**
+   * Start the process asynchronously, with a given execution context
+   */
+  ObjectName startProcessAsync(Attachments att);
+
+  /**
+   * All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event. The
+   * Process will be in a running state until all Tokens are consumed. <p/> This method until the process ends without
+   * timeout.
+   */
+  ProcessStatus waitForEnd();
+
+  /**
+   * All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event. The
+   * Process will be in a running state until all Tokens are consumed. <p/> This method until the process ends with a
+   * given timeout.
+   */
+  ProcessStatus waitForEnd(long timeout);
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessDefinition.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessDefinition.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/ProcessDefinition.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -36,7 +36,7 @@
   /**
    * Create a new instance of this process definition
    */
-  Process newInstance();
+  ProcessAsync newInstance();
 
   /**
    * Get the associated ProcessEngine

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Token.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Token.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/Token.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 
 /**
  * A Token is a descriptive construct used to describe how the flow of a Process will proceed at runtime.
@@ -62,14 +62,14 @@
   TokenStatus getTokenStatus();
 
   /**
-   * Get the associated {@link Process}
+   * Get the associated {@link ProcessAsync}
    */
-  Process getProcess();
+  ProcessAsync getProcess();
   
   /**
-   * Get the associated {@link ExecutionContext}
+   * Get the associated {@link Attachments}
    */
-  ExecutionContext getExecutionContext();
+  Attachments getAttachments();
 
   /**
    * Get the last {@link SequenceFlow}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.preview.Assignment;
 import org.jbpm.api.model.preview.Group;
@@ -50,7 +50,7 @@
   /**
    * Get the associated process 
    */
-  Process getProcess();
+  ProcessAsync getProcess();
 
   /** 
    * Get the unique name. 

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java (from rev 2897, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/preview/GatewayBuilder.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -0,0 +1,52 @@
+/*
+ * 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.api.model.builder;
+
+import org.jbpm.api.model.Gate;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
+
+
+//$Id$
+
+/**
+ * The GatewayBuilder can be used to build a Gateway dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface GatewayBuilder extends ProcessBuilder
+{
+  /**
+   * Add the default {@link Gate}
+   */
+  GatewayBuilder addDefaultGate(String targetName);
+  
+  /**
+   * Add a conditional {@link Gate}
+   */
+  GatewayBuilder addConditionalGate(String targetName, ExpressionLanguage exprLang, String exprBody);
+
+  /**
+   * Add an unconditional {@link Gate}
+   */
+  GatewayBuilder addGate(String targetName);
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -23,7 +23,7 @@
 
 //$Id$
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Event.EventDetailType;
@@ -31,7 +31,6 @@
 import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.model.builder.preview.EventBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.builder.preview.GroupBuilder;
 import org.jbpm.api.model.builder.preview.MessageBuilder;
 import org.jbpm.api.model.preview.Message;
@@ -43,7 +42,7 @@
 import org.jbpm.api.runtime.preview.SignalHandler;
 
 /**
- * The ProcessBuilder can be used to build a {@link Process} dynamically.
+ * The ProcessBuilder can be used to build a {@link ProcessAsync} dynamically.
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
@@ -51,7 +50,7 @@
 public interface ProcessBuilder
 {
   /**
-   * Add a {@link Process} with a given name
+   * Add a {@link ProcessAsync} with a given name
    */
   ProcessBuilder addProcess(String name);
 

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/preview/GatewayBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/preview/GatewayBuilder.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/preview/GatewayBuilder.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,53 +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.api.model.builder.preview;
-
-import org.jbpm.api.model.Gate;
-import org.jbpm.api.model.Expression.ExpressionLanguage;
-import org.jbpm.api.model.builder.ProcessBuilder;
-
-
-//$Id$
-
-/**
- * The GatewayBuilder can be used to build a Gateway dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface GatewayBuilder extends ProcessBuilder
-{
-  /**
-   * Add the default {@link Gate}
-   */
-  GatewayBuilder addDefaultGate(String targetName);
-  
-  /**
-   * Add a conditional {@link Gate}
-   */
-  GatewayBuilder addConditionalGate(String targetName, ExpressionLanguage exprLang, String exprBody);
-
-  /**
-   * Add an unconditional {@link Gate}
-   */
-  GatewayBuilder addGate(String targetName);
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/BasicExecutionContext.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/BasicExecutionContext.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/BasicExecutionContext.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,45 +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.api.runtime.preview;
-
-import org.jbpm.api.runtime.Attachments;
-import org.jbpm.api.runtime.BasicAttachments;
-
-//$Id$
-
-/**
- * A basic ExecutionContext.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 15-Aug-2008
- */
-public class BasicExecutionContext extends BasicAttachments implements ExecutionContext
-{
-  public BasicExecutionContext()
-  {
-  }
-  
-  public BasicExecutionContext(Attachments att)
-  {
-    super(att);
-  }
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/ExecutionContext.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/ExecutionContext.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/preview/ExecutionContext.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,37 +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.api.runtime.preview;
-
-import org.jbpm.api.runtime.Attachments;
-
-// $Id$
-
-
-/**
- * An execution context that can take attachments.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007
- */
-public interface ExecutionContext extends Attachments
-{
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ExecutionService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ExecutionService.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ExecutionService.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,8 +26,8 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.Process.ProcessStatus;
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.runtime.Attachments;
 
@@ -60,19 +60,19 @@
    * @param start The StartEvent that triggers the process
    * @param att The Attachments in the ExecutionContext
    */
-  public abstract void startProcess(Process proc, StartEvent start, Attachments att);
+  public abstract void startProcess(ProcessAsync proc, StartEvent start, Attachments att);
 
   /**
    * All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event. The
    * Process will be in a running state until all Tokens are consumed. <p/> This method until the process ends without
    * timeout.
    */
-  public abstract ProcessStatus waitForEnd(Process proc);
+  public abstract ProcessStatus waitForEnd(ProcessAsync proc);
 
   /**
    * All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event. The
    * Process will be in a running state until all Tokens are consumed. <p/> This method until the process ends with a
    * given timeout.
    */
-  public abstract ProcessStatus waitForEnd(Process proc, long timeout);
+  public abstract ProcessStatus waitForEnd(ProcessAsync proc, long timeout);
 }

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessBuilderService.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessBuilderService.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -24,12 +24,12 @@
 //$Id$
 
 import org.jbpm.api.client.Configuration;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.builder.ProcessBuilder;
 
 /**
- * The ProcessBuilder can be used to build a {@link Process} dynamically.
+ * The ProcessBuilder can be used to build a {@link ProcessAsync} dynamically.
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessInstanceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessInstanceService.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessInstanceService.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -32,10 +32,10 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.client.Configuration;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.client.Process.ProcessStatus;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.service.preview.PersistenceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -52,7 +52,7 @@
   final static Logger log = LoggerFactory.getLogger(ProcessInstanceService.class);
 
   // The set of registered processes
-  private Map<ObjectName, Process> registeredProcs = new HashMap<ObjectName, Process>();
+  private Map<ObjectName, ProcessAsync> registeredProcs = new HashMap<ObjectName, ProcessAsync>();
 
   // Hide public constructor
   protected ProcessInstanceService()
@@ -71,7 +71,7 @@
   /**
    * Register a Process.
    */
-  public ObjectName registerProcess(Process proc)
+  public ObjectName registerProcess(ProcessAsync proc)
   {
     log.debug("registerProcess: " + proc);
 
@@ -103,7 +103,7 @@
   public boolean unregisterProcess(ObjectName procID)
   {
     boolean removed = false;
-    Process proc = registeredProcs.get(procID);
+    ProcessAsync proc = registeredProcs.get(procID);
     if (proc != null)
     {
       log.debug("unregisterProcess: " + proc);
@@ -120,9 +120,9 @@
   /**
    * Get a Process for a given id
    */
-  public Process getProcess(ObjectName procID)
+  public ProcessAsync getProcess(ObjectName procID)
   {
-    Process proc = registeredProcs.get(procID);
+    ProcessAsync proc = registeredProcs.get(procID);
     return proc;
   }
 
@@ -144,7 +144,7 @@
   public Set<ObjectName> getProcesses(String name, ProcessStatus status)
   {
     Set<ObjectName> procSet = new HashSet<ObjectName>();
-    for (Process auxProc : registeredProcs.values())
+    for (ProcessAsync auxProc : registeredProcs.values())
     {
       if (auxProc.getName().equals(name))
       {

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/MessageService.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/MessageService.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -32,7 +32,7 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.client.Configuration;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.preview.MessageListener;
 import org.jbpm.api.model.Event;
@@ -137,7 +137,7 @@
   public void sendMessage(ObjectName procID, String targetName, Message msg)
   {
     ProcessInstanceService procService = ProcessInstanceService.locateProcessService();
-    Process proc = procService.getProcess(procID);
+    ProcessAsync proc = procService.getProcess(procID);
     if (proc == null)
       throw new IllegalStateException("Cannot obtain registered process: " + procID);
 

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/PersistenceService.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/preview/PersistenceService.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -27,7 +27,7 @@
 
 import org.hibernate.Session;
 import org.jbpm.api.client.Configuration;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Node;
@@ -73,17 +73,17 @@
   /**
    * Save the Process to persistent storage
    */
-  public abstract ObjectName saveProcess(Process proc);
+  public abstract ObjectName saveProcess(ProcessAsync proc);
 
   /**
    * Load the Process from persistent storage
    */
-  public abstract Process loadProcess(ObjectName procID);
+  public abstract ProcessAsync loadProcess(ObjectName procID);
 
   /**
    * Delete the Process from persistent storage
    */
-  public abstract void deleteProcess(Process proc);
+  public abstract void deleteProcess(ProcessAsync proc);
 
   /**
    * Save the Node to persistent storage

Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,74 +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.test.cts.gateway.exclusive;
-
-// $Id$
-
-import java.io.IOException;
-import java.util.List;
-
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
-import org.jbpm.api.model.Gateway.GatewayType;
-import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.preview.Signal;
-import org.jbpm.api.service.ProcessBuilderService;
-import org.jbpm.api.test.CTSTestCase;
-
-/**
- * Exclusive data-based gateway that has multiple incoming sequence flows. The first token arriving from one of the
- * incoming sequence flows proceeds along the outgoing sequence flow. All other token are ignored until a token has
- * arrived from each incoming sequence flow.
- * 
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ExclusiveGatewayMergeTest extends CTSTestCase
-{
-  public void testMerge() throws Exception
-  {
-    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
-
-    // Start the process
-    proc.startProcessAsync();
-
-    // Wait for the process to end
-    proc.waitForEnd(5000);
-
-    // Verify the result
-    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
-    assertEquals(1, endSignals.size());
-  }
-
-  public ProcessDefinition getProcessDefinition() throws IOException
-  {
-    ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
-    procBuilder.addProcess("ExclusiveGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
-    procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
-    procBuilder.addTask("TaskA").addSequenceFlow("Merge");
-    procBuilder.addTask("TaskB").addSequenceFlow("Merge");
-    procBuilder.addGateway("Merge", GatewayType.Exclusive).addSequenceFlow("End");
-    procBuilder.addEndEvent("End");
-    return procBuilder.getProcessDefinition();
-  }
-}

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,12 +26,12 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.Gateway.GatewayType;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.preview.Signal;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -64,7 +64,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "15");
@@ -79,7 +79,7 @@
   public void testInvalidGate() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "10");

Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/processengine/MockProcessEngine.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/processengine/MockProcessEngine.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/processengine/MockProcessEngine.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,41 +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.test.cts.processengine;
-
-// $Id$
-
-import org.jbpm.api.client.ProcessEngine;
-
-/**
- * A mock ProcessEngine
- * 
- * @author thomas.diesler at jboss.com
- * @since 24-Sep-2008
- */
-public class MockProcessEngine extends ProcessEngine
-{
-  @Override
-  public void setName(String name)
-  {
-    super.setName(name);
-  }
-}

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -27,7 +27,7 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.service.ProcessDefinitionService;
@@ -66,7 +66,7 @@
     ProcessDefinitionService procDefService = engine.getService(ProcessDefinitionService.class);
     ProcessInstanceService procService = engine.getService(ProcessInstanceService.class);
 
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     assertNotNull("Process not null", proc);
     assertNull("Process not automatically registered", procService.getProcess(proc.getKey()));
     assertNull("ProcessDefinition not automatically registered", procDefService.getProcessDefinition(procDef.getKey()));

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessServiceTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessServiceTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,16 +25,12 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
-import org.jbpm.api.client.preview.SignalListener;
 import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.preview.Signal;
-import org.jbpm.api.model.preview.Signal.SignalType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.service.ProcessDefinitionService;
 import org.jbpm.api.service.ProcessInstanceService;
-import org.jbpm.api.service.preview.SignalService;
 import org.jbpm.api.test.CTSTestCase;
 
 /**
@@ -51,7 +47,7 @@
     ProcessInstanceService procService = ProcessInstanceService.locateProcessService();
     
     ProcessDefinition procDef = getProcessDefinition();
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     assertNull("ProcessDefinition not registered automatically", procDefService.getProcessDefinition(procDef.getKey()));
     assertNull("Process not registered automatically", procService.getProcess(proc.getKey()));
@@ -71,45 +67,6 @@
     assertNull("ProcessDefinition unregistered", procDefService.getProcessDefinition(procDef.getKey()));
   }
   
-  public void testStartProcess() throws Exception
-  {
-    final ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
-    final ProcessInstanceService procService = ProcessInstanceService.locateProcessService();
-    
-    final ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    final Process proc = procDef.newInstance();
-    assertNull("Process not registered automatically", procService.getProcess(proc.getKey()));
-
-    SignalListener sigListener = new SignalListener()
-    {
-      public boolean acceptSignal(Signal signal)
-      {
-        return signal.getSignalType() == SignalType.SYSTEM_TASK_ENTER;
-      }
-
-      public void catchSignal(Signal signal)
-      {
-        assertNotNull(procDefService.getProcessDefinition(procDef.getKey()));
-        assertNotNull(procService.getProcess(proc.getKey()));
-      }
-    };
-    SignalService sigManager = SignalService.locateSignalService();
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Start the process, which automatically adds it to the registry
-      proc.startProcessAsync();
-      proc.waitForEnd(5000);
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
-    assertNull("Process is removed", procService.getProcess(proc.getKey()));
-  }
-
   private ProcessDefinition getProcessDefinition()
   {
     ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/waitstate/WaitStateTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/waitstate/WaitStateTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/waitstate/WaitStateTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.Token;
 import org.jbpm.api.client.Token.TokenStatus;
@@ -45,7 +45,7 @@
   public void testBasicWaitState() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     // Start the Process
     Token tok = proc.startProcess();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,12 +26,12 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.preview.Signal;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -64,7 +64,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "15");
@@ -79,7 +79,7 @@
   public void testInvalidGate() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "10");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/multichoice/MultiChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,12 +26,12 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.preview.Signal;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -63,7 +63,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "15");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -28,7 +28,7 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -49,7 +49,7 @@
   public void testParallelSplit() throws Exception 
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,7 +26,7 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.preview.Signal;
@@ -46,7 +46,7 @@
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
 
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     // Start the Process
     proc.startProcessAsync();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,7 +26,7 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -46,7 +46,7 @@
   public void testSimpleMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     // Start the process
     proc.startProcessAsync();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
@@ -50,7 +50,7 @@
   public void testParallelMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     // Start the process
     proc.startProcessAsync();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/casedata/CaseDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/casedata/CaseDataTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/casedata/CaseDataTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
@@ -50,7 +50,7 @@
   public void testCaseProperties() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/taskdata/TaskDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/taskdata/TaskDataTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/taskdata/TaskDataTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
@@ -51,7 +51,7 @@
   public void testTaskDataRead() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/endevent/EndEventMessageTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/endevent/EndEventMessageTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/endevent/EndEventMessageTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -46,7 +46,7 @@
   public void testStart() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     // Start the process
     BasicAttachments att = new BasicAttachments();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/executioncontext/ExecutionContextTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/executioncontext/ExecutionContextTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/executioncontext/ExecutionContextTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -23,8 +23,8 @@
 
 // $Id$
 
-import org.jbpm.api.runtime.preview.BasicExecutionContext;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
+import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.test.CTSTestCase;
 
 /**
@@ -37,36 +37,36 @@
 {
   public void testStringKey() throws Exception 
   {
-    ExecutionContext exContext = new BasicExecutionContext();
+    Attachments att = new BasicAttachments();
     
-    exContext.addAttachment("foo", "bar");
-    assertEquals("bar", exContext.getAttachment("foo"));
-    assertNull(exContext.getAttachment(String.class, "foo"));
+    att.addAttachment("foo", "bar");
+    assertEquals("bar", att.getAttachment("foo"));
+    assertNull(att.getAttachment(String.class, "foo"));
 
-    exContext.removeAttachment("foo");
-    assertNull(exContext.getAttachment("foo"));
+    att.removeAttachment("foo");
+    assertNull(att.getAttachment("foo"));
   }
   
   public void testClassKey() throws Exception 
   {
-    ExecutionContext exContext = new BasicExecutionContext();
+    Attachments att = new BasicAttachments();
     
-    exContext.addAttachment(String.class, "bar");
-    assertEquals("bar", exContext.getAttachment(String.class));
+    att.addAttachment(String.class, "bar");
+    assertEquals("bar", att.getAttachment(String.class));
     
-    exContext.removeAttachment(String.class);
-    assertNull(exContext.getAttachment(String.class));
+    att.removeAttachment(String.class);
+    assertNull(att.getAttachment(String.class));
   }
   
   public void testStringClassKey() throws Exception 
   {
-    ExecutionContext exContext = new BasicExecutionContext();
+    Attachments att = new BasicAttachments();
     
-    exContext.addAttachment(String.class, "foo", "bar");
-    assertEquals("bar", exContext.getAttachment(String.class, "foo"));
-    assertNull(exContext.getAttachment("foo"));
+    att.addAttachment(String.class, "foo", "bar");
+    assertEquals("bar", att.getAttachment(String.class, "foo"));
+    assertNull(att.getAttachment("foo"));
     
-    exContext.removeAttachment(String.class, "foo");
-    assertNull(exContext.getAttachment(String.class, "foo"));
+    att.removeAttachment(String.class, "foo");
+    assertNull(att.getAttachment(String.class, "foo"));
   }
 }

Copied: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java (from rev 2897, projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java)
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java	                        (rev 0)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -0,0 +1,74 @@
+/*
+ * 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.test.preview.gateway.exclusive;
+
+// $Id$
+
+import java.io.IOException;
+import java.util.List;
+
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
+import org.jbpm.api.model.Gateway.GatewayType;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.model.preview.Signal;
+import org.jbpm.api.service.ProcessBuilderService;
+import org.jbpm.api.test.CTSTestCase;
+
+/**
+ * Exclusive data-based gateway that has multiple incoming sequence flows. The first token arriving from one of the
+ * incoming sequence flows proceeds along the outgoing sequence flow. All other token are ignored until a token has
+ * arrived from each incoming sequence flow.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveGatewayMergeTest extends CTSTestCase
+{
+  public void testMerge() throws Exception
+  {
+    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
+    ProcessAsync proc = procDef.newInstance();
+
+    // Start the process
+    proc.startProcessAsync();
+
+    // Wait for the process to end
+    proc.waitForEnd(5000);
+
+    // Verify the result
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(1, endSignals.size());
+  }
+
+  public ProcessDefinition getProcessDefinition() throws IOException
+  {
+    ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+    procBuilder.addProcess("ExclusiveGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
+    procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
+    procBuilder.addTask("TaskA").addSequenceFlow("Merge");
+    procBuilder.addTask("TaskB").addSequenceFlow("Merge");
+    procBuilder.addGateway("Merge", GatewayType.Exclusive).addSequenceFlow("End");
+    procBuilder.addEndEvent("End");
+    return procBuilder.getProcessDefinition();
+  }
+}

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,7 +26,7 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -46,7 +46,7 @@
   public void testSimpleMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     // Start the process
     proc.startProcessAsync();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,12 +26,12 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.Gateway.GatewayType;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.preview.Signal;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -63,7 +63,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "15");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewayMergeTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewayMergeTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
@@ -50,7 +50,7 @@
   public void testParallelMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     // Start the process
     proc.startProcessAsync();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewaySplitTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewaySplitTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -28,7 +28,7 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -49,7 +49,7 @@
   public void testParallelSplit() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd(5000);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeInputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeInputSetTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeInputSetTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -51,7 +51,7 @@
   public void testValidProps() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("frog", "kermit");
@@ -66,7 +66,7 @@
   public void testInvalidProps() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("pig", "piggy");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeOutputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeOutputSetTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeOutputSetTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -51,7 +51,7 @@
   public void testValidProps() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     proc.startProcessAsync();
     proc.waitForEnd(5000);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodePropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodePropertyTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodePropertyTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
@@ -52,7 +52,7 @@
   public void testActivityPropertyRead() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd(5000);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/process/ProcessPropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/process/ProcessPropertyTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/process/ProcessPropertyTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
@@ -57,7 +57,7 @@
   public void testProcessProperties() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd(5000);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/startevent/StartEventSignalTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/startevent/StartEventSignalTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/startevent/StartEventSignalTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -28,7 +28,7 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.SignalListener;
 import org.jbpm.api.model.Event.EventDetailType;
@@ -63,7 +63,7 @@
     ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
     procDefService.registerProcessDefinition(procDef);
 
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     try
     {
       proc.startProcessAsync();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/java/JavaTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/java/JavaTaskTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/java/JavaTaskTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,15 +25,15 @@
 
 import java.io.IOException;
 
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.TaskBuilder;
 import org.jbpm.api.model.preview.Assignment.AssignTime;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.preview.BasicNodeHandler;
-import org.jbpm.api.runtime.preview.ExecutionContext;
 import org.jbpm.api.runtime.preview.ExecutionHandler;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
@@ -49,7 +49,7 @@
   public void testExecutionHandler() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd(5000);
@@ -91,11 +91,11 @@
     @Override
     public void execute(Token token)
     {
-      ExecutionContext exContext = token.getExecutionContext();
-      procProp = (String)exContext.getAttachment("TaskExecutionHandlerTest.procProp");
-      taskProp = (String)exContext.getAttachment("TaskExecutionHandlerTest.TaskA.taskProp");
-      procAssign = exContext.getAttachment("procAssign");
-      taskAssign = exContext.getAttachment("taskAssign");
+      Attachments atts = token.getAttachments();
+      procProp = (String)atts.getAttachment("TaskExecutionHandlerTest.procProp");
+      taskProp = (String)atts.getAttachment("TaskExecutionHandlerTest.TaskA.taskProp");
+      procAssign = atts.getAttachment("procAssign");
+      taskAssign = atts.getAttachment("taskAssign");
     }
   }
 }

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/receive/ReceiveTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/receive/ReceiveTaskTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/receive/ReceiveTaskTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -28,7 +28,7 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.InvalidProcessException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.SignalListener;
 import org.jbpm.api.model.Event.EventDetailType;
@@ -74,7 +74,7 @@
   public void testUnregisteredProcess() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     MessageService msgService = MessageService.locateMessageService();
     try
@@ -94,7 +94,7 @@
     ProcessInstanceService procService = ProcessInstanceService.locateProcessService();
     
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     ObjectName procID = procService.registerProcess(proc);
     try
@@ -119,7 +119,7 @@
   public void testSuspendedToken() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    final Process proc = procDef.newInstance();
+    final ProcessAsync proc = procDef.newInstance();
     SignalListener sigListener = new SignalListener()
     {
       private boolean sendMessage = true;

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/send/SendTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/send/SendTaskTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/send/SendTaskTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -27,7 +27,7 @@
 import java.util.List;
 
 import org.jbpm.api.InvalidProcessException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -48,7 +48,7 @@
   public void testSendTask() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "bar");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskCallbackTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskCallbackTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskCallbackTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,7 +26,7 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.UserTaskCallback;
 import org.jbpm.api.model.Event.EventDetailType;
@@ -50,7 +50,7 @@
   public void testUserTask() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     // Attach the callback to the UserTask
     UserTask userTask = proc.getNode(UserTask.class, "UserTask");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -29,7 +29,7 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.Constants;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.MessageListener;
 import org.jbpm.api.model.Event.EventDetailType;
@@ -58,7 +58,7 @@
   public void testUserTask() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     
     // Register the process - this assigns the procID
     ProcessInstanceService procService = ProcessInstanceService.locateProcessService();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/transaction/TxRequiredTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/transaction/TxRequiredTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/transaction/TxRequiredTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -29,9 +29,9 @@
 import org.hibernate.Transaction;
 import org.jbpm.api.Constants;
 import org.jbpm.api.Constants.TxType;
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -66,7 +66,7 @@
     assertSame("Group same", group, groupA);
     assertSame("Group same", group, groupB);
 
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     proc.startProcessAsync();
     proc.waitForEnd();
@@ -78,7 +78,7 @@
   public void testRollback() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment(Boolean.class, "rollback", Boolean.TRUE);
@@ -113,7 +113,7 @@
     public void execute(Token token)
     {
       Transaction tx = TransactionAssociation.getTransaction();
-      Boolean doRollback = token.getExecutionContext().getAttachment(Boolean.class, "rollback");
+      Boolean doRollback = token.getAttachments().getAttachment(Boolean.class, "rollback");
       if (doRollback == Boolean.TRUE)
         tx.rollback();
     }

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -36,10 +36,10 @@
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.api.model.Task.TaskType;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.TaskBuilder;
 import org.jbpm.api.model.builder.preview.EventBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.builder.preview.GroupBuilder;
 import org.jbpm.api.model.builder.preview.MessageBuilder;
 import org.jbpm.api.model.builder.preview.ObjectNameFactory;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -29,7 +29,7 @@
 import javax.persistence.MappedSuperclass;
 
 import org.hibernate.Session;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.AbstractElement;
@@ -87,22 +87,22 @@
     // nothing to do
   }
   
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     // nothing to do
   }
   
-  protected void register(Process proc)
+  protected void register(ProcessAsync proc)
   {
     // nothing to do
   }
   
-  protected void unregister(Process proc)
+  protected void unregister(ProcessAsync proc)
   {
     // nothing to do
   }
   
-  protected void destroy(Process proc)
+  protected void destroy(ProcessAsync proc)
   {
     // nothing to do
   }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -28,15 +28,15 @@
 
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.builder.preview.ObjectNameFactory;
 import org.jbpm.api.model.preview.Signal;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.preview.FlowHandler;
 import org.jbpm.api.runtime.preview.SignalHandler;
 import org.jbpm.api.runtime.preview.TokenExecutor;
@@ -129,8 +129,8 @@
         sigService.throwSignal(signal);
         
         // Destroy the token
-        ExecutionContext exContext = token.getExecutionContext();
-        EndSignalCallback callback = exContext.removeAttachment(EndSignalCallback.class);
+        Attachments att = token.getAttachments();
+        EndSignalCallback callback = att.removeAttachment(EndSignalCallback.class);
         callback.destroyToken(token);
       }
 
@@ -158,8 +158,8 @@
       public void execute(TokenExecutor tokenExecutor, Token token)
       {
         log.debug("End reached in: " + getName());
-        ExecutionContext exContext = token.getExecutionContext();
-        exContext.addAttachment(EndSignalCallback.class, new EndSignalCallback(tokenExecutor));
+        Attachments att = token.getAttachments();
+        att.addAttachment(EndSignalCallback.class, new EndSignalCallback(tokenExecutor));
       }
 
       @Override

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -32,10 +32,10 @@
 
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
-import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.client.Token;
 import org.jbpm.api.model.Event;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
@@ -214,7 +214,7 @@
   }
 
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -34,8 +34,8 @@
 import javax.persistence.Transient;
 
 import org.jbpm.api.Constants;
+import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -38,8 +38,8 @@
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.api.model.preview.InclusiveGateway;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.Attachments.Key;
-import org.jbpm.api.runtime.preview.ExecutionContext;
 import org.jbpm.api.runtime.preview.FlowHandler;
 import org.jbpm.api.runtime.preview.TokenExecutor;
 import org.jbpm.ri.runtime.MutableToken;
@@ -150,12 +150,12 @@
         if (expr.getExpressionLanguage() == ExpressionLanguage.MVEL)
         {
           String mvel = expr.getExpressionBody();
-          ExecutionContext exContext = token.getExecutionContext();
+          Attachments atts = token.getAttachments();
           Map<String, Object> vars = new HashMap<String, Object>();
-          for (Key key : exContext.getAttachmentKeys())
+          for (Key key : atts.getAttachmentKeys())
           {
             String name = key.getNamePart();
-            Object value = exContext.getAttachment(name);
+            Object value = atts.getAttachment(name);
             vars.put(name, value);
           }
           Boolean result = (Boolean)MVEL.eval(mvel, vars);

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -43,7 +43,7 @@
 import org.hibernate.annotations.IndexColumn;
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.NameNotUniqueException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
@@ -130,7 +130,7 @@
   private ProcessDefinition procDef;
 
   @ManyToOne(targetEntity = ProcessImpl.class)
-  private Process proc;
+  private ProcessAsync proc;
 
   @ManyToOne(targetEntity = GroupImpl.class)
   private Group groupRef;
@@ -153,7 +153,7 @@
   }
 
   @Override
-  public Process getProcess()
+  public ProcessAsync getProcess()
   {
     return proc;
   }
@@ -397,7 +397,7 @@
   }
 
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
     this.proc = proc;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -41,7 +41,7 @@
 import org.hibernate.Hibernate;
 import org.hibernate.Session;
 import org.jbpm.api.Constants;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Node;
@@ -101,7 +101,7 @@
   }
 
   @Override
-  public Process newInstance()
+  public ProcessAsync newInstance()
   {
     // Create a copy of the process structure from raw data
     ProcessStructureImpl procStructCopy;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -39,7 +39,7 @@
 import org.hibernate.Session;
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
@@ -66,7 +66,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMProcess")
-public class ProcessImpl extends AbstractElementImpl implements Process
+public class ProcessImpl extends AbstractElementImpl implements ProcessAsync
 {
   private static final long serialVersionUID = 1L;
 
@@ -370,28 +370,28 @@
   }
   
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
     procStruct.create(proc);
   }
 
   @Override
-  public void register(Process proc)
+  public void register(ProcessAsync proc)
   {
     super.register(proc);
     procStruct.register(proc);
   }
 
   @Override
-  public void unregister(Process proc)
+  public void unregister(ProcessAsync proc)
   {
     super.unregister(proc);
     procStruct.unregister(proc);
   }
 
   @Override
-  protected void destroy(Process proc)
+  protected void destroy(ProcessAsync proc)
   {
     super.destroy(proc);
     procStruct.destroy(proc);

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -41,7 +41,7 @@
 import org.hibernate.annotations.IndexColumn;
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.EndEvent;
@@ -360,7 +360,7 @@
   }
 
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
     for (Node node : getNodes())
@@ -371,7 +371,7 @@
   }
 
   @Override
-  protected void register(Process proc)
+  protected void register(ProcessAsync proc)
   {
     super.register(proc);
     for (Node node : getNodes())
@@ -382,7 +382,7 @@
   }
 
   @Override
-  protected void unregister(Process proc)
+  protected void unregister(ProcessAsync proc)
   {
     super.unregister(proc);
     for (Node node : getNodes())
@@ -393,7 +393,7 @@
   }
 
   @Override
-  protected void destroy(Process proc)
+  protected void destroy(ProcessAsync proc)
   {
     super.destroy(proc);
     for (Node node : getNodes())

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -31,14 +31,14 @@
 
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.MessageListener;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.preview.Message;
 import org.jbpm.api.model.preview.ReceiveTask;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.preview.TokenExecutor;
 import org.jbpm.ri.runtime.RuntimeContext;
 import org.slf4j.Logger;
@@ -107,11 +107,11 @@
     {
       // Copy the expected properties from the received message
       Message msg = receivedMessages.remove(0);
-      ExecutionContext exContext = token.getExecutionContext();
+      Attachments att = token.getAttachments();
       for (String key : messageRef.getPropertyNames())
       {
         Object value = msg.getProperty(key).getValue();
-        exContext.addAttachment(key, value);
+        att.addAttachment(key, value);
       }
     }
     else
@@ -165,7 +165,7 @@
   }
 
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -27,9 +27,9 @@
 import javax.persistence.Transient;
 
 import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.preview.Message;
@@ -119,7 +119,7 @@
   }
 
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -29,10 +29,10 @@
 
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
-import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.client.Token;
 import org.jbpm.api.client.preview.SignalListener;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
@@ -187,7 +187,7 @@
 
             // There MAY be multiple Start Events for a given Process level. Each Start Event is an independent event. 
             // That is, a Process Instance SHALL be generated when the Start Event is triggered.
-            Process proc = procDef.newInstance();
+            ProcessAsync proc = procDef.newInstance();
             StartEvent startEvent = proc.getNode(StartEvent.class, startEventName);
             
             ExecutionService execService = engine.getService(ExecutionService.class);

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -39,8 +39,8 @@
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
@@ -51,7 +51,7 @@
 import org.jbpm.api.model.preview.OutputSet;
 import org.jbpm.api.model.preview.Property;
 import org.jbpm.api.model.preview.Signal;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.preview.ExecutionHandler;
 import org.jbpm.api.runtime.preview.SignalHandler;
 import org.jbpm.api.service.preview.SignalService;
@@ -212,7 +212,7 @@
   protected InputSet getActiveInputSet(Token token)
   {
     InputSetImpl inputSet = null;
-    ExecutionContext exContext = token.getExecutionContext();
+    Attachments atts = token.getAttachments();
 
     // Find the InputSet that matches the data in the Token
     if (inputSets.size() > 0)
@@ -222,7 +222,7 @@
         boolean allInputPropsInContext = true;
         for (String propName : auxSet.getPropertyNames())
         {
-          Object att = exContext.getAttachment(propName);
+          Object att = atts.getAttachment(propName);
           allInputPropsInContext &= (att != null);
         }
         if (allInputPropsInContext == true)
@@ -230,7 +230,7 @@
           inputSet = new InputSetImpl();
           for (String propName : auxSet.getPropertyNames())
           {
-            Object value = exContext.getAttachment(propName);
+            Object value = atts.getAttachment(propName);
             inputSet.addProperty(new PropertyImpl(propName, value));
           }
           break;
@@ -239,7 +239,7 @@
       if (inputSet == null)
       {
         log.warn("InputSets: " + inputSets);
-        throw new IllegalStateException("Cannot find matching inputSet for " + exContext + " in Activity: " + getName());
+        throw new IllegalStateException("Cannot find matching inputSet for " + atts + " in Activity: " + getName());
       }
     }
 
@@ -282,7 +282,7 @@
    */
   protected void processOutputSet(Token token)
   {
-    ExecutionContext exContext = token.getExecutionContext();
+    Attachments atts = token.getAttachments();
 
     // Add the outputSet properties to the Token
     OutputSet outputSet = getActiveOutputSet();
@@ -294,7 +294,7 @@
 
       String name = outProp.getName();
       Object value = outProp.getValue();
-      exContext.addAttachment(name, value);
+      atts.addAttachment(name, value);
     }
   }
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -33,15 +33,15 @@
 import javax.persistence.Transient;
 
 import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.MessageListener;
 import org.jbpm.api.client.preview.UserTaskCallback;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.preview.Message;
 import org.jbpm.api.model.preview.UserTask;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.preview.TokenExecutor;
 import org.jbpm.ri.runtime.MessageSender;
 import org.jbpm.ri.runtime.RuntimeContext;
@@ -139,11 +139,11 @@
     {
       // Copy the expected properties from the received message
       Message msg = receivedMessages.remove(0);
-      ExecutionContext exContext = token.getExecutionContext();
+      Attachments atts = token.getAttachments();
       for (String key : inMessageRef.getPropertyNames())
       {
         Object value = msg.getProperty(key).getValue();
-        exContext.addAttachment(key, value);
+        atts.addAttachment(key, value);
       }
     }
     else
@@ -202,7 +202,7 @@
   }
 
   @Override
-  protected void create(Process proc)
+  protected void create(ProcessAsync proc)
   {
     super.create(proc);
 
@@ -212,7 +212,7 @@
   }
 
   @Override
-  protected void register(Process proc)
+  protected void register(ProcessAsync proc)
   {
     super.register(proc);
     
@@ -227,7 +227,7 @@
   }
 
   @Override
-  protected void unregister(Process proc)
+  protected void unregister(ProcessAsync proc)
   {
     super.unregister(proc);
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GatewayBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GatewayBuilderImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GatewayBuilderImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,7 +26,7 @@
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.ri.model.ExpressionImpl;
 import org.jbpm.ri.model.GatewayImpl;
 import org.jbpm.ri.model.SequenceFlowImpl;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -24,17 +24,17 @@
 //$Id$
 
 import org.jbpm.api.NotImplementedException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.Task.TaskType;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.TaskBuilder;
 import org.jbpm.api.model.builder.preview.EventBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.builder.preview.GroupBuilder;
 import org.jbpm.api.model.builder.preview.MessageBuilder;
 import org.jbpm.api.model.preview.Assignment.AssignTime;
@@ -64,7 +64,7 @@
 import org.jbpm.ri.model.WaitStateImpl;
 
 /**
- * The ProcessBuilder can be used to dynamically build a {@link Process}.
+ * The ProcessBuilder can be used to dynamically build a {@link ProcessAsync}.
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/AssignmentInterceptor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/AssignmentInterceptor.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/AssignmentInterceptor.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -28,7 +28,7 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.preview.Assignment;
 import org.jbpm.api.model.preview.Assignment.AssignTime;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 
 /**
  * An interceptor that invokes the ExecutionHandler.execute
@@ -50,7 +50,7 @@
       if (ass.getAssignTime() == AssignTime.Start)
         anyTimeAssignment(ass, token);
     }
-    
+
     // Call the next Interceptor
     rtContext.next();
 
@@ -68,7 +68,7 @@
     ExpressionEvaluator exprEvaluator = new ExpressionEvaluator(expr);
     Object result = exprEvaluator.evaluateExpression(token);
     String propName = ass.getTo().getName();
-    ExecutionContext exContext = token.getExecutionContext();
-    exContext.addAttachment(propName, result);
+    Attachments att = token.getAttachments();
+    att.addAttachment(propName, result);
   }
 }
\ No newline at end of file

Copied: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java (from rev 2897, projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java)
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java	                        (rev 0)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -0,0 +1,179 @@
+/*
+ * 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.ri.runtime;
+
+//$Id$
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.api.client.ProcessAsync;
+import org.jbpm.api.client.ProcessDefinition;
+import org.jbpm.api.model.Node;
+import org.jbpm.api.model.preview.Property;
+import org.jbpm.api.runtime.Attachments;
+
+/**
+ * An ExecutionContext that delegates to the current {@link Node} or {@link ProcessAsync} for property rerieval.
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 15-Aug-2008
+ */
+public class DelegatingAttachments implements Attachments
+{
+  private Node node;
+  private Attachments delegate;
+  private String activityPrefix;
+  private String procPrefix;
+  private ProcessDefinition procDef;
+
+  DelegatingAttachments(Node node, Attachments delegate)
+  {
+    this.node = node;
+    this.delegate = delegate;
+
+    procDef = node.getProcessDefinition();
+    procPrefix = procDef.getName() + ".";
+    activityPrefix = procPrefix + node.getName() + ".";
+  }
+
+  public Object getAttachment(String name)
+  {
+    Object value = null;
+
+    // Get activity property
+    if (name.startsWith(activityPrefix))
+    {
+      String key = name.substring(activityPrefix.length());
+      Property prop = node.getProperty(key);
+      if (prop != null)
+      {
+        value = prop.getValue();
+      }
+    }
+
+    // Get process property
+    else if (name.startsWith(procPrefix))
+    {
+      String key = name.substring(procPrefix.length());
+      Property prop = procDef.getProperty(key);
+      if (prop != null)
+      {
+        value = prop.getValue();
+      }
+    }
+
+    // Fallback to execution context
+    if (value == null)
+    {
+      value = delegate.getAttachment(name);
+    }
+
+    return value;
+  }
+
+  public Collection<Key> getAttachmentKeys()
+  {
+    Collection<Key> keys = new ArrayList<Key>(delegate.getAttachmentKeys());
+
+    // Add activity property keys
+    for (String propName : node.getPropertyNames())
+    {
+      Key key = new Key(null, activityPrefix + propName);
+      keys.add(key);
+    }
+
+    // Add process property keys
+    for (String propName : procDef.getPropertyNames())
+    {
+      Key key = new Key(null, procPrefix + propName);
+      keys.add(key);
+    }
+
+    return keys;
+  }
+
+  public <T> T getAttachment(Class<T> clazz)
+  {
+    return delegate.getAttachment(clazz);
+  }
+
+  public <T> T getAttachment(Class<T> clazz, String name)
+  {
+    return delegate.getAttachment(clazz, name);
+  }
+
+  public <T> T addAttachment(Class<T> clazz, Object value)
+  {
+    return delegate.addAttachment(clazz, value);
+  }
+
+  public <T> T addAttachment(Class<T> clazz, String name, Object value)
+  {
+    validateAttachmentKey(name);
+    return delegate.addAttachment(clazz, name, value);
+  }
+
+  public Object addAttachment(String name, Object value)
+  {
+    validateAttachmentKey(name);
+    return delegate.addAttachment(name, value);
+  }
+
+  public <T> T removeAttachment(Class<T> clazz)
+  {
+    return delegate.removeAttachment(clazz);
+  }
+
+  public <T> T removeAttachment(Class<T> clazz, String name)
+  {
+    validateAttachmentKey(name);
+    return delegate.removeAttachment(clazz, name);
+  }
+
+  public Object removeAttachment(String name)
+  {
+    validateAttachmentKey(name);
+    return delegate.removeAttachment(name);
+  }
+
+  private void validateAttachmentKey(String name)
+  {
+    if (name.startsWith(procPrefix) || name.startsWith(activityPrefix))
+      throw new IllegalArgumentException("Invalid attachment key: " + name);
+  }
+
+  public String toString()
+  {
+    Map<Key, Object> combined = new HashMap<Key, Object>();
+    for (Key key : getAttachmentKeys())
+    {
+      if (key.getClassPart() != null)
+        combined.put(key, getAttachment(key.getClassPart(), key.getNamePart()));
+      else
+        combined.put(key, getAttachment(key.getNamePart()));
+    }
+    return combined.toString();
+  }
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -1,179 +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.ri.runtime;
-
-//$Id$
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jbpm.api.client.Process;
-import org.jbpm.api.client.ProcessDefinition;
-import org.jbpm.api.model.Node;
-import org.jbpm.api.model.preview.Property;
-import org.jbpm.api.runtime.preview.ExecutionContext;
-
-/**
- * An ExecutionContext that delegates to the current {@link Node} or {@link Process} for property rerieval.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 15-Aug-2008
- */
-public class DelegatingExecutionContext implements ExecutionContext
-{
-  private Node node;
-  private ExecutionContext delegate;
-  private String activityPrefix;
-  private String procPrefix;
-  private ProcessDefinition procDef;
-
-  DelegatingExecutionContext(Node node, ExecutionContext delegate)
-  {
-    this.node = node;
-    this.delegate = delegate;
-
-    procDef = node.getProcessDefinition();
-    procPrefix = procDef.getName() + ".";
-    activityPrefix = procPrefix + node.getName() + ".";
-  }
-
-  public Object getAttachment(String name)
-  {
-    Object value = null;
-
-    // Get activity property
-    if (name.startsWith(activityPrefix))
-    {
-      String key = name.substring(activityPrefix.length());
-      Property prop = node.getProperty(key);
-      if (prop != null)
-      {
-        value = prop.getValue();
-      }
-    }
-
-    // Get process property
-    else if (name.startsWith(procPrefix))
-    {
-      String key = name.substring(procPrefix.length());
-      Property prop = procDef.getProperty(key);
-      if (prop != null)
-      {
-        value = prop.getValue();
-      }
-    }
-
-    // Fallback to execution context
-    if (value == null)
-    {
-      value = delegate.getAttachment(name);
-    }
-
-    return value;
-  }
-
-  public Collection<Key> getAttachmentKeys()
-  {
-    Collection<Key> keys = new ArrayList<Key>(delegate.getAttachmentKeys());
-
-    // Add activity property keys
-    for (String propName : node.getPropertyNames())
-    {
-      Key key = new Key(null, activityPrefix + propName);
-      keys.add(key);
-    }
-
-    // Add process property keys
-    for (String propName : procDef.getPropertyNames())
-    {
-      Key key = new Key(null, procPrefix + propName);
-      keys.add(key);
-    }
-
-    return keys;
-  }
-
-  public <T> T getAttachment(Class<T> clazz)
-  {
-    return delegate.getAttachment(clazz);
-  }
-
-  public <T> T getAttachment(Class<T> clazz, String name)
-  {
-    return delegate.getAttachment(clazz, name);
-  }
-
-  public <T> T addAttachment(Class<T> clazz, Object value)
-  {
-    return delegate.addAttachment(clazz, value);
-  }
-
-  public <T> T addAttachment(Class<T> clazz, String name, Object value)
-  {
-    validateAttachmentKey(name);
-    return delegate.addAttachment(clazz, name, value);
-  }
-
-  public Object addAttachment(String name, Object value)
-  {
-    validateAttachmentKey(name);
-    return delegate.addAttachment(name, value);
-  }
-
-  public <T> T removeAttachment(Class<T> clazz)
-  {
-    return delegate.removeAttachment(clazz);
-  }
-
-  public <T> T removeAttachment(Class<T> clazz, String name)
-  {
-    validateAttachmentKey(name);
-    return delegate.removeAttachment(clazz, name);
-  }
-
-  public Object removeAttachment(String name)
-  {
-    validateAttachmentKey(name);
-    return delegate.removeAttachment(name);
-  }
-
-  private void validateAttachmentKey(String name)
-  {
-    if (name.startsWith(procPrefix) || name.startsWith(activityPrefix))
-      throw new IllegalArgumentException("Invalid attachment key: " + name);
-  }
-
-  public String toString()
-  {
-    Map<Key, Object> combined = new HashMap<Key, Object>();
-    for (Key key : getAttachmentKeys())
-    {
-      if (key.getClassPart() != null)
-        combined.put(key, getAttachment(key.getClassPart(), key.getNamePart()));
-      else
-        combined.put(key, getAttachment(key.getNamePart()));
-    }
-    return combined.toString();
-  }
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -24,12 +24,12 @@
 //$Id$
 
 import org.hibernate.Session;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 
 /**
  * A {@link Token} that includes properties from the current {@link Node}
@@ -40,15 +40,15 @@
 public class DelegatingToken implements MutableToken
 {
   private MutableToken delegateToken;
-  private ExecutionContext delegateContext;
+  private Attachments delegateContext;
 
   public DelegatingToken(MutableToken token)
   {
     this.delegateToken = token;
 
     Node targetNode = token.getCurrentNode();
-    ExecutionContext exContext = token.getExecutionContext();
-    this.delegateContext = new DelegatingExecutionContext(targetNode, exContext);
+    Attachments exContext = token.getAttachments();
+    this.delegateContext = new DelegatingAttachments(targetNode, exContext);
   }
 
   @Override
@@ -58,7 +58,7 @@
   }
 
   @Override
-  public ExecutionContext getExecutionContext()
+  public Attachments getAttachments()
   {
     return delegateContext;
   }
@@ -88,7 +88,7 @@
   }
 
   @Override
-  public Process getProcess()
+  public ProcessAsync getProcess()
   {
     return delegateToken.getProcess();
   }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExpressionEvaluator.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExpressionEvaluator.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExpressionEvaluator.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -29,8 +29,8 @@
 import org.jbpm.api.client.Token;
 import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.Attachments.Key;
-import org.jbpm.api.runtime.preview.ExecutionContext;
 import org.mvel.MVEL;
 
 /**
@@ -58,12 +58,12 @@
     if (exprLang == ExpressionLanguage.MVEL)
     {
       String mvel = expr.getExpressionBody();
-      ExecutionContext exContext = token.getExecutionContext();
+      Attachments atts = token.getAttachments();
       Map<String, Object> vars = new HashMap<String, Object>();
-      for (Key key : exContext.getAttachmentKeys())
+      for (Key key : atts.getAttachmentKeys())
       {
         String name = key.getNamePart();
-        Object value = exContext.getAttachment(name);
+        Object value = atts.getAttachment(name);
         vars.put(name.replace(".", "_"), value);
       }
       return MVEL.eval(mvel, vars);

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/InProcessTokenExecutor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/InProcessTokenExecutor.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/InProcessTokenExecutor.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -23,7 +23,7 @@
 
 //$Id$
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.Token;
 import org.jbpm.api.client.Token.TokenStatus;
 import org.jbpm.api.model.SequenceFlow;
@@ -43,9 +43,9 @@
   final static Logger log = LoggerFactory.getLogger(InProcessTokenExecutor.class);
 
   @SuppressWarnings("unused")
-  private Process proc;
+  private ProcessAsync proc;
 
-  public InProcessTokenExecutor(Process proc)
+  public InProcessTokenExecutor(ProcessAsync proc)
   {
     this.proc = proc;
   }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/MessageSender.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/MessageSender.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/MessageSender.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,14 +25,14 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.builder.preview.MessageBuilder;
 import org.jbpm.api.model.preview.Message;
 import org.jbpm.api.model.preview.Participant;
 import org.jbpm.api.model.preview.Property;
-import org.jbpm.api.runtime.preview.ExecutionContext;
+import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.service.preview.MessageService;
 import org.jbpm.ri.model.MessageImpl;
 import org.jbpm.ri.model.ParticipantImpl;
@@ -67,7 +67,7 @@
    */
   public void sendMessage(Token token)
   {
-    ExecutionContext exContext = token.getExecutionContext();
+    Attachments atts = token.getAttachments();
     MessageBuilder msgBuilder = new MessageBuilderImpl();
 
     Participant toRef = messageRef.getToRef();
@@ -85,7 +85,7 @@
       Object value = prop.getValue();
       if (prop.isCorrelation())
       {
-        value = exContext.getAttachment(propName);
+        value = atts.getAttachment(propName);
         if (value == null)
           throw new IllegalStateException("Cannot obtain property: " + propName);
       }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RunnableToken.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RunnableToken.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RunnableToken.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -21,9 +21,9 @@
  */
 package org.jbpm.ri.runtime;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process.ProcessStatus;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.client.Token.TokenStatus;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.service.ProcessInstanceService;
@@ -67,7 +67,7 @@
 
   public void run()
   {
-    Process proc = rtProc.getProcess();
+    ProcessAsync proc = rtProc.getProcess();
     try
     {
       Node node = token.getCurrentNode();

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -23,13 +23,13 @@
 
 //$Id$
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.runtime.preview.TokenExecutor;
 
 /**
- * A RuntimeProcess add runtime behaviour to the {@link Process} 
+ * A RuntimeProcess add runtime behaviour to the {@link ProcessAsync} 
  * <p/> 
- * To protect the engine from maligious user code it does not extend {@link Process} directly.
+ * To protect the engine from maligious user code it does not extend {@link ProcessAsync} directly.
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
@@ -37,12 +37,12 @@
 public interface RuntimeProcess
 {
   /**
-   * Get the associated {@link Process}
+   * Get the associated {@link ProcessAsync}
    */
-  Process getProcess();
+  ProcessAsync getProcess();
 
   /**
-   * Get the {@link TokenExecutor} for this {@link Process}
+   * Get the {@link TokenExecutor} for this {@link ProcessAsync}
    */
   ThreadingTokenExecutor getTokenExecutor();
 }
\ No newline at end of file

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcessImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcessImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -23,26 +23,26 @@
 
 //$Id$
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 
 /**
- * A RuntimeProcess add runtime behaviour to the {@link Process}
+ * A RuntimeProcess add runtime behaviour to the {@link ProcessAsync}
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
 public class RuntimeProcessImpl implements RuntimeProcess
 {
-  private Process proc;
+  private ProcessAsync proc;
   private ThreadingTokenExecutor tokenExecutor;
 
-  public RuntimeProcessImpl(Process proc)
+  public RuntimeProcessImpl(ProcessAsync proc)
   {
     this.proc = proc;
     this.tokenExecutor = new ThreadingTokenExecutor(this);
   }
 
-  public Process getProcess()
+  public ProcessAsync getProcess()
   {
     return proc;
   }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ThreadingTokenExecutor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ThreadingTokenExecutor.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ThreadingTokenExecutor.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -32,8 +32,8 @@
 import java.util.concurrent.Executors;
 
 import org.jbpm.api.client.Token;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.client.Token.TokenStatus;
-import org.jbpm.api.client.Process.ProcessStatus;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.runtime.preview.FlowHandler;
 import org.jbpm.api.runtime.preview.TokenExecutor;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TokenImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TokenImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TokenImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,17 +25,16 @@
 
 import org.hibernate.Session;
 import org.jboss.util.id.UID;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process.ProcessStatus;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.WaitState;
 import org.jbpm.api.runtime.Attachments;
+import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.runtime.Attachments.Key;
-import org.jbpm.api.runtime.preview.BasicExecutionContext;
-import org.jbpm.api.runtime.preview.ExecutionContext;
 import org.jbpm.api.runtime.preview.TokenExecutor;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.ri.service.ProcessServiceImpl;
@@ -56,17 +55,17 @@
 {
   private String id;
   private SequenceFlow flow;
-  private ExecutionContext context;
+  private Attachments att;
   private TokenStatus status;
-  private Process proc;
+  private ProcessAsync proc;
   private Session session;
 
   /**
    * Construct a Token with given {@link Attachments}
    */
-  public TokenImpl(Process proc, Attachments att)
+  public TokenImpl(ProcessAsync proc, Attachments att)
   {
-    this.context = new BasicExecutionContext(att);
+    this.att = new BasicAttachments(att);
     this.id = new UID().toString();
     this.status = TokenStatus.Created;
     this.proc = proc;
@@ -97,15 +96,15 @@
   }
 
   @Override
-  public Process getProcess()
+  public ProcessAsync getProcess()
   {
     return proc;
   }
 
   @Override
-  public ExecutionContext getExecutionContext()
+  public Attachments getAttachments()
   {
-    return context;
+    return att;
   }
 
   @Override
@@ -190,26 +189,26 @@
   @Override
   public MutableToken copyToken()
   {
-    return new TokenImpl(proc, context);
+    return new TokenImpl(proc, att);
   }
 
   @Override
   public void mergeToken(Token token)
   {
-    ExecutionContext mergeContext = token.getExecutionContext();
-    for (Key key : mergeContext.getAttachmentKeys())
+    Attachments mergeAtt = token.getAttachments();
+    for (Key key : mergeAtt.getAttachmentKeys())
     {
-      Object mergeValue = mergeContext.getAttachment(key.getClassPart(), key.getNamePart());
-      Object existValue = context.getAttachment(key.getClassPart(), key.getNamePart());
+      Object mergeValue = mergeAtt.getAttachment(key.getClassPart(), key.getNamePart());
+      Object existValue = att.getAttachment(key.getClassPart(), key.getNamePart());
       if (existValue != null && existValue.equals(mergeValue) == false)
         throw new IllegalStateException("Cannot merge the same key with different values: " + key);
 
-      context.addAttachment(key.getClassPart(), key.getNamePart(), mergeValue);
+      att.addAttachment(key.getClassPart(), key.getNamePart(), mergeValue);
     }
   }
 
   public String toString()
   {
-    return "[sf=" + getLastFlow() + ",status=" + getTokenStatus() + ",ctx=" + getExecutionContext() + ",id=" + id + "]";
+    return "[sf=" + getLastFlow() + ",status=" + getTokenStatus() + ",ctx=" + getAttachments() + ",id=" + id + "]";
   }
 }
\ No newline at end of file

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -30,17 +30,16 @@
 
 import org.jbpm.api.BPMException;
 import org.jbpm.api.ProcessTimeoutException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
-import org.jbpm.api.client.Process.ProcessStatus;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.preview.Assignment;
 import org.jbpm.api.model.preview.Assignment.AssignTime;
 import org.jbpm.api.model.preview.Signal.SignalType;
 import org.jbpm.api.runtime.Attachments;
-import org.jbpm.api.runtime.preview.ExecutionContext;
 import org.jbpm.api.runtime.preview.TokenExecutor;
 import org.jbpm.api.service.ExecutionService;
 import org.jbpm.api.service.ProcessInstanceService;
@@ -79,12 +78,12 @@
   }
 
   @Override
-  public void startProcess(Process proc, StartEvent start, Attachments att)
+  public void startProcess(ProcessAsync proc, StartEvent start, Attachments att)
   {
     startProcessInternal(proc, start, att);
   }
 
-  private synchronized void startProcessInternal(Process proc, StartEvent start, Attachments att)
+  private synchronized void startProcessInternal(ProcessAsync proc, StartEvent start, Attachments att)
   {
     @SuppressWarnings("serial")
     class InitialFlow extends SequenceFlowImpl
@@ -137,10 +136,10 @@
   }
 
   // Evaluate the Start time assignments
-  private void startTimeAssignments(Process proc, Token token)
+  private void startTimeAssignments(ProcessAsync proc, Token token)
   {
     DelegatingToken delegatingToken = new DelegatingToken((MutableToken)token);
-    ExecutionContext exContext = token.getExecutionContext();
+    Attachments atts = token.getAttachments();
     for (Assignment ass : proc.getAssignments())
     {
       if (ass.getAssignTime() == AssignTime.Start)
@@ -149,17 +148,17 @@
         ExpressionEvaluator exprEvaluator = new ExpressionEvaluator(expr);
         Object result = exprEvaluator.evaluateExpression(delegatingToken);
         String propName = ass.getTo().getName();
-        exContext.addAttachment(propName, result);
+        atts.addAttachment(propName, result);
       }
     }
   }
 
-  public ProcessStatus waitForEnd(Process proc)
+  public ProcessStatus waitForEnd(ProcessAsync proc)
   {
     return waitForEndInternal(proc, 0);
   }
 
-  public ProcessStatus waitForEnd(Process proc, long timeout)
+  public ProcessStatus waitForEnd(ProcessAsync proc, long timeout)
   {
     return waitForEndInternal(proc, timeout);
   }
@@ -169,7 +168,7 @@
    * arrive at an End Event. The Process will be in a running state until all Tokens are consumed. If the process was
    * aborted this method throws the causing RuntimeException if avaialable.
    */
-  private ProcessStatus waitForEndInternal(Process proc, long timeout)
+  private ProcessStatus waitForEndInternal(ProcessAsync proc, long timeout)
   {
     ProcessImpl procImpl = (ProcessImpl)proc;
 
@@ -234,13 +233,13 @@
     return status;
   }
 
-  private boolean isProcessTerminated(Process proc)
+  private boolean isProcessTerminated(ProcessAsync proc)
   {
     ProcessStatus status = proc.getProcessStatus();
     return status == ProcessStatus.Cancelled || status == ProcessStatus.Completed || status == ProcessStatus.Aborted;
   }
 
-  private RuntimeProcess getRuntimeProcess(Process proc, boolean createNew)
+  private RuntimeProcess getRuntimeProcess(ProcessAsync proc, boolean createNew)
   {
     RuntimeProcess rtProcess;
     synchronized (runtimeProcesses)
@@ -271,7 +270,7 @@
     {
       ThreadingTokenExecutor tokenExecutor = rtProc.getTokenExecutor();
       ProcessImpl procImpl = (ProcessImpl)rtProc.getProcess();
-      Process proc = rtProc.getProcess();
+      ProcessAsync proc = rtProc.getProcess();
 
       ProcessEngine engine = getProcessEngine();
       SignalService sigService = engine.getService(SignalService.class);

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -36,7 +36,7 @@
 import org.hibernate.cfg.AnnotationConfiguration;
 import org.jbpm.api.NodeNotFoundException;
 import org.jbpm.api.ProcessNotFoundException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Node;
@@ -151,7 +151,7 @@
   }
 
   @Override
-  public ObjectName saveProcess(Process proc)
+  public ObjectName saveProcess(ProcessAsync proc)
   {
     log.debug("START saveProcess: " + proc.getKey());
     Session session = getSessionFactory().openSession();
@@ -170,15 +170,15 @@
   }
 
   @Override
-  public Process loadProcess(ObjectName procID)
+  public ProcessAsync loadProcess(ObjectName procID)
   {
     log.debug("START loadProcess: " + procID);
-    Process proc = null;
+    ProcessAsync proc = null;
     Session session = getSessionFactory().openSession();
     try
     {
       Integer id = Integer.valueOf(procID.getKeyProperty("id"));
-      proc = (Process)session.load(ProcessImpl.class, id);
+      proc = (ProcessAsync)session.load(ProcessImpl.class, id);
       AbstractElementImpl elImpl = (AbstractElementImpl)proc;
       elImpl.initialize(getProcessEngine(), session);
     }
@@ -195,7 +195,7 @@
   }
 
   @Override
-  public void deleteProcess(Process proc)
+  public void deleteProcess(ProcessAsync proc)
   {
     log.debug("START deleteProcess: " + proc);
     Session session = getSessionFactory().openSession();
@@ -204,7 +204,7 @@
     {
       ObjectName procID = proc.getKey();
       Integer id = Integer.valueOf(procID.getKeyProperty("id"));
-      proc = (Process)session.load(ProcessImpl.class, id);
+      proc = (ProcessAsync)session.load(ProcessImpl.class, id);
       session.delete(proc);
       tx.commit();
     }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -30,7 +30,7 @@
 
 import org.hibernate.Session;
 import org.jbpm.api.ProcessNotFoundException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Node;
@@ -50,7 +50,7 @@
   final Logger log = LoggerFactory.getLogger(InMemoryPersistenceServiceImpl.class);
 
   private Map<ObjectName, ProcessDefinition> procDefs = new HashMap<ObjectName, ProcessDefinition>();
-  private Map<ObjectName, Process> procs = new HashMap<ObjectName, Process>();
+  private Map<ObjectName, ProcessAsync> procs = new HashMap<ObjectName, ProcessAsync>();
   private Map<ObjectName, Node> nodes = new HashMap<ObjectName, Node>();
 
   @Override
@@ -89,7 +89,7 @@
   }
 
   @Override
-  public ObjectName saveProcess(Process proc)
+  public ObjectName saveProcess(ProcessAsync proc)
   {
     procs.put(proc.getKey(), proc);
     
@@ -100,9 +100,9 @@
   }
 
   @Override
-  public Process loadProcess(ObjectName procID)
+  public ProcessAsync loadProcess(ObjectName procID)
   {
-    Process proc = procs.get(procID);
+    ProcessAsync proc = procs.get(procID);
     if (proc == null)
       throw new ProcessNotFoundException("Cannot find process: " + procID);
     
@@ -110,7 +110,7 @@
   }
 
   @Override
-  public void deleteProcess(Process proc)
+  public void deleteProcess(ProcessAsync proc)
   {
     procs.remove(proc.getKey());
     

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessBuilderServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessBuilderServiceImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessBuilderServiceImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -23,14 +23,14 @@
 
 // $Id$
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.ri.model.builder.ProcessBuilderImpl;
 
 /**
- * The ProcessBuilder can be used to build a {@link Process} dynamically.
+ * The ProcessBuilder can be used to build a {@link ProcessAsync} dynamically.
  * 
  * @author thomas.diesler at jboss.com
  * @since 18-Jun-2008

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessServiceImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessServiceImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -29,9 +29,9 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.client.Process.ProcessStatus;
+import org.jbpm.api.client.ProcessAsync.ProcessStatus;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.api.service.preview.PersistenceService;
 import org.jbpm.ri.model.ProcessImpl;
@@ -73,7 +73,7 @@
   }
 
   @Override
-  public ObjectName registerProcess(Process proc)
+  public ObjectName registerProcess(ProcessAsync proc)
   {
     ObjectName procID = super.registerProcess(proc);
     

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessPersistenceTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessPersistenceTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -26,7 +26,7 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.ProcessNotFoundException;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.EndEvent;
@@ -59,12 +59,12 @@
     procDefService.registerProcessDefinition(procDef);
     
     // Create and save the Process
-    Process proc = procDef.newInstance();
+    ProcessAsync proc = procDef.newInstance();
     service.saveProcess(proc);
 
     // Load the process
     ObjectName procID = proc.getKey();
-    Process loadProc = service.loadProcess(procID);
+    ProcessAsync loadProc = service.loadProcess(procID);
     ProcessCatalog.validateDefaultProcess(loadProc.getProcessDefinition());
 
     StartEvent start = loadProc.getNode(StartEvent.class, "Start");

Modified: projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -30,9 +30,9 @@
 import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.Task.TaskType;
+import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.TaskBuilder;
-import org.jbpm.api.model.builder.preview.GatewayBuilder;
 import org.jbpm.api.model.preview.Assignment.AssignTime;
 import org.jbpm.api.service.ProcessBuilderService;
 

Modified: projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -15,7 +15,7 @@
 import org.jboss.bpm.samples.airticket.client.OfferMessage;
 import org.jboss.bpm.samples.airticket.client.OrderMessage;
 import org.jboss.bpm.samples.airticket.client.RequestMessage;
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.MessageListener;
 import org.jbpm.api.client.preview.SignalListener;
@@ -65,7 +65,7 @@
       System.out.println("Create new Process");
       AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(sampleID);
       ProcessDefinition procDef = procBuilder.buildProcessDefinition();
-      Process proc = procDef.newInstance();
+      ProcessAsync proc = procDef.newInstance();
       procService.registerProcess(proc);
       procID = proc.startProcessAsync();
       httpSession.setAttribute("procID", procID);

Modified: projects/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-11-13 14:40:31 UTC (rev 2912)
+++ projects/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-11-13 14:53:01 UTC (rev 2913)
@@ -25,7 +25,7 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.api.client.Process;
+import org.jbpm.api.client.ProcessAsync;
 import org.jbpm.api.client.ProcessDefinition;
 import org.jbpm.api.client.preview.MessageListener;
 import org.jbpm.api.client.preview.UserTaskCallback;
@@ -53,7 +53,7 @@
   
   private MessageService messageManager = MessageService.locateMessageService();
   private AirticketMessageListener msgListener;
-  private Process proc;
+  private ProcessAsync proc;
   
   public void testValidData() throws Exception
   {




More information about the jbpm-commits mailing list