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

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 14 06:11:54 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-14 06:11:53 -0500 (Fri, 14 Nov 2008)
New Revision: 2924

Added:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/WaitState.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalogExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEventExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EventExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/GatewayExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/NodeExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessDefinitionExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessStructureExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEventExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/TaskExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/ExecutionService.java
Removed:
   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/test/ProcessCatalog.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessAsync.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Event.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Expression.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Gateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Task.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/WaitState.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/PersistenceService.java
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/ProcessStructure.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.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/ProcessDefinitionService.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/preview/model/Assignment.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ComplexGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ExclusiveGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/InclusiveGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ParallelGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ReceiveTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/SendTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/UserTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/ProcessBuilderExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/TaskBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/MessageService.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/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/SequencePersistenceTest.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/gateway/exclusive/ExclusiveGatewayMergeTest.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/ProcessMarshaller.java
   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/model/JAXBExpression.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBTask.java
   projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jbpm/dialect/jpdl32/ProcessDefinitionAdapter.java
   projects/spec/trunk/modules/dialects/stp/src/main/java/org/jbpm/dialect/stp/ProcessUnmarshaller.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.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/ExclusiveGatewayImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.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/SequenceFlowImpl.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/WaitStateImpl.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.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/model/builder/TaskBuilderImpl.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/DelegatingAttachments.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/ExitSignalInterceptor.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/FlowHandlerInterceptor.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/PersistenceSessionInterceptor.java
   projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/SignalHandlerInterceptor.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/runtime/TransactionInterceptor.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/ProcessServiceImpl.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ComplexGatewayPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/EndEventPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ExclusiveGatewayPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/InclusiveGatewayPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ParallelGatewayPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessDefinitionPersistenceTest.java
   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/StartEventPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/UserTaskPersistenceTest.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:
Cleanup API - no references to preview

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEvent.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,43 @@
+/*
+ * 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;
+
+
+//$Id$
+
+/**
+ * As the name implies, the End Event indicates where a Process will end. 
+ * 
+ * In terms of Sequence Flow, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flow. 
+ * An End Event can have a specific Result that will appear as a marker within the center of the End Event shape. 
+ * End Event Results are Message, Error, Compensation, Link, and Multiple.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface EndEvent extends Event
+{
+  /**
+   * Get the type od end result
+   */
+  EventDetailType getResultType();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Event.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,63 @@
+/*
+ * 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;
+
+
+//$Id: $
+
+
+/**
+ * An Event is something that “happens” during the course of a business process. 
+ * <p/>
+ * These Events affect the flow of the Process and usually have a cause or an impact.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Event extends Node
+{
+  /**
+   * Defines the type of an {@link Event}
+   */
+  enum EventType
+  {
+    Start, End, Intermediate 
+  };
+  
+  /**
+   * Defines the type of event detail
+   */
+  enum EventDetailType
+  {
+    None, Message, Error, Cancel, Compensation, Link, Multiple, Timer, Rule, Signal, Terminate 
+  }
+  
+  /**
+   * Get the type of this event
+   */
+  EventType getEventType();
+  
+  /**
+   * Get the detail type fopr this event
+   */
+  EventDetailType getDetailType();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Expression.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,55 @@
+/*
+ * 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;
+
+//$Id: $
+
+import java.io.Serializable;
+
+/**
+ * An Expression, which is used in the definition of attributes for StartEvent,
+ * IntermediateEvent, Activity, ComplexGateway, and SequenceFlow
+ *  
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface Expression extends Serializable
+{
+  enum ExpressionLanguage
+  {
+    MVEL
+  }
+
+  /**
+   * An ExpressionBody MUST be entered to provide the text of the expression, which
+   * will be written in the language defined by the ExpressionLanguage attribute.
+   */
+  String getExpressionBody();
+  
+  /**
+   * A Language MUST be provided to identify the language of the ExpressionBody.
+   * The value of the ExpressionLanguage should follow the naming conventions for the
+   * version of the specified language.
+   */
+  ExpressionLanguage getExpressionLanguage();
+
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Gateway.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,84 @@
+/*
+ * 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;
+
+//$Id$
+
+import java.util.List;
+
+
+
+/**
+ * Gateways are modeling elements that are used to control how Sequence Flow interact as they converge and diverge within
+ * a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term “Gateway” implies that
+ * there is a gating mechanism that either allows or disallows passage through the Gateway--that is, as Tokens arrive at a
+ * Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked. To
+ * be more descriptive, a Gateway is actually a collection of “Gates.” 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Gateway extends Node
+{
+  /**
+   * The GatewayType
+   * 
+   */
+  public enum GatewayType
+  {
+    Exclusive, Inclusive, Complex, Parallel
+  }
+
+  /**
+   * GatewayType is by default Exclusive. The GatewayType MAY be set to Inclusive, Complex, or Parallel. The GatewayType will determine the behavior of the Gateway,
+   * both for incoming and outgoing Sequence Flow
+   */
+  GatewayType getGatewayType();
+
+  /**
+   * There MAY be zero or more Gates (except where noted below). Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End
+   * Events for the Process. If there are zero or only one incoming Sequence Flow, then there MUST be at least two Gates.
+   * 
+   * For Exclusive Data-Based Gateways. 
+   * When two Gates are required, one of them MAY be the DefaultGate.
+   * 
+   * For Exclusive Event-Based Gateways.
+   * There MUST be two or more Gates. (Note that this type of Gateway does not act only as a Merge--it is always a Decision, at
+   * least.)
+   * 
+   * For Inclusive Gateways. 
+   * When two Gates are required, one of them MAY be the DefaultGate.
+   */
+  List<SequenceFlow> getGates();
+  
+  /**
+   * Get the optional default gate
+   * @return null if there is none
+   */
+  SequenceFlow getDefaultGate();
+  
+  /**
+   * Get the gate for the given target name
+   * @return null if there is none
+   */
+  SequenceFlow getGateByName(String targetName);
+}
\ No newline at end of file

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,22 +23,14 @@
 
 //$Id$
 
-import java.util.List;
 
-import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.Group;
-import org.jbpm.preview.model.PropertySupport;
-import org.jbpm.preview.runtime.ExecutionHandler;
-import org.jbpm.preview.runtime.FlowHandler;
-import org.jbpm.preview.runtime.SignalHandler;
-
 /**
  * A Node is an abstract element with a name and an associated process
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
-public interface Node extends AbstractElement, PropertySupport
+public interface Node extends AbstractElement
 {
   /**
    * Get the associated process definition 
@@ -54,28 +46,4 @@
    * Get the unique name. 
    */
   String getName();
-
-  /**
-   * One or more assignment expressions MAY be made for the object. 
-   * The Assignment SHALL be performed as defined by the AssignTime attribute.
-   */
-  List<Assignment> getAssignments();
-  
-  /** Get the associated Group */
-  Group getGroupRef();
-  
-  /** 
-   * Get the associated ExecutionHandler 
-   */
-  ExecutionHandler getExecutionHandler();
-
-  /** 
-   * Get the associated SignalHandler 
-   */
-  SignalHandler getSignalHandler();
-
-  /** 
-   * Get the associated FlowHandler 
-   */
-  FlowHandler getFlowHandler();
 }
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,18 +25,13 @@
 
 import java.util.List;
 
-import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.Group;
-import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.PropertySupport;
-
 /**
  * A ProcessStructure defines the structure of a Process 
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
-public interface ProcessStructure extends AbstractElement, PropertySupport
+public interface ProcessStructure extends AbstractElement
 {
   /**
    * Get the unique name.
@@ -63,34 +58,4 @@
    * @return null if not found
    */
   Node getNode(String name);
-
-  /**
-   * One or more assignment expressions MAY be made for the object. The Assignment SHALL be performed as defined by the
-   * AssignTime attribute.
-   */
-  List<Assignment> getAssignments();
-
-  /**
-   * Get the list of associated {@link Message} objects.
-   * @return An empty list if there are none
-   */
-  List<Message> getMessages();
-
-  /**
-   * Get an associated {@link Message} by name.
-   * @return null if not found
-   */
-  Message getMessage(String msgName);
-  
-  /**
-   * Get the list of associated {@link Group} objects.
-   * @return An empty list if there are none
-   */
-  List<Group> getGroups();
-
-  /**
-   * Get an associated {@link Group} by name.
-   * @return null if not found
-   */
-  Group getGroup(String grpName);
 }
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,7 +23,6 @@
 
 import java.io.Serializable;
 
-import org.jbpm.preview.model.Expression;
 
 
 

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEvent.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,46 @@
+/*
+ * 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;
+
+
+// $Id$
+
+/**
+ * A Start Event indicates where a particular Process will start.
+ * <p/>
+ * In terms of Sequence Flow, the Start Event starts the Flow of the Process, and thus, will not have any incoming
+ * Sequence Flow. A Start Event can have a Trigger that indicates how the Process starts: Message, Timer, Rule, Link, or
+ * Multiple.
+ * 
+ * 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.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface StartEvent extends Event
+{
+  /**
+   * Get the outgoing SequenceFlow
+   */
+  SequenceFlow getOutFlow();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Task.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,65 @@
+/*
+ * 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;
+
+//$Id$
+
+/**
+ * A Task is an Atomic Activity that is included within a Process.
+ * 
+ * A Task is used when the work in the Process is not broken down to a finer level of Process Model detail. Generally, an end-user and/or an application are used to
+ * perform the Task when it is executed.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Task extends Node
+{
+  /**
+   * The TaskType
+   */
+  public enum TaskType
+  {
+    Service, Receive, Send, User, Script, Manual, Reference, None, Wait
+  }
+
+  /**
+   * TaskType is an attribute that has a default of None, but MAY be set to Send,
+   * Receive, User, Script, Manual, Reference, or Service. The TaskType will be
+   * impacted by the Message Flow to and/or from the Task, if Message Flow are
+   * used. A TaskType of Receive MUST NOT have an outgoing Message Flow. A
+   * TaskType of Send MUST NOT have an incoming Message Flow. A TaskType of
+   * Script or Manual MUST NOT have an incoming or an outgoing Message Flow.
+   * The TaskType list MAY be extended to include new types.
+   */
+  TaskType getTaskType();
+  
+  /**
+   * Get the incomming SequenceFlow
+   */
+  SequenceFlow getInFlow();
+  
+  /**
+   * Get the outgoing SequenceFlow
+   */
+  SequenceFlow getOutFlow();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/WaitState.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/WaitState.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/WaitState.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/WaitState.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,34 @@
+/*
+ * 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;
+
+//$Id$
+
+/**
+ * A WaitState is a Task that returns control to Thread that signalled the Execution
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 12-Nov-2008
+ */
+public interface WaitState extends Task
+{
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GatewayBuilder.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,8 +21,7 @@
  */
 package org.jbpm.api.model.builder;
 
-import org.jbpm.preview.model.Gate;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 
 
 //$Id$

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,8 +25,8 @@
 
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.preview.model.Gateway.GatewayType;
-import org.jbpm.preview.model.Task.TaskType;
+import org.jbpm.api.model.Gateway.GatewayType;
+import org.jbpm.api.model.Task.TaskType;
 
 /**
  * The ProcessBuilder can be used to build a {@link Process} dynamically.

Deleted: 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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ExecutionService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,78 +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.service;
-
-// $Id$
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.jbpm.api.model.Process;
-import org.jbpm.api.model.Process.ProcessStatus;
-import org.jbpm.api.runtime.Attachments;
-import org.jbpm.preview.model.StartEvent;
-
-/**
- * The ExecutionService executes processes
- * 
- * @author thomas.diesler at jboss.com
- * @since 18-Jun-2008
- */
-public abstract class ExecutionService extends AbstractService
-{
-  private ExecutorService procExecutor = Executors.newCachedThreadPool();
-
-  // Hide public constructor
-  protected ExecutionService()
-  {
-  }
-
-  /**
-   * Get the process executor service
-   */
-  public ExecutorService getProcessExecutor()
-  {
-    return procExecutor;
-  }
-
-  /**
-   * Start the Process from a given start event
-   * 
-   * @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);
-
-  /**
-   * 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);
-
-  /**
-   * 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);
-}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/PersistenceService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,96 @@
+/*
+ * 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.service;
+
+// $Id$
+
+import javax.management.ObjectName;
+
+import org.hibernate.Session;
+import org.jbpm.api.client.Configuration;
+import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Node;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.model.ProcessDefinition;
+
+/**
+ * The persistence service.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 17-Sep-2008
+ */
+public abstract class PersistenceService extends AbstractService
+{
+  /**
+   * Locate the default PersistenceService
+   */
+  public static PersistenceService locatePersistenceService()
+  {
+    ProcessEngine engine = Configuration.getProcessEngine();
+    return engine.getService(PersistenceService.class);
+  }
+
+  /**
+   * Create a new persistence session
+   */
+  public abstract Session createSession();
+
+  /**
+   * Save the ProcessDefinition to persistent storage
+   */
+  public abstract ObjectName saveProcessDefinition(ProcessDefinition procDef);
+
+  /**
+   * Load the ProcessDefinition from persistent storage
+   */
+  public abstract ProcessDefinition loadProcessDefinition(ObjectName procDefID);
+
+  /**
+   * Delete the ProcessDefinition from persistent storage
+   */
+  public abstract void deleteProcessDefinition(ProcessDefinition procDef);
+
+  /**
+   * Save the Process to persistent storage
+   */
+  public abstract ObjectName saveProcess(Process proc);
+
+  /**
+   * Load the Process from persistent storage
+   */
+  public abstract Process loadProcess(ObjectName procID);
+
+  /**
+   * Delete the Process from persistent storage
+   */
+  public abstract void deleteProcess(Process proc);
+
+  /**
+   * Save the Node to persistent storage
+   */
+  public abstract ObjectName saveNode(Session session, Node node);
+
+  /**
+   * Load the Node from persistent storage
+   */
+  public abstract <T extends Node> T loadNode(Session session, Class<T> clazz, ObjectName nodeID);
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessDefinitionService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessDefinitionService.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessDefinitionService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -40,7 +40,6 @@
 import org.jbpm.api.client.Configuration;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.preview.service.PersistenceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessInstanceService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -36,7 +36,6 @@
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.Process.ProcessStatus;
-import org.jbpm.preview.service.PersistenceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,107 +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.test;
-
-// $Id$
-
-import junit.framework.TestCase;
-
-import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.service.ProcessBuilderService;
-import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.EndEvent;
-import org.jbpm.preview.model.Expression;
-import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.StartEvent;
-import org.jbpm.preview.model.Task;
-import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.builder.ProcessBuilderExt;
-
-/**
- * A catalog of CTS test processes
- * 
- * @author thomas.diesler at jboss.com
- * @since 24-Sep-2008
- */
-public abstract class ProcessCatalog
-{
-  public static ProcessDefinition getDefaultProcess(ProcessEngine engine)
-  {
-    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
-    ProcessBuilderExt builder = (ProcessBuilderExt)pbService.getProcessBuilder();
-    builder.addProcess("Proc");
-    builder.addProcessProperty("proP1", "valP1").addProcessProperty("proP2", "valP2");
-    builder.addProcessMessage("procMsg").addProperty("msgPropName", "msgPropVal");
-    builder.addProcessAssignment(AssignTime.Start, Expression.ExpressionLanguage.MVEL, "foo==true", "fooTrue");
-    builder.addStartEventExt("Start").addSequenceFlow("Task");
-    builder.addTaskExt("Task").addNodeProperty("proT1", "valT1").addNodeProperty("proT2", "valT2");
-    builder.addSequenceFlow("End").addEndEvent("End");
-    return builder.getProcessDefinition();
-  }
-
-  public static void validateDefaultProcess(ProcessDefinition procDef)
-  {
-    TestCase.assertNotNull("Process not null", procDef);
-    TestCase.assertEquals("Proc", procDef.getName());
-
-    TestCase.assertEquals("Two proc props", 2, procDef.getPropertyNames().size());
-    TestCase.assertEquals("valP1", procDef.getProperty("proP1").getValue());
-    TestCase.assertEquals("valP2", procDef.getProperty("proP2").getValue());
-    
-    Message procMsg = procDef.getMessage("procMsg");
-    TestCase.assertEquals("One proc message", 1, procDef.getMessages().size());
-    TestCase.assertEquals("msgPropVal", procMsg.getProperty("msgPropName").getValue());
-
-    TestCase.assertEquals("One proc assignment", 1, procDef.getAssignments().size());
-    Assignment procAssign = procDef.getAssignments().get(0);
-    TestCase.assertEquals(AssignTime.Start, procAssign.getAssignTime());
-    TestCase.assertEquals("foo==true", procAssign.getFrom().getExpressionBody());
-    TestCase.assertEquals("fooTrue", procAssign.getTo().getName());
-    
-    StartEvent start = (StartEvent)procDef.getNode("Start");
-    Task task = (Task)procDef.getNode("Task");
-    EndEvent end = (EndEvent)procDef.getNode("End");
-
-    TestCase.assertNotNull("Start not null", start);
-    TestCase.assertNotNull("Task not null", task);
-    TestCase.assertNotNull("End not null", end);
-
-    TestCase.assertEquals("No start props", 0, start.getPropertyNames().size());
-    TestCase.assertEquals("Two task props", 2, task.getPropertyNames().size());
-    TestCase.assertEquals("No end props", 0, end.getPropertyNames().size());
-    
-    TestCase.assertEquals("valT1", task.getProperty("proT1").getValue());
-    TestCase.assertEquals("valT2", task.getProperty("proT2").getValue());
-    
-    SequenceFlow startFlow = start.getOutFlow();
-    TestCase.assertNotNull("Start flow not null", startFlow);
-    TestCase.assertEquals("Task", startFlow.getTargetRef());
-    TestCase.assertEquals("Start", startFlow.getSourceRef());
-
-    SequenceFlow taskFlow = task.getOutFlow();
-    TestCase.assertNotNull("Task flow not null", taskFlow);
-    TestCase.assertEquals("End", taskFlow.getTargetRef());
-    TestCase.assertEquals("Task", taskFlow.getSourceRef());
-  }
-}

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalog.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,79 @@
+/*
+ * 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.test;
+
+// $Id$
+
+import junit.framework.TestCase;
+
+import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.service.ProcessBuilderService;
+
+/**
+ * A catalog of CTS test processes
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 24-Sep-2008
+ */
+public abstract class ProcessCatalog
+{
+  public static ProcessDefinition getDefaultProcess(ProcessEngine engine)
+  {
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilder builder = pbService.getProcessBuilder();
+    builder.addProcess("Proc");
+    builder.addStartEvent("Start").addSequenceFlow("Task");
+    builder.addTask("Task");
+    builder.addSequenceFlow("End").addEndEvent("End");
+    return builder.getProcessDefinition();
+  }
+
+  public static void validateDefaultProcess(ProcessDefinition procDef)
+  {
+    TestCase.assertNotNull("Process not null", procDef);
+    TestCase.assertEquals("Proc", procDef.getName());
+
+    StartEvent start = (StartEvent)procDef.getNode("Start");
+    Task task = (Task)procDef.getNode("Task");
+    EndEvent end = (EndEvent)procDef.getNode("End");
+
+    TestCase.assertNotNull("Start not null", start);
+    TestCase.assertNotNull("Task not null", task);
+    TestCase.assertNotNull("End not null", end);
+
+    SequenceFlow startFlow = start.getOutFlow();
+    TestCase.assertNotNull("Start flow not null", startFlow);
+    TestCase.assertEquals("Task", startFlow.getTargetRef());
+    TestCase.assertEquals("Start", startFlow.getSourceRef());
+
+    SequenceFlow taskFlow = task.getOutFlow();
+    TestCase.assertNotNull("Task flow not null", taskFlow);
+    TestCase.assertEquals("End", taskFlow.getTargetRef());
+    TestCase.assertEquals("Task", taskFlow.getSourceRef());
+  }
+}

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalogExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalogExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalogExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,108 @@
+/*
+ * 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.test;
+
+// $Id$
+
+import junit.framework.TestCase;
+
+import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.service.ProcessBuilderService;
+import org.jbpm.preview.model.Assignment;
+import org.jbpm.preview.model.EndEventExt;
+import org.jbpm.preview.model.Message;
+import org.jbpm.preview.model.ProcessDefinitionExt;
+import org.jbpm.preview.model.StartEventExt;
+import org.jbpm.preview.model.TaskExt;
+import org.jbpm.preview.model.Assignment.AssignTime;
+import org.jbpm.preview.model.builder.ProcessBuilderExt;
+
+/**
+ * A catalog of CTS test processes
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 24-Sep-2008
+ */
+public abstract class ProcessCatalogExt
+{
+  public static ProcessDefinition getDefaultProcess(ProcessEngine engine)
+  {
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilderExt builder = (ProcessBuilderExt)pbService.getProcessBuilder();
+    builder.addProcess("Proc");
+    builder.addProcessProperty("proP1", "valP1").addProcessProperty("proP2", "valP2");
+    builder.addProcessMessage("procMsg").addProperty("msgPropName", "msgPropVal");
+    builder.addProcessAssignment(AssignTime.Start, Expression.ExpressionLanguage.MVEL, "foo==true", "fooTrue");
+    builder.addStartEventExt("Start").addSequenceFlow("Task");
+    builder.addTaskExt("Task").addNodeProperty("proT1", "valT1").addNodeProperty("proT2", "valT2");
+    builder.addSequenceFlow("End").addEndEvent("End");
+    return builder.getProcessDefinition();
+  }
+
+  public static void validateDefaultProcess(ProcessDefinitionExt procDef)
+  {
+    TestCase.assertNotNull("Process not null", procDef);
+    TestCase.assertEquals("Proc", procDef.getName());
+
+    TestCase.assertEquals("Two proc props", 2, procDef.getPropertyNames().size());
+    TestCase.assertEquals("valP1", procDef.getProperty("proP1").getValue());
+    TestCase.assertEquals("valP2", procDef.getProperty("proP2").getValue());
+    
+    Message procMsg = procDef.getMessage("procMsg");
+    TestCase.assertEquals("One proc message", 1, procDef.getMessages().size());
+    TestCase.assertEquals("msgPropVal", procMsg.getProperty("msgPropName").getValue());
+
+    TestCase.assertEquals("One proc assignment", 1, procDef.getAssignments().size());
+    Assignment procAssign = procDef.getAssignments().get(0);
+    TestCase.assertEquals(AssignTime.Start, procAssign.getAssignTime());
+    TestCase.assertEquals("foo==true", procAssign.getFrom().getExpressionBody());
+    TestCase.assertEquals("fooTrue", procAssign.getTo().getName());
+    
+    StartEventExt start = (StartEventExt)procDef.getNode("Start");
+    TaskExt task = (TaskExt)procDef.getNode("Task");
+    EndEventExt end = (EndEventExt)procDef.getNode("End");
+
+    TestCase.assertNotNull("Start not null", start);
+    TestCase.assertNotNull("Task not null", task);
+    TestCase.assertNotNull("End not null", end);
+
+    TestCase.assertEquals("No start props", 0, start.getPropertyNames().size());
+    TestCase.assertEquals("Two task props", 2, task.getPropertyNames().size());
+    TestCase.assertEquals("No end props", 0, end.getPropertyNames().size());
+    
+    TestCase.assertEquals("valT1", task.getProperty("proT1").getValue());
+    TestCase.assertEquals("valT2", task.getProperty("proT2").getValue());
+    
+    SequenceFlow startFlow = start.getOutFlow();
+    TestCase.assertNotNull("Start flow not null", startFlow);
+    TestCase.assertEquals("Task", startFlow.getTargetRef());
+    TestCase.assertEquals("Start", startFlow.getSourceRef());
+
+    SequenceFlow taskFlow = task.getOutFlow();
+    TestCase.assertNotNull("Task flow not null", taskFlow);
+    TestCase.assertEquals("End", taskFlow.getTargetRef());
+    TestCase.assertEquals("Task", taskFlow.getSourceRef());
+  }
+}


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/ProcessCatalogExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessAsync.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessAsync.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessAsync.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,62 +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.preview.client;
-
-//$Id$
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.model.Process;
-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 Process
-{
-  /**
-   * Start the process asynchronously
-   */
-  ObjectName startProcessAsync();
-
-  /**
-   * Start the process asynchronously, with a given context data
-   */
-  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/preview/client/ProcessExt.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessAsync.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/client/ProcessExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,63 @@
+/*
+ * 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.preview.client;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.model.Process;
+import org.jbpm.api.runtime.Attachments;
+import org.jbpm.preview.model.ProcessStructureExt;
+
+/**
+ * A Process is any Activity performed within a company or organization.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ProcessExt extends Process, ProcessStructureExt
+{
+  /**
+   * Start the process asynchronously
+   */
+  ObjectName startProcessAsync();
+
+  /**
+   * Start the process asynchronously, with a given context data
+   */
+  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/preview/model/Assignment.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Assignment.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Assignment.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,8 +23,10 @@
 
 import java.io.Serializable;
 
+import org.jbpm.api.model.Expression;
 
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ComplexGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ComplexGateway.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ComplexGateway.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,7 +21,10 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.Gateway;
 
+
 // $Id$
 
 /**

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEvent.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEvent.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEvent.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -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.preview.model;
-
-import org.jbpm.preview.model.Event.EventDetailType;
-
-
-//$Id$
-
-/**
- * As the name implies, the End Event indicates where a Process will end. 
- * 
- * In terms of Sequence Flow, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flow. 
- * An End Event can have a specific Result that will appear as a marker within the center of the End Event shape. 
- * End Event Results are Message, Error, Compensation, Link, and Multiple.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface EndEvent extends Event
-{
-  /**
-   * Get the type od end result
-   */
-  EventDetailType getResultType();
-}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEventExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEventExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEventExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.preview.model;
+
+import org.jbpm.api.model.EndEvent;
+
+//$Id$
+
+/**
+ * As the name implies, the End Event indicates where a Process will end.
+ * 
+ * In terms of Sequence Flow, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence
+ * Flow. An End Event can have a specific Result that will appear as a marker within the center of the End Event shape.
+ * End Event Results are Message, Error, Compensation, Link, and Multiple.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface EndEventExt extends EndEvent, EventExt
+{
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EndEventExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Event.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Event.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Event.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -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.preview.model;
-
-import org.jbpm.api.model.Node;
-
-
-//$Id$
-
-/**
- * An Event is something that “happens” during the course of a business process. 
- * <p/>
- * These Events affect the flow of the Process and usually have a cause or an impact.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Event extends Node
-{
-  /**
-   * Defines the type of an {@link Event}
-   */
-  enum EventType
-  {
-    Start, End, Intermediate 
-  };
-  
-  /**
-   * Defines the type of event detail
-   */
-  enum EventDetailType
-  {
-    None, Message, Error, Cancel, Compensation, Link, Multiple, Timer, Rule, Signal, Terminate 
-  }
-  
-  /**
-   * Get the type of this event
-   */
-  EventType getEventType();
-  
-  /**
-   * Get the detail type fopr this event
-   */
-  EventDetailType getDetailType();
-  
-  /**
-   * Get the associated signal ref
-   */
-  Signal getSignalRef();
-  
-  /**
-   * Get the associated message ref
-   */
-  Message getMessageRef();
-}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EventExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EventExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EventExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,48 @@
+/*
+ * 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.preview.model;
+
+import org.jbpm.api.model.Event;
+
+//$Id$
+
+
+/**
+ * An Event is something that “happens” during the course of a business process. 
+ * <p/>
+ * These Events affect the flow of the Process and usually have a cause or an impact.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface EventExt extends Event, NodeExt
+{
+  /**
+   * Get the associated signal ref
+   */
+  Signal getSignalRef();
+  
+  /**
+   * Get the associated message ref
+   */
+  Message getMessageRef();
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/EventExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ExclusiveGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ExclusiveGateway.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ExclusiveGateway.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,7 +21,9 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Gateway;
 
+
 //$Id$
 
 /**

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Expression.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Expression.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Expression.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,55 +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.preview.model;
-
-import java.io.Serializable;
-
-//$Id$
-
-/**
- * An Expression, which is used in the definition of attributes for StartEvent,
- * IntermediateEvent, Activity, ComplexGateway, and SequenceFlow
- *  
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface Expression extends Serializable
-{
-  enum ExpressionLanguage
-  {
-    MVEL
-  }
-
-  /**
-   * An ExpressionBody MUST be entered to provide the text of the expression, which
-   * will be written in the language defined by the ExpressionLanguage attribute.
-   */
-  String getExpressionBody();
-  
-  /**
-   * A Language MUST be provided to identify the language of the ExpressionBody.
-   * The value of the ExpressionLanguage should follow the naming conventions for the
-   * version of the specified language.
-   */
-  ExpressionLanguage getExpressionLanguage();
-
-}

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Gateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Gateway.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Gateway.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,86 +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.preview.model;
-
-//$Id$
-
-import java.util.List;
-
-import org.jbpm.api.model.Node;
-import org.jbpm.api.model.SequenceFlow;
-
-
-/**
- * Gateways are modeling elements that are used to control how Sequence Flow interact as they converge and diverge within
- * a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term “Gateway” implies that
- * there is a gating mechanism that either allows or disallows passage through the Gateway--that is, as Tokens arrive at a
- * Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked. To
- * be more descriptive, a Gateway is actually a collection of “Gates.” 
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Gateway extends Node
-{
-  /**
-   * The GatewayType
-   * 
-   */
-  public enum GatewayType
-  {
-    Exclusive, Inclusive, Complex, Parallel
-  }
-
-  /**
-   * GatewayType is by default Exclusive. The GatewayType MAY be set to Inclusive, Complex, or Parallel. The GatewayType will determine the behavior of the Gateway,
-   * both for incoming and outgoing Sequence Flow
-   */
-  GatewayType getGatewayType();
-
-  /**
-   * There MAY be zero or more Gates (except where noted below). Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End
-   * Events for the Process. If there are zero or only one incoming Sequence Flow, then there MUST be at least two Gates.
-   * 
-   * For Exclusive Data-Based Gateways. 
-   * When two Gates are required, one of them MAY be the DefaultGate.
-   * 
-   * For Exclusive Event-Based Gateways.
-   * There MUST be two or more Gates. (Note that this type of Gateway does not act only as a Merge--it is always a Decision, at
-   * least.)
-   * 
-   * For Inclusive Gateways. 
-   * When two Gates are required, one of them MAY be the DefaultGate.
-   */
-  List<SequenceFlow> getGates();
-  
-  /**
-   * Get the optional default gate
-   * @return null if there is none
-   */
-  SequenceFlow getDefaultGate();
-  
-  /**
-   * Get the gate for the given target name
-   * @return null if there is none
-   */
-  SequenceFlow getGateByName(String targetName);
-}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/GatewayExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/GatewayExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/GatewayExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.preview.model;
+
+import org.jbpm.api.model.Gateway;
+
+//$Id$
+
+/**
+ * Gateways are modeling elements that are used to control how Sequence Flow interact as they converge and diverge within
+ * a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term “Gateway” implies that
+ * there is a gating mechanism that either allows or disallows passage through the Gateway--that is, as Tokens arrive at a
+ * Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked. To
+ * be more descriptive, a Gateway is actually a collection of “Gates.” 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface GatewayExt extends Gateway, NodeExt
+{
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/GatewayExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/InclusiveGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/InclusiveGateway.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/InclusiveGateway.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,7 +21,9 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Gateway;
 
+
 //$Id$
 
 /**

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/NodeExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/NodeExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/NodeExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,64 @@
+/*
+ * 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.preview.model;
+
+//$Id$
+
+import java.util.List;
+
+import org.jbpm.api.model.Node;
+import org.jbpm.preview.runtime.ExecutionHandler;
+import org.jbpm.preview.runtime.FlowHandler;
+import org.jbpm.preview.runtime.SignalHandler;
+
+/**
+ * A Node is an abstract element with a name and an associated process
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface NodeExt extends Node, PropertySupport
+{
+  /**
+   * One or more assignment expressions MAY be made for the object. 
+   * The Assignment SHALL be performed as defined by the AssignTime attribute.
+   */
+  List<Assignment> getAssignments();
+  
+  /** Get the associated Group */
+  Group getGroupRef();
+  
+  /** 
+   * Get the associated ExecutionHandler 
+   */
+  ExecutionHandler getExecutionHandler();
+
+  /** 
+   * Get the associated SignalHandler 
+   */
+  SignalHandler getSignalHandler();
+
+  /** 
+   * Get the associated FlowHandler 
+   */
+  FlowHandler getFlowHandler();
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/NodeExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ParallelGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ParallelGateway.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ParallelGateway.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,7 +21,9 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Gateway;
 
+
 // $Id$
 
 /**

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessDefinitionExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessDefinitionExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessDefinitionExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,37 @@
+/*
+ * 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.preview.model;
+
+import org.jbpm.api.model.ProcessDefinition;
+
+//$Id$
+
+
+/**
+ * A ProcessDefinition defines the structure of an activity performed within a company or organization.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ProcessDefinitionExt extends ProcessDefinition, ProcessStructureExt
+{
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessDefinitionExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessStructureExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessStructureExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessStructureExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,67 @@
+/*
+ * 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.preview.model;
+
+//$Id$
+
+import java.util.List;
+
+import org.jbpm.api.model.ProcessStructure;
+
+/**
+ * A ProcessStructure defines the structure of a Process 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ProcessStructureExt extends ProcessStructure, PropertySupport
+{
+  /**
+   * One or more assignment expressions MAY be made for the object. The Assignment SHALL be performed as defined by the
+   * AssignTime attribute.
+   */
+  List<Assignment> getAssignments();
+
+  /**
+   * Get the list of associated {@link Message} objects.
+   * @return An empty list if there are none
+   */
+  List<Message> getMessages();
+
+  /**
+   * Get an associated {@link Message} by name.
+   * @return null if not found
+   */
+  Message getMessage(String msgName);
+  
+  /**
+   * Get the list of associated {@link Group} objects.
+   * @return An empty list if there are none
+   */
+  List<Group> getGroups();
+
+  /**
+   * Get an associated {@link Group} by name.
+   * @return null if not found
+   */
+  Group getGroup(String grpName);
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ProcessStructureExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ReceiveTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ReceiveTask.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/ReceiveTask.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,7 +21,9 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Task;
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/SendTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/SendTask.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/SendTask.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,7 +21,9 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Task;
 
+
 //$Id$
 
 /**

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEvent.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEvent.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEvent.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,51 +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.preview.model;
-
-import org.jbpm.api.model.SequenceFlow;
-
-
-// $Id$
-
-/**
- * A Start Event indicates where a particular Process will start. <p/> In terms of Sequence Flow, the Start Event starts
- * the Flow of the Process, and thus, will not have any incoming Sequence Flow. A Start Event can have a Trigger that
- * indicates how the Process starts: Message, Timer, Rule, Link, or Multiple.
- * 
- * 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.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface StartEvent extends Event
-{
-  /**
-   * Get the outgoing SequenceFlow
-   */
-  SequenceFlow getOutFlow();
-  
-  /**
-   * Get the start trigger type
-   */
-  EventDetailType getTriggerType();
-}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEventExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEventExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEventExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,47 @@
+/*
+ * 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.preview.model;
+
+import org.jbpm.api.model.StartEvent;
+
+
+
+// $Id$
+
+/**
+ * A Start Event indicates where a particular Process will start. <p/> In terms of Sequence Flow, the Start Event starts
+ * the Flow of the Process, and thus, will not have any incoming Sequence Flow. A Start Event can have a Trigger that
+ * indicates how the Process starts: Message, Timer, Rule, Link, or Multiple.
+ * 
+ * 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.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface StartEventExt extends StartEvent, EventExt
+{
+  /**
+   * Get the start trigger type
+   */
+  EventDetailType getTriggerType();
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/StartEventExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Task.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Task.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/Task.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,97 +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.preview.model;
-
-//$Id$
-
-import java.util.List;
-
-import org.jbpm.api.model.Node;
-import org.jbpm.api.model.SequenceFlow;
-
-
-/**
- * A Task is an Atomic Activity that is included within a Process.
- * 
- * A Task is used when the work in the Process is not broken down to a finer level of Process Model detail. Generally, an end-user and/or an application are used to
- * perform the Task when it is executed.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Task extends Node
-{
-  /**
-   * The TaskType
-   */
-  public enum TaskType
-  {
-    Service, Receive, Send, User, Script, Manual, Reference, None, Wait
-  }
-
-  /**
-   * TaskType is an attribute that has a default of None, but MAY be set to Send,
-   * Receive, User, Script, Manual, Reference, or Service. The TaskType will be
-   * impacted by the Message Flow to and/or from the Task, if Message Flow are
-   * used. A TaskType of Receive MUST NOT have an outgoing Message Flow. A
-   * TaskType of Send MUST NOT have an incoming Message Flow. A TaskType of
-   * Script or Manual MUST NOT have an incoming or an outgoing Message Flow.
-   * The TaskType list MAY be extended to include new types.
-   */
-  TaskType getTaskType();
-  
-  /**
-   * Get the incomming SequenceFlow
-   */
-  SequenceFlow getInFlow();
-  
-  /**
-   * Get the outgoing SequenceFlow
-   */
-  SequenceFlow getOutFlow();
-  
-  /**
-   * The InputSets attribute defines the data requirements for input to the Activity.
-   * Zero or more InputSets MAY be defined. Each Input set is sufficient to allow the
-   * Activity to be performed (if it has first been instantiated by the appropriate signal
-   * arriving from an incoming Sequence Flow)
-   */
-  List<InputSet> getInputSets();
-  
-  /**
-   * The OutputSets attribute defines the data requirements for output from the
-   * activity. Zero or more OutputSets MAY be defined. At the completion of the
-   * activity, only one of the OutputSets may be produced--It is up to the
-   * implementation of the activity to determine which set will be produced. However,
-   * the IORules attribute MAY indicate a relationship between an OutputSet and an
-   * InputSet that started the activity.
-   */
-  List<OutputSet> getOutputSets();
-  
-  /**
-   * The IORules attribute is a collection of expressions, each of which specifies the
-   * required relationship between one input and one output. That is, if the activity is
-   * instantiated with a specified input, that activity shall complete with the specified
-   * output.
-   */
-  List<Expression> getIORules();
-}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/TaskExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/TaskExt.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/TaskExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,68 @@
+/*
+ * 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.preview.model;
+
+//$Id$
+
+import java.util.List;
+
+import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.Task;
+
+
+/**
+ * A Task is an Atomic Activity that is included within a Process.
+ * 
+ * A Task is used when the work in the Process is not broken down to a finer level of Process Model detail. Generally, an end-user and/or an application are used to
+ * perform the Task when it is executed.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface TaskExt extends Task, NodeExt
+{
+  /**
+   * The InputSets attribute defines the data requirements for input to the Activity.
+   * Zero or more InputSets MAY be defined. Each Input set is sufficient to allow the
+   * Activity to be performed (if it has first been instantiated by the appropriate signal
+   * arriving from an incoming Sequence Flow)
+   */
+  List<InputSet> getInputSets();
+  
+  /**
+   * The OutputSets attribute defines the data requirements for output from the
+   * activity. Zero or more OutputSets MAY be defined. At the completion of the
+   * activity, only one of the OutputSets may be produced--It is up to the
+   * implementation of the activity to determine which set will be produced. However,
+   * the IORules attribute MAY indicate a relationship between an OutputSet and an
+   * InputSet that started the activity.
+   */
+  List<OutputSet> getOutputSets();
+  
+  /**
+   * The IORules attribute is a collection of expressions, each of which specifies the
+   * required relationship between one input and one output. That is, if the activity is
+   * instantiated with a specified input, that activity shall complete with the specified
+   * output.
+   */
+  List<Expression> getIORules();
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/TaskExt.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/UserTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/UserTask.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/UserTask.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.preview.model;
 
+import org.jbpm.api.model.Task;
 import org.jbpm.preview.client.UserTaskCallback;
 
 //$Id$

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/WaitState.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/WaitState.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/WaitState.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -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.preview.model;
-
-
-//$Id$
-
-
-
-/**
- * A WaitState is a Task that returns control to Thread that signalled the Execution
- * 
- * @author thomas.diesler at jboss.com
- * @since 12-Nov-2008
- */
-public interface WaitState extends Task
-{
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/ProcessBuilderExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/ProcessBuilderExt.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/ProcessBuilderExt.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,16 +25,16 @@
 
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
+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.preview.model.Message;
 import org.jbpm.preview.model.Property;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.Group.GroupType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.SignalHandler;

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/TaskBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/TaskBuilder.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/model/builder/TaskBuilder.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,8 +23,8 @@
 
 //$Id$
 
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 
 /**
  * The TaskBuilder can be used to build a Task dynamically.

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/ExecutionService.java (from rev 2922, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ExecutionService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/ExecutionService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/ExecutionService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -0,0 +1,79 @@
+/*
+ * 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.preview.service;
+
+// $Id$
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import org.jbpm.api.model.Process;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Process.ProcessStatus;
+import org.jbpm.api.runtime.Attachments;
+import org.jbpm.api.service.AbstractService;
+
+/**
+ * The ExecutionService executes processes
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public abstract class ExecutionService extends AbstractService
+{
+  private ExecutorService procExecutor = Executors.newCachedThreadPool();
+
+  // Hide public constructor
+  protected ExecutionService()
+  {
+  }
+
+  /**
+   * Get the process executor service
+   */
+  public ExecutorService getProcessExecutor()
+  {
+    return procExecutor;
+  }
+
+  /**
+   * Start the Process from a given start event
+   * 
+   * @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);
+
+  /**
+   * 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);
+
+  /**
+   * 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);
+}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/MessageService.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/MessageService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -33,15 +33,15 @@
 
 import org.jbpm.api.client.Configuration;
 import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Event;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
+import org.jbpm.api.model.Task;
 import org.jbpm.api.service.AbstractService;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.preview.client.MessageListener;
-import org.jbpm.preview.model.Event;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Participant;
-import org.jbpm.preview.model.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/PersistenceService.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/preview/service/PersistenceService.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -1,97 +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.preview.service;
-
-// $Id$
-
-import javax.management.ObjectName;
-
-import org.hibernate.Session;
-import org.jbpm.api.client.Configuration;
-import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.model.Node;
-import org.jbpm.api.model.Process;
-import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.service.AbstractService;
-
-/**
- * The persistence service.
- * 
- * @author thomas.diesler at jboss.com
- * @since 17-Sep-2008
- */
-public abstract class PersistenceService extends AbstractService
-{
-  /**
-   * Locate the default PersistenceService
-   */
-  public static PersistenceService locatePersistenceService()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    return engine.getService(PersistenceService.class);
-  }
-
-  /**
-   * Create a new persistence session
-   */
-  public abstract Session createSession();
-
-  /**
-   * Save the ProcessDefinition to persistent storage
-   */
-  public abstract ObjectName saveProcessDefinition(ProcessDefinition procDef);
-
-  /**
-   * Load the ProcessDefinition from persistent storage
-   */
-  public abstract ProcessDefinition loadProcessDefinition(ObjectName procDefID);
-
-  /**
-   * Delete the ProcessDefinition from persistent storage
-   */
-  public abstract void deleteProcessDefinition(ProcessDefinition procDef);
-
-  /**
-   * Save the Process to persistent storage
-   */
-  public abstract ObjectName saveProcess(Process proc);
-
-  /**
-   * Load the Process from persistent storage
-   */
-  public abstract Process loadProcess(ObjectName procID);
-
-  /**
-   * Delete the Process from persistent storage
-   */
-  public abstract void deleteProcess(Process proc);
-
-  /**
-   * Save the Node to persistent storage
-   */
-  public abstract ObjectName saveNode(Session session, Node node);
-
-  /**
-   * Load the Node from persistent storage
-   */
-  public abstract <T extends Node> T loadNode(Session session, Class<T> clazz, ObjectName nodeID);
-}
\ No newline at end of file

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -29,14 +29,14 @@
 import org.jbpm.api.client.Token.TokenStatus;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.Process.ProcessStatus;
 import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
 
 /**
  * Exclusive data-based gateway that has conditional outgoing sequence flows. Only one of the gates is taken. It is an

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/waitstate/WaitStateTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -30,10 +30,10 @@
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.Process.ProcessStatus;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.model.Task.TaskType;
 
 /**
  * Test the basic wait state sequence

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,15 +26,15 @@
 import java.io.IOException;
 import java.util.List;
 
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
-import org.jbpm.preview.model.Gateway;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -64,7 +64,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "15");
@@ -79,7 +79,7 @@
   public void testInvalidGate() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,15 +26,15 @@
 import java.io.IOException;
 import java.util.List;
 
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.builder.GatewayBuilder;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
-import org.jbpm.preview.model.Gateway;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -63,7 +63,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -28,11 +28,11 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
-import org.jbpm.preview.model.Gateway;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
@@ -49,7 +49,7 @@
   public void testParallelSplit() throws Exception 
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequencePersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequencePersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequencePersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -28,7 +28,7 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.preview.service.PersistenceService;
+import org.jbpm.api.service.PersistenceService;
 
 /**
  * Test the basic execution sequence

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -29,7 +29,7 @@
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
@@ -46,7 +46,7 @@
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
 
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,11 +27,11 @@
 import java.util.List;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -46,7 +46,7 @@
   public void testSimpleMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,14 +26,14 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+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.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -50,7 +50,7 @@
   public void testParallelMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/casedata/CaseDataTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,13 +26,13 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -50,7 +50,7 @@
   public void testCaseProperties() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/data/taskdata/TaskDataTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,13 +26,13 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.model.builder.TaskBuilder;
@@ -51,7 +51,7 @@
   public void testTaskDataRead() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/endevent/EndEventMessageTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,12 +26,12 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.Event.EventDetailType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -46,7 +46,7 @@
   public void testStart() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     // Start the process
     BasicAttachments att = new BasicAttachments();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,11 +27,11 @@
 import java.util.List;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -47,7 +47,7 @@
   public void testMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     // Start the process
     proc.startProcessAsync();

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,11 +27,11 @@
 import java.util.List;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -46,7 +46,7 @@
   public void testSimpleMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,14 +27,14 @@
 import java.util.List;
 
 import org.jbpm.api.model.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.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -49,7 +49,7 @@
   public void testGateA() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "5");
@@ -63,7 +63,7 @@
   public void testGateB() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewayMergeTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,14 +26,14 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+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.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -50,7 +50,7 @@
   public void testParallelMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/gateway/parallel/ParallelGatewaySplitTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -29,11 +29,11 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -49,7 +49,7 @@
   public void testParallelSplit() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeInputSetTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,12 +26,12 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.Event.EventDetailType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.model.builder.TaskBuilder;
@@ -51,7 +51,7 @@
   public void testValidProps() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("frog", "kermit");
@@ -66,7 +66,7 @@
   public void testInvalidProps() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodeOutputSetTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,11 +26,11 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.Event.EventDetailType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.model.builder.TaskBuilder;
@@ -51,7 +51,7 @@
   public void testValidProps() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/node/NodePropertyTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,13 +26,13 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.model.builder.TaskBuilder;
@@ -52,7 +52,7 @@
   public void testActivityPropertyRead() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/process/ProcessPropertyTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,13 +26,13 @@
 import java.io.IOException;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -57,7 +57,7 @@
   public void testProcessProperties() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/startevent/StartEventSignalTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -29,17 +29,17 @@
 import javax.management.ObjectName;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.service.ProcessDefinitionService;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.client.SignalListener;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Signal;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.model.builder.EventBuilder;
 import org.jbpm.preview.model.builder.MessageBuilder;
@@ -63,7 +63,7 @@
     ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
     procDefService.registerProcessDefinition(procDef);
 
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
     try
     {
       proc.startProcessAsync();
@@ -81,7 +81,7 @@
     // Get the just started process 
     ProcessInstanceService procService = ProcessInstanceService.locateProcessService();
     Set<ObjectName> procIDs = procService.getProcesses("StartEventSignal", null);
-    proc = (ProcessAsync) procService.getProcess(procIDs.iterator().next());
+    proc = (ProcessExt) procService.getProcess(procIDs.iterator().next());
     
     // Wait for the process to end
     if (proc != null)

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/java/JavaTaskTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,12 +27,12 @@
 
 import org.jbpm.api.client.Token;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.model.builder.TaskBuilder;
 import org.jbpm.preview.runtime.BasicNodeHandler;
@@ -49,7 +49,7 @@
   public void testExecutionHandler() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
     
     proc.startProcessAsync();
     proc.waitForEnd(5000);

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/receive/ReceiveTaskTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -29,17 +29,17 @@
 
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.service.ProcessDefinitionService;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.client.SignalListener;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Event.EventDetailType;
 import org.jbpm.preview.model.Signal.SignalType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.EventBuilder;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
@@ -74,7 +74,7 @@
   public void testUnregisteredProcess() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     MessageService msgService = MessageService.locateMessageService();
     try
@@ -94,7 +94,7 @@
     ProcessInstanceService procService = ProcessInstanceService.locateProcessService();
     
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
     
     ObjectName procID = procService.registerProcess(proc);
     try
@@ -119,7 +119,7 @@
   public void testSuspendedToken() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    final ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    final ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/send/SendTaskTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -28,12 +28,12 @@
 
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
@@ -48,7 +48,7 @@
   public void testSendTask() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskCallbackTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,16 +27,16 @@
 import java.util.List;
 
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.client.UserTaskCallback;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.UserTask;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 
 /**
@@ -50,7 +50,7 @@
   public void testUserTask() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/task/user/UserTaskTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -30,16 +30,16 @@
 
 import org.jbpm.api.Constants;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.api.test.CTSTestCase;
 import org.jbpm.preview.client.MessageListener;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Message;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.MessageBuilder;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.service.MessageBuilderService;
@@ -58,7 +58,7 @@
   public void testUserTask() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/preview/transaction/TxRequiredTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,14 +32,16 @@
 import org.jbpm.api.client.Token;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Group;
 import org.jbpm.preview.model.Message;
+import org.jbpm.preview.model.NodeExt;
+import org.jbpm.preview.model.ProcessDefinitionExt;
 import org.jbpm.preview.model.Group.GroupType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.ri.runtime.TransactionAssociation;
@@ -54,10 +56,10 @@
 {
   public void testNoRollback() throws Exception
   {
-    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
+    ProcessDefinitionExt procDef = (ProcessDefinitionExt)unregisterOnTearDown(getProcessDefinition());
 
-    Node taskA = procDef.getNode("TaskA");
-    Node taskB = procDef.getNode("TaskB");
+    NodeExt taskA = (NodeExt)procDef.getNode("TaskA");
+    NodeExt taskB = (NodeExt)procDef.getNode("TaskB");
     Group group = procDef.getGroup("TxRequired");
     Group groupA = taskA.getGroupRef();
     Group groupB = taskB.getGroupRef();
@@ -66,7 +68,7 @@
     assertSame("Group same", group, groupA);
     assertSame("Group same", group, groupB);
 
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     proc.startProcessAsync();
     proc.waitForEnd();
@@ -78,7 +80,7 @@
   public void testRollback() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+    ProcessExt proc = (ProcessExt)procDef.newInstance();
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment(Boolean.class, "rollback", Boolean.TRUE);

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -31,9 +31,16 @@
 import javax.xml.bind.Marshaller;
 
 import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.Event;
+import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.dialect.api10.model.JAXBAssignment;
 import org.jbpm.dialect.api10.model.JAXBComplexGateway;
@@ -44,7 +51,6 @@
 import org.jbpm.dialect.api10.model.JAXBExpression;
 import org.jbpm.dialect.api10.model.JAXBFlow;
 import org.jbpm.dialect.api10.model.JAXBFlowHandler;
-import org.jbpm.dialect.api10.model.JAXBNode;
 import org.jbpm.dialect.api10.model.JAXBGateway;
 import org.jbpm.dialect.api10.model.JAXBGroup;
 import org.jbpm.dialect.api10.model.JAXBInclusiveGateway;
@@ -52,6 +58,7 @@
 import org.jbpm.dialect.api10.model.JAXBMessage;
 import org.jbpm.dialect.api10.model.JAXBMessageEventDetail;
 import org.jbpm.dialect.api10.model.JAXBMessageRef;
+import org.jbpm.dialect.api10.model.JAXBNode;
 import org.jbpm.dialect.api10.model.JAXBOutputSet;
 import org.jbpm.dialect.api10.model.JAXBParallelGateway;
 import org.jbpm.dialect.api10.model.JAXBProcess;
@@ -65,15 +72,15 @@
 import org.jbpm.dialect.api10.model.ObjectFactory;
 import org.jbpm.preview.model.Assignment;
 import org.jbpm.preview.model.ComplexGateway;
-import org.jbpm.preview.model.EndEvent;
-import org.jbpm.preview.model.Event;
+import org.jbpm.preview.model.EndEventExt;
+import org.jbpm.preview.model.EventExt;
 import org.jbpm.preview.model.ExclusiveGateway;
-import org.jbpm.preview.model.Expression;
-import org.jbpm.preview.model.Gateway;
+import org.jbpm.preview.model.GatewayExt;
 import org.jbpm.preview.model.Group;
 import org.jbpm.preview.model.InclusiveGateway;
 import org.jbpm.preview.model.InputSet;
 import org.jbpm.preview.model.Message;
+import org.jbpm.preview.model.NodeExt;
 import org.jbpm.preview.model.OutputSet;
 import org.jbpm.preview.model.ParallelGateway;
 import org.jbpm.preview.model.Participant;
@@ -81,9 +88,8 @@
 import org.jbpm.preview.model.ReceiveTask;
 import org.jbpm.preview.model.SendTask;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.StartEvent;
-import org.jbpm.preview.model.Task;
-import org.jbpm.preview.model.Event.EventDetailType;
+import org.jbpm.preview.model.StartEventExt;
+import org.jbpm.preview.model.TaskExt;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.SignalHandler;
@@ -112,6 +118,7 @@
     JAXBProcess jaxbProc = new JAXBProcess();
     jaxbProc.setName(procDef.getName());
 
+    /*
     for (Message msg : procDef.getMessages())
     {
       JAXBMessage jaxbMsg = adaptMessage(msg);
@@ -132,34 +139,37 @@
       JAXBGroup jaxbGrp = getJaxbGroup(grp);
       jaxbProc.getGroups().add(jaxbGrp);
     }
+    */
 
     for (Node node : procDef.getNodes())
     {
+      NodeExt nodeExt = (NodeExt)node;
+      
       JAXBNode jaxbNode;
-      if (node instanceof Event)
+      if (nodeExt instanceof Event)
       {
-        jaxbNode = adaptEvent(jaxbProc, (Event)node);
+        jaxbNode = adaptEvent(jaxbProc, (EventExt)nodeExt);
       }
-      else if (node instanceof Task)
+      else if (nodeExt instanceof Task)
       {
-        jaxbNode = adaptTask(jaxbProc, (Task)node);
+        jaxbNode = adaptTask(jaxbProc, (TaskExt)nodeExt);
       }
-      else if (node instanceof Gateway)
+      else if (nodeExt instanceof Gateway)
       {
-        jaxbNode = adaptGateway(jaxbProc, (Gateway)node);
+        jaxbNode = adaptGateway(jaxbProc, (GatewayExt)nodeExt);
       }
       else
       {
-        throw new IllegalStateException("Unsupported flow object: " + node);
+        throw new IllegalStateException("Unsupported flow object: " + nodeExt);
       }
 
-      for (Assignment ass : node.getAssignments())
+      for (Assignment ass : nodeExt.getAssignments())
       {
         JAXBAssignment jaxbAss = getJaxbAssignment(ass);
         jaxbNode.getAssignments().add(jaxbAss);
       }
 
-      Group groupRef = node.getGroupRef();
+      Group groupRef = nodeExt.getGroupRef();
       if (groupRef != null)
         jaxbNode.setGroupRef(groupRef.getName());
       
@@ -168,12 +178,12 @@
     return jaxbProc;
   }
 
-  private JAXBNode adaptEvent(JAXBProcess jaxbProc, Event event)
+  private JAXBNode adaptEvent(JAXBProcess jaxbProc, EventExt event)
   {
     JAXBEvent jaxbEvent;
     if (event instanceof StartEvent)
     {
-      StartEvent start = (StartEvent)event;
+      StartEventExt start = (StartEventExt)event;
       JAXBStartEvent jaxbStart = new JAXBStartEvent();
       jaxbStart.setName(start.getName());
       jaxbStart.setOutFlow(getJAXBFlow(start.getOutFlow()));
@@ -214,7 +224,7 @@
     }
     else if (event instanceof EndEvent)
     {
-      EndEvent end = (EndEvent)event;
+      EndEventExt end = (EndEventExt)event;
       JAXBEndEvent jaxbEnd = new JAXBEndEvent();
       jaxbEnd.setName(end.getName());
 
@@ -271,7 +281,7 @@
     return jaxbEvent;
   }
 
-  private JAXBNode adaptTask(JAXBProcess jaxbProc, Task task)
+  private JAXBNode adaptTask(JAXBProcess jaxbProc, TaskExt task)
   {
     JAXBTask jaxbTask = new JAXBTask();
     jaxbTask.setTaskType(task.getTaskType());
@@ -328,7 +338,7 @@
     return jaxbTask;
   }
 
-  private JAXBNode adaptGateway(JAXBProcess jaxbProc, Gateway gateway)
+  private JAXBNode adaptGateway(JAXBProcess jaxbProc, GatewayExt gateway)
   {
     JAXBGateway jaxbGateway;
     if (gateway instanceof ExclusiveGateway)
@@ -381,6 +391,7 @@
     return jaxbMsgRef;
   }
 
+  @SuppressWarnings("unused")
   private JAXBMessage adaptMessage(Message msg)
   {
     JAXBMessage jaxbMsg = new JAXBMessage();
@@ -453,6 +464,7 @@
     return jaxbAss;
   }
 
+  @SuppressWarnings("unused")
   private JAXBGroup getJaxbGroup(Group grp)
   {
     JAXBGroup jaxbGrp = new JAXBGroup();

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,8 +32,10 @@
 import javax.xml.bind.Unmarshaller;
 
 import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.ProcessDefinition;
 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.ObjectNameFactory;
 import org.jbpm.api.service.ProcessBuilderService;
@@ -72,8 +74,6 @@
 import org.jbpm.dialect.api10.model.JAXBTerminateEventDetail;
 import org.jbpm.dialect.api10.model.JAXBTimerEventDetail;
 import org.jbpm.dialect.api10.model.ObjectFactory;
-import org.jbpm.preview.model.Gateway;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.EventBuilder;
 import org.jbpm.preview.model.builder.GroupBuilder;
 import org.jbpm.preview.model.builder.MessageBuilder;

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBExpression.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBExpression.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBExpression.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,7 +27,7 @@
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
-import org.jbpm.preview.model.Expression;
+import org.jbpm.api.model.Expression;
 
 /**
  * An Expression, which is used in the definition of attributes for @{link StartEvent},

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBTask.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBTask.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBTask.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,7 +32,7 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jbpm.preview.model.Task;
+import org.jbpm.api.model.Task;
 
 /**
  * A Task is an Atomic Activity that is included within a Process.

Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jbpm/dialect/jpdl32/ProcessDefinitionAdapter.java
===================================================================
--- projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jbpm/dialect/jpdl32/ProcessDefinitionAdapter.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jbpm/dialect/jpdl32/ProcessDefinitionAdapter.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,7 +26,9 @@
 import java.util.List;
 
 import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Task;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.dialect.jpdl32.model.JPDL32Action;
 import org.jbpm.dialect.jpdl32.model.JPDL32EndState;
@@ -36,8 +38,6 @@
 import org.jbpm.dialect.jpdl32.model.JPDL32StartState;
 import org.jbpm.dialect.jpdl32.model.JPDL32State;
 import org.jbpm.dialect.jpdl32.model.JPDL32Transition;
-import org.jbpm.preview.model.Gateway;
-import org.jbpm.preview.model.Task;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.runtime.ExecutionHandler;
 

Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jbpm/dialect/stp/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/stp/src/main/java/org/jbpm/dialect/stp/ProcessUnmarshaller.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jbpm/dialect/stp/ProcessUnmarshaller.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -37,7 +37,9 @@
 
 import org.jboss.util.xml.DOMUtils;
 import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Task;
 import org.jbpm.api.service.ProcessBuilderService;
 import org.jbpm.dialect.stp.model.Activity;
 import org.jbpm.dialect.stp.model.ActivityType;
@@ -45,8 +47,6 @@
 import org.jbpm.dialect.stp.model.ObjectFactory;
 import org.jbpm.dialect.stp.model.Pool;
 import org.jbpm.dialect.stp.model.SequenceEdge;
-import org.jbpm.preview.model.Gateway;
-import org.jbpm.preview.model.Task;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -31,8 +31,8 @@
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 
+import org.jbpm.api.model.Expression;
 import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.Expression;
 import org.jbpm.preview.model.Property;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,9 +26,9 @@
 import javax.persistence.Entity;
 
 import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.preview.model.ComplexGateway;
-import org.jbpm.preview.model.Expression;
 
 /**
  * A Complex Gateway handles situations that are not easily handled through the other types of Gateways. Complex

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -35,7 +35,7 @@
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.api.runtime.Attachments;
-import org.jbpm.preview.model.EndEvent;
+import org.jbpm.preview.model.EndEventExt;
 import org.jbpm.preview.model.Signal;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.SignalHandler;
@@ -56,7 +56,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMEndEvent")
-public class EndEventImpl extends EventImpl implements EndEvent, SingleInFlowSupport
+public class EndEventImpl extends EventImpl implements EndEventExt, SingleInFlowSupport
 {
   private static final long serialVersionUID = 1L;
   final static Logger log = LoggerFactory.getLogger(EndEventImpl.class);
@@ -72,6 +72,7 @@
   {
   }
 
+  @Override
   public EventDetailType getResultType()
   {
     return detailType;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -39,7 +39,7 @@
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.preview.model.Event;
+import org.jbpm.preview.model.EventExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Signal;
 import org.jbpm.preview.runtime.ExecutionHandler;
@@ -55,7 +55,7 @@
  * @since 08-Jul-2008
  */
 @MappedSuperclass
-public class EventImpl extends NodeImpl implements Event
+public class EventImpl extends NodeImpl implements EventExt
 {
   private static final long serialVersionUID = 1L;
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -30,12 +30,12 @@
 import javax.persistence.Transient;
 
 import org.jbpm.api.client.Token;
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.preview.model.ExclusiveGateway;
-import org.jbpm.preview.model.Expression;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.TokenExecutor;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -28,7 +28,7 @@
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 
-import org.jbpm.preview.model.Expression;
+import org.jbpm.api.model.Expression;
 
 /**
  * An Expression, which is used in the definition of attributes for @{link StartEvent},

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -36,12 +36,12 @@
 import org.jbpm.api.Constants;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
+import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.preview.model.Gateway;
 import org.jbpm.preview.model.Signal;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.preview.runtime.SignalHandler;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -31,15 +31,15 @@
 import javax.persistence.Entity;
 
 import org.jbpm.api.client.Token;
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.Attachments.Key;
-import org.jbpm.preview.model.Expression;
 import org.jbpm.preview.model.InclusiveGateway;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.TokenExecutor;
 import org.jbpm.ri.runtime.MutableToken;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -46,17 +46,19 @@
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
 import org.jbpm.api.client.Token.TokenStatus;
+import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.StartEvent;
 import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.EndEvent;
 import org.jbpm.preview.model.Group;
+import org.jbpm.preview.model.NodeExt;
+import org.jbpm.preview.model.ProcessStructureExt;
 import org.jbpm.preview.model.Property;
 import org.jbpm.preview.model.PropertySupport;
-import org.jbpm.preview.model.StartEvent;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.NodeHandler;
@@ -78,7 +80,7 @@
  */
 @Entity(name = "BPMNode")
 @Inheritance(strategy = InheritanceType.JOINED)
-public abstract class NodeImpl extends AbstractElementImpl implements Node
+public abstract class NodeImpl extends AbstractElementImpl implements NodeExt
 {
   private static final long serialVersionUID = 1L;
 
@@ -88,7 +90,7 @@
   private String name;
 
   @ManyToOne(targetEntity = ProcessStructureImpl.class)
-  private ProcessStructure procStruct;
+  private ProcessStructureExt procStruct;
 
   @Basic
   private int nodeIndex;
@@ -137,7 +139,7 @@
 
   public NodeImpl(ProcessStructure procStruct, String name)
   {
-    this.procStruct = procStruct;
+    this.procStruct = (ProcessStructureExt)procStruct;
     this.name = name;
   }
 
@@ -416,7 +418,7 @@
     Hibernate.initialize(inFlows);
   }
 
-  private void checkAndInitializeStructure(ProcessStructure procStruct)
+  private void checkAndInitializeStructure(ProcessStructureExt procStruct)
   {
     // Check required name
     if (name == null)

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -45,11 +45,12 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.preview.model.Assignment;
 import org.jbpm.preview.model.Group;
 import org.jbpm.preview.model.Message;
+import org.jbpm.preview.model.ProcessDefinitionExt;
+import org.jbpm.preview.model.ProcessStructureExt;
 import org.jbpm.preview.model.Property;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -61,7 +62,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMProcessDefinition")
-public class ProcessDefinitionImpl extends AbstractElementImpl implements ProcessDefinition
+public class ProcessDefinitionImpl extends AbstractElementImpl implements ProcessDefinitionExt
 {
   private static final long serialVersionUID = 1L;
 
@@ -69,7 +70,7 @@
   final static Logger log = LoggerFactory.getLogger(ProcessDefinitionImpl.class);
 
   @OneToOne(cascade = { CascadeType.ALL }, targetEntity = ProcessStructureImpl.class)
-  private ProcessStructure procStruct;
+  private ProcessStructureExt procStruct;
   
   @Lob
   private byte[] rawProcStruct;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -45,17 +45,19 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.api.runtime.Attachments;
-import org.jbpm.api.service.ExecutionService;
 import org.jbpm.api.service.ProcessInstanceService;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Assignment;
 import org.jbpm.preview.model.Group;
 import org.jbpm.preview.model.Message;
+import org.jbpm.preview.model.ProcessStructureExt;
 import org.jbpm.preview.model.Property;
-import org.jbpm.preview.model.StartEvent;
-import org.jbpm.preview.model.Event.EventDetailType;
+import org.jbpm.preview.model.StartEventExt;
+import org.jbpm.preview.service.ExecutionService;
 import org.jbpm.ri.runtime.TokenImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,7 +69,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMProcess")
-public class ProcessImpl extends AbstractElementImpl implements ProcessAsync
+public class ProcessImpl extends AbstractElementImpl implements ProcessExt, ProcessStructureExt
 {
   private static final long serialVersionUID = 1L;
 
@@ -318,7 +320,8 @@
     StartEvent start = null;
     for (StartEvent aux : getNodes(StartEvent.class))
     {
-      if (aux.getTriggerType() == EventDetailType.None)
+      StartEventExt startExt = (StartEventExt)aux;
+      if (startExt.getTriggerType() == EventDetailType.None)
       {
         if (start != null)
           throw new InvalidProcessException("Process cannot have multiple start events with no trigger");

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -42,18 +42,18 @@
 import org.jbpm.api.Constants;
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
+import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.EndEvent;
 import org.jbpm.preview.model.Group;
 import org.jbpm.preview.model.Message;
+import org.jbpm.preview.model.ProcessStructureExt;
 import org.jbpm.preview.model.Property;
 import org.jbpm.preview.model.PropertySupport;
-import org.jbpm.preview.model.StartEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -64,7 +64,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMProcessStructure")
-public class ProcessStructureImpl extends AbstractElementImpl implements ProcessStructure
+public class ProcessStructureImpl extends AbstractElementImpl implements ProcessStructureExt
 {
   private static final long serialVersionUID = 1L;
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,8 +32,8 @@
 import javax.persistence.Id;
 import javax.persistence.OneToOne;
 
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.preview.model.Expression;
 
 /**
  * A Sequence Flow is a solid graphical line that is used to show the order that Activities will be performed in a

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -36,13 +36,14 @@
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.service.ExecutionService;
 import org.jbpm.preview.client.SignalListener;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.StartEvent;
+import org.jbpm.preview.model.StartEventExt;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.runtime.SignalHandler;
+import org.jbpm.preview.service.ExecutionService;
 import org.jbpm.preview.service.SignalService;
 import org.jbpm.ri.model.builder.SingleOutFlowSupport;
 import org.slf4j.Logger;
@@ -57,7 +58,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMStartEvent")
-public class StartEventImpl extends EventImpl implements StartEvent, SingleOutFlowSupport
+public class StartEventImpl extends EventImpl implements StartEventExt, SingleOutFlowSupport
 {
   private static final long serialVersionUID = 1L;
 
@@ -78,6 +79,7 @@
   {
   }
 
+  @Override
   public EventDetailType getTriggerType()
   {
     return detailType;
@@ -98,6 +100,7 @@
   }
 
   @Transient
+  @Override
   public SequenceFlow getOutFlow()
   {
     if (outFlows.size() != 1)
@@ -105,6 +108,7 @@
     return outFlows.get(0);
   }
 
+  @Override
   public void setOutFlow(SequenceFlowImpl outFlow)
   {
     outFlow.setSourceIndex(outFlows.size());

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -41,17 +41,17 @@
 import org.jbpm.api.NotImplementedException;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.api.runtime.Attachments;
-import org.jbpm.preview.model.Expression;
 import org.jbpm.preview.model.InputSet;
 import org.jbpm.preview.model.OutputSet;
 import org.jbpm.preview.model.Property;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Task;
+import org.jbpm.preview.model.TaskExt;
 import org.jbpm.preview.runtime.ExecutionHandler;
 import org.jbpm.preview.runtime.SignalHandler;
 import org.jbpm.preview.service.SignalService;
@@ -68,7 +68,7 @@
  * @since 08-Jul-2008
  */
 @Entity(name = "BPMTask")
-public class TaskImpl extends NodeImpl implements Task, SingleOutFlowSupport, SingleInFlowSupport
+public class TaskImpl extends NodeImpl implements TaskExt, SingleOutFlowSupport, SingleInFlowSupport
 {
   // provide serial version UID
   private static final long serialVersionUID = 1L;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/WaitStateImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/WaitStateImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/WaitStateImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -28,7 +28,7 @@
 import org.jbpm.api.client.Token;
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.ProcessStructure;
-import org.jbpm.preview.model.WaitState;
+import org.jbpm.api.model.WaitState;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.TokenExecutor;
 import org.jbpm.ri.model.builder.SingleInFlowSupport;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,7 +23,7 @@
 
 //$Id$
 
-import org.jbpm.preview.model.Event;
+import org.jbpm.api.model.Event;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.model.builder.EventBuilder;
 import org.jbpm.ri.model.EventImpl;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GatewayBuilderImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,10 +23,10 @@
 
 //$Id$
 
+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.GatewayBuilder;
-import org.jbpm.preview.model.Gateway;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,13 +27,13 @@
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
+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.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Event.EventDetailType;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.preview.model.Group.GroupType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.EventBuilder;
 import org.jbpm.preview.model.builder.GroupBuilder;
 import org.jbpm.preview.model.builder.MessageBuilder;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/TaskBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/TaskBuilderImpl.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/TaskBuilderImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -23,9 +23,9 @@
 
 //$Id$
 
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.Property;
-import org.jbpm.preview.model.Task;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.jbpm.preview.model.builder.TaskBuilder;
 import org.jbpm.ri.model.ExpressionImpl;
 import org.jbpm.ri.model.InputSetImpl;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/AssignmentInterceptor.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -24,10 +24,10 @@
 //$Id$
 
 import org.jbpm.api.client.Token;
-import org.jbpm.api.model.Node;
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.Expression;
+import org.jbpm.preview.model.NodeExt;
 import org.jbpm.preview.model.Assignment.AssignTime;
 
 /**
@@ -42,7 +42,7 @@
   public void execute(RuntimeContext rtContext)
   {
     Token token = rtContext.getToken();
-    Node node = token.getCurrentNode();
+    NodeExt node = (NodeExt)token.getCurrentNode();
 
     // Do start time assignments
     for (Assignment ass : node.getAssignments())

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingAttachments.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -30,8 +30,9 @@
 
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
-import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.runtime.Attachments;
+import org.jbpm.preview.model.NodeExt;
+import org.jbpm.preview.model.ProcessDefinitionExt;
 import org.jbpm.preview.model.Property;
 
 /**
@@ -42,18 +43,18 @@
  */
 public class DelegatingAttachments implements Attachments
 {
-  private Node node;
+  private NodeExt node;
   private Attachments delegate;
   private String activityPrefix;
   private String procPrefix;
-  private ProcessDefinition procDef;
+  private ProcessDefinitionExt procDef;
 
-  DelegatingAttachments(Node node, Attachments delegate)
+  DelegatingAttachments(NodeExt node, Attachments delegate)
   {
     this.node = node;
     this.delegate = delegate;
 
-    procDef = node.getProcessDefinition();
+    procDef = (ProcessDefinitionExt)node.getProcessDefinition();
     procPrefix = procDef.getName() + ".";
     activityPrefix = procPrefix + node.getName() + ".";
   }

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,6 +32,7 @@
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.runtime.Attachments;
+import org.jbpm.preview.model.NodeExt;
 
 /**
  * A {@link Token} that includes properties from the current {@link Node}
@@ -48,7 +49,7 @@
   {
     this.delegateToken = token;
 
-    Node targetNode = token.getCurrentNode();
+    NodeExt targetNode = (NodeExt)token.getCurrentNode();
     Attachments exContext = token.getAttachments();
     this.delegateContext = new DelegatingAttachments(targetNode, exContext);
   }

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExitSignalInterceptor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExitSignalInterceptor.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExitSignalInterceptor.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -24,7 +24,7 @@
 //$Id$
 
 import org.jbpm.api.client.Token;
-import org.jbpm.api.model.Node;
+import org.jbpm.preview.model.NodeExt;
 import org.jbpm.preview.runtime.SignalHandler;
 
 /**
@@ -39,7 +39,7 @@
   public void execute(RuntimeContext rtContext)
   {
     Token token = rtContext.getToken();
-    Node node = token.getCurrentNode();
+    NodeExt node = (NodeExt)token.getCurrentNode();
     
     SignalHandler sigHandler = node.getSignalHandler();
     sigHandler.throwExitSignal(token);

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/ExpressionEvaluator.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,10 +27,10 @@
 import java.util.Map;
 
 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.preview.model.Expression;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
 import org.mvel.MVEL;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/FlowHandlerInterceptor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/FlowHandlerInterceptor.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/FlowHandlerInterceptor.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -24,7 +24,7 @@
 //$Id$
 
 import org.jbpm.api.client.Token;
-import org.jbpm.api.model.Node;
+import org.jbpm.preview.model.NodeExt;
 import org.jbpm.preview.runtime.FlowHandler;
 import org.jbpm.preview.runtime.TokenExecutor;
 
@@ -41,7 +41,7 @@
   {
     TokenExecutor tokenExecutor = rtContext.getTokenExecutor();
     Token token = rtContext.getToken();
-    Node node = token.getCurrentNode();
+    NodeExt node = (NodeExt)token.getCurrentNode();
     
     // Call the next Interceptor
     rtContext.next();

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/PersistenceSessionInterceptor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/PersistenceSessionInterceptor.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/PersistenceSessionInterceptor.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -26,7 +26,7 @@
 import org.hibernate.Session;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token.TokenStatus;
-import org.jbpm.preview.service.PersistenceService;
+import org.jbpm.api.service.PersistenceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/SignalHandlerInterceptor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/SignalHandlerInterceptor.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/SignalHandlerInterceptor.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -24,7 +24,7 @@
 //$Id$
 
 import org.jbpm.api.client.Token;
-import org.jbpm.api.model.Node;
+import org.jbpm.preview.model.NodeExt;
 import org.jbpm.preview.runtime.SignalHandler;
 
 /**
@@ -39,7 +39,7 @@
   public void execute(RuntimeContext rtContext)
   {
     Token token = rtContext.getToken();
-    Node node = token.getCurrentNode();
+    NodeExt node = (NodeExt)token.getCurrentNode();
     
     try
     {

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TokenImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -34,12 +34,12 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.WaitState;
 import org.jbpm.api.model.Process.ProcessStatus;
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.BasicAttachments;
 import org.jbpm.api.runtime.Attachments.Key;
 import org.jbpm.api.service.ProcessInstanceService;
-import org.jbpm.preview.model.WaitState;
 import org.jbpm.preview.runtime.TokenExecutor;
 import org.jbpm.ri.service.ProcessServiceImpl;
 import org.jbpm.ri.model.ProcessImpl;

Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TransactionInterceptor.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TransactionInterceptor.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/TransactionInterceptor.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -30,10 +30,11 @@
 import org.jbpm.api.Constants.TxType;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Node;
+import org.jbpm.api.service.PersistenceService;
 import org.jbpm.preview.model.Group;
+import org.jbpm.preview.model.NodeExt;
 import org.jbpm.preview.model.Property;
 import org.jbpm.preview.model.Group.GroupType;
-import org.jbpm.preview.service.PersistenceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,7 +60,7 @@
     // Get the Thread associated Tx
     Transaction tx = TransactionAssociation.getTransaction();
 
-    TxType txType = getTxType(node);
+    TxType txType = getTxType((NodeExt)node);
     if (txType == TxType.REQUIRESNEW)
     {
       tx = session.beginTransaction();
@@ -96,7 +97,7 @@
       Node nextNode = token.getCurrentNode();
       if (nextNode != null)
       {
-        txTypeNext = getTxType(nextNode);
+        txTypeNext = getTxType((NodeExt)nextNode);
       }
 
       // Commit the Tx if it was not rolled back already
@@ -126,7 +127,7 @@
     }
   }
 
-  private TxType getTxType(Node node)
+  private TxType getTxType(NodeExt node)
   {
     // Initialize with the default
     TxType txType = TxType.REQUIRESNEW;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,17 +32,18 @@
 import org.jbpm.api.ProcessTimeoutException;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.client.Token;
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Process;
+import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.Process.ProcessStatus;
 import org.jbpm.api.runtime.Attachments;
-import org.jbpm.api.service.ExecutionService;
 import org.jbpm.api.service.ProcessInstanceService;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.Expression;
-import org.jbpm.preview.model.StartEvent;
 import org.jbpm.preview.model.Assignment.AssignTime;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.preview.runtime.TokenExecutor;
+import org.jbpm.preview.service.ExecutionService;
 import org.jbpm.preview.service.SignalService;
 import org.jbpm.ri.model.ProcessImpl;
 import org.jbpm.ri.model.SequenceFlowImpl;
@@ -129,14 +130,14 @@
     }
 
     // Do the start time assignments
-    startTimeAssignments(proc, initialToken);
+    startTimeAssignments((ProcessExt)proc, initialToken);
 
     // Start the initial token
     tokenExecutor.start(initialToken);
   }
 
   // Evaluate the Start time assignments
-  private void startTimeAssignments(Process proc, Token token)
+  private void startTimeAssignments(ProcessExt proc, Token token)
   {
     DelegatingToken delegatingToken = new DelegatingToken((MutableToken)token);
     Attachments atts = token.getAttachments();

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -40,8 +40,8 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.service.PersistenceService;
 import org.jbpm.api.service.Service;
-import org.jbpm.preview.service.PersistenceService;
 import org.jbpm.ri.model.AbstractElementImpl;
 import org.jbpm.ri.model.ProcessDefinitionImpl;
 import org.jbpm.ri.model.ProcessImpl;

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -34,7 +34,7 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.preview.service.PersistenceService;
+import org.jbpm.api.service.PersistenceService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ProcessServiceImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -32,8 +32,8 @@
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.Process.ProcessStatus;
+import org.jbpm.api.service.PersistenceService;
 import org.jbpm.api.service.ProcessInstanceService;
-import org.jbpm.preview.service.PersistenceService;
 import org.jbpm.ri.model.ProcessImpl;
 import org.jbpm.ri.runtime.NodeInterceptor;
 import org.slf4j.Logger;

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ComplexGatewayPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ComplexGatewayPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ComplexGatewayPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,8 +25,8 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.preview.model.ComplexGateway;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.ri.model.ComplexGatewayImpl;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/EndEventPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/EndEventPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/EndEventPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,10 +25,11 @@
 
 import javax.management.ObjectName;
 
-import org.jbpm.preview.model.EndEvent;
+import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.preview.model.EndEventExt;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.Event.EventDetailType;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.ri.model.EndEventImpl;
 import org.jbpm.ri.model.MessageImpl;
@@ -64,7 +65,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
 
-    EndEvent wasNode = loadNode(EndEventImpl.class, nodeID);
+    EndEventExt wasNode = (EndEventExt)loadNode(EndEventImpl.class, nodeID);
     assertEquals("End", wasNode.getName());
     assertEquals(EventDetailType.Signal, wasNode.getDetailType());
     
@@ -87,7 +88,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
 
-    EndEvent wasNode = loadNode(EndEventImpl.class, nodeID);
+    EndEventExt wasNode = (EndEventExt)loadNode(EndEventImpl.class, nodeID);
     assertEquals("End", wasNode.getName());
     assertEquals(EventDetailType.Message, wasNode.getDetailType());
     

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ExclusiveGatewayPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ExclusiveGatewayPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ExclusiveGatewayPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,8 +25,8 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.preview.model.ExclusiveGateway;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.ri.model.ExclusiveGatewayImpl;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/InclusiveGatewayPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/InclusiveGatewayPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/InclusiveGatewayPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,8 +25,8 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.preview.model.InclusiveGateway;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.ri.model.InclusiveGatewayImpl;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,8 +27,8 @@
 
 import org.hibernate.Session;
 import org.jbpm.api.model.Node;
+import org.jbpm.api.service.PersistenceService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.preview.service.PersistenceService;
 import org.jbpm.ri.service.HibernatePersistenceServiceImpl;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ParallelGatewayPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ParallelGatewayPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ParallelGatewayPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,8 +25,8 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.preview.model.ParallelGateway;
-import org.jbpm.preview.model.Gateway.GatewayType;
 import org.jbpm.ri.model.ParallelGatewayImpl;
 
 /**

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessDefinitionPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessDefinitionPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessDefinitionPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,13 +27,13 @@
 
 import org.jbpm.api.ProcessNotFoundException;
 import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.service.PersistenceService;
 import org.jbpm.api.test.CTSTestCase;
 import org.jbpm.api.test.ProcessCatalog;
-import org.jbpm.preview.model.EndEvent;
-import org.jbpm.preview.model.StartEvent;
-import org.jbpm.preview.model.Task;
-import org.jbpm.preview.service.PersistenceService;
 
 /**
  * Test the PersistenceService

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/ProcessPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -27,15 +27,15 @@
 
 import org.jbpm.api.ProcessNotFoundException;
 import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.service.PersistenceService;
 import org.jbpm.api.service.ProcessDefinitionService;
 import org.jbpm.api.test.CTSTestCase;
 import org.jbpm.api.test.ProcessCatalog;
-import org.jbpm.preview.model.EndEvent;
-import org.jbpm.preview.model.StartEvent;
-import org.jbpm.preview.model.Task;
-import org.jbpm.preview.service.PersistenceService;
 
 /**
  * Test the PersistenceService

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/StartEventPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/StartEventPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/StartEventPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,10 +25,11 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Signal;
-import org.jbpm.preview.model.StartEvent;
-import org.jbpm.preview.model.Event.EventDetailType;
+import org.jbpm.preview.model.StartEventExt;
 import org.jbpm.preview.model.Signal.SignalType;
 import org.jbpm.ri.model.MessageImpl;
 import org.jbpm.ri.model.SignalImpl;
@@ -64,7 +65,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
 
-    StartEvent wasNode = loadNode(StartEventImpl.class, nodeID);
+    StartEventExt wasNode = (StartEventExt)loadNode(StartEventImpl.class, nodeID);
     assertEquals("Start", wasNode.getName());
     assertEquals(EventDetailType.Signal, wasNode.getDetailType());
     
@@ -87,7 +88,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
 
-    StartEvent wasNode = loadNode(StartEventImpl.class, nodeID);
+    StartEventExt wasNode = (StartEventExt)loadNode(StartEventImpl.class, nodeID);
     assertEquals("Start", wasNode.getName());
     assertEquals(EventDetailType.Message, wasNode.getDetailType());
     

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -28,15 +28,16 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.Task;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.preview.model.Assignment;
-import org.jbpm.preview.model.Expression;
 import org.jbpm.preview.model.InputSet;
 import org.jbpm.preview.model.OutputSet;
-import org.jbpm.preview.model.Task;
+import org.jbpm.preview.model.TaskExt;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.ri.model.AssignmentImpl;
 import org.jbpm.ri.model.ExpressionImpl;
 import org.jbpm.ri.model.InputSetImpl;
@@ -74,7 +75,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
     
-    Task wasNode = loadNode(TaskImpl.class, nodeID);
+    TaskExt wasNode = loadNode(TaskImpl.class, nodeID);
     Set<String> propNames = wasNode.getPropertyNames();
     assertEquals(2, propNames.size());
     assertEquals("valOne", wasNode.getProperty("propOne").getValue());
@@ -91,7 +92,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
     
-    Task wasNode = loadNode(TaskImpl.class, nodeID);
+    TaskExt wasNode = loadNode(TaskImpl.class, nodeID);
     List<Assignment> ass = wasNode.getAssignments();
     assertEquals(2, ass.size());
     Assignment assOne = ass.get(0);
@@ -166,7 +167,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
     
-    Task wasNode = loadNode(TaskImpl.class, nodeID);
+    TaskExt wasNode = (TaskExt)loadNode(TaskImpl.class, nodeID);
     
     List<InputSet> inSets = wasNode.getInputSets();
     assertEquals(2, inSets.size());
@@ -192,7 +193,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
     
-    Task wasNode = loadNode(TaskImpl.class, nodeID);
+    TaskExt wasNode = loadNode(TaskImpl.class, nodeID);
     
     List<OutputSet> outSets = wasNode.getOutputSets();
     assertEquals(2, outSets.size());
@@ -212,7 +213,7 @@
     
     ObjectName nodeID = saveNode(orgNode);
     
-    Task wasNode = loadNode(TaskImpl.class, nodeID);
+    TaskExt wasNode = loadNode(TaskImpl.class, nodeID);
     
     List<Expression> rules = wasNode.getIORules();
     assertEquals(2, rules.size());

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/UserTaskPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/UserTaskPersistenceTest.java	2008-11-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/UserTaskPersistenceTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,9 +25,9 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.UserTask;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.ri.model.MessageImpl;
 import org.jbpm.ri.model.UserTaskImpl;
 

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -25,14 +25,14 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.ProcessDefinition;
+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.service.ProcessBuilderService;
-import org.jbpm.preview.model.Expression;
 import org.jbpm.preview.model.Assignment.AssignTime;
-import org.jbpm.preview.model.Expression.ExpressionLanguage;
-import org.jbpm.preview.model.Gateway.GatewayType;
-import org.jbpm.preview.model.Task.TaskType;
 import org.jbpm.preview.model.builder.ProcessBuilderExt;
 import org.jbpm.preview.model.builder.TaskBuilder;
 

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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -19,7 +19,7 @@
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.api.service.ProcessInstanceService;
 import org.jbpm.preview.client.MessageListener;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.client.SignalListener;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.Signal;
@@ -65,7 +65,7 @@
       System.out.println("Create new Process");
       AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(sampleID);
       ProcessDefinition procDef = procBuilder.buildProcessDefinition();
-      ProcessAsync proc = (ProcessAsync)procDef.newInstance();
+      ProcessExt proc = (ProcessExt)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-14 10:51:01 UTC (rev 2923)
+++ projects/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-11-14 11:11:53 UTC (rev 2924)
@@ -30,7 +30,7 @@
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.test.CTSTestCase;
 import org.jbpm.preview.client.MessageListener;
-import org.jbpm.preview.client.ProcessAsync;
+import org.jbpm.preview.client.ProcessExt;
 import org.jbpm.preview.client.UserTaskCallback;
 import org.jbpm.preview.model.Message;
 import org.jbpm.preview.model.UserTask;
@@ -53,7 +53,7 @@
   
   private MessageService messageManager = MessageService.locateMessageService();
   private AirticketMessageListener msgListener;
-  private ProcessAsync proc;
+  private ProcessExt proc;
   
   public void testValidData() throws Exception
   {
@@ -61,7 +61,7 @@
     ProcessDefinition procDef = unregisterOnTearDown(builder.buildProcessDefinition());
     
     // Create the process instance
-    proc = (ProcessAsync)procDef.newInstance();
+    proc = (ProcessExt)procDef.newInstance();
     
     // Attach the callback to the UserTask
     UserTask userTask = proc.getNode(UserTask.class, AirticketProcessBuilder.TASK_MAKE_OFFER);
@@ -87,7 +87,7 @@
     ProcessDefinition procDef = unregisterOnTearDown(builder.buildProcessDefinition());
     
     // Create the process instance
-    proc = (ProcessAsync)procDef.newInstance();
+    proc = (ProcessExt)procDef.newInstance();
     
     // Attach the callback to the UserTask
     UserTask userTask = proc.getNode(UserTask.class, AirticketProcessBuilder.TASK_MAKE_OFFER);




More information about the jbpm-commits mailing list