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

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Dec 19 12:39:29 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-12-19 12:39:28 -0500 (Fri, 19 Dec 2008)
New Revision: 3449

Added:
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Message.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/MessageListener.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ObjectNameFactory.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Participant.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Property.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/PropertySupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Signal.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SignalListener.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/MessageBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/SignalBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Context.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandler.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandlerService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ContextService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TokenService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Event.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ExclusiveGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Expression.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SequenceFlow.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleInFlowSupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleOutFlowSupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Task.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/WaitState.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/GatewayBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ProcessBuilderService.java
Removed:
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/EndEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Event.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ExclusiveGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Expression.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Gateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SequenceFlow.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleInFlowSupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleOutFlowSupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/StartEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Task.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/WaitState.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/GatewayBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ObjectNameFactory.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ProcessBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/ExecutionContext.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionContextService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/internal/
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/MessageListener.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/SignalListener.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Message.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Participant.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Property.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/PropertySupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Signal.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/MessageBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/SignalBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalService.java
Modified:
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Token.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/IntegrationTestHelper.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/UserTaskCallback.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Assignment.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ComplexGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEventExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EventExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gate.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/GatewayExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Group.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InclusiveGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InputSet.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/NodeExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/OutputSet.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ParallelGateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ProcessStructureExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ReceiveTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SendTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEventExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/TaskExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/UserTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/EventBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilderExt.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/TaskBuilder.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/NodeHandler.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/SignalHandler.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/TokenExecutor.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/PersistenceService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ThreadingService.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalMultithreadTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalServiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java
   projects/spec/trunk/modules/integration/jboss42/.classpath
   projects/spec/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARDeployerInterceptorEJB3MBean.java
Log:
Move bits arround to reduce stuff in model

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/EndEvent.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/EndEvent.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/EndEvent.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.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, SingleInFlowSupport
-{
-  /**
-   * Get the type od end result
-   */
-  EventDetailType getResultType();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Event.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Event.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Event.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.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();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ExclusiveGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ExclusiveGateway.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ExclusiveGateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.model;
-
-
-
-//$Id$
-
-/**
- * Exclusive Gateways (Decisions) are locations within a business process where the Sequence Flow can take two or more
- * alternative paths. This is basically the “fork in the road” for a process. For a given performance (or instance) of the
- * process, only one of the paths can be taken (this should not be confused with forking of paths—refer to “Forking Flow”)
- * 
- * A Decision is not an activity from the business process perspective, but is a type of Gateway that controls
- * the Sequence Flow between activities. It can be thought of as a question that is asked at that point in the Process. The
- * question has a defined set of alternative answers (Gates). Each Decision Gate is associated with a condition expression
- * found within an outgoing Sequence Flow. When a Gate is chosen during the performance of the Process, the
- * corresponding Sequence Flow is then chosen. A Token arriving at the Decision would be directed down the appropriate
- * path, based on the chosen Gate.
- * 
- * The Exclusive Decision has two or more outgoing Sequence Flow, but only one of them may be taken during the
- * performance of the Process. Thus, the Exclusive Decision defines a set of alternative paths for the Token to take as it
- * traverses the Flow. There are two types of Exclusive Decisions: Data-Based and Event-Based.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface ExclusiveGateway extends Gateway
-{
-  enum ExclusiveType
-  {
-    Data, Event
-  }
-  
-  /**
-   * ExclusiveType is by default Data. The ExclusiveType MAY be set to Event.
-   */
-  ExclusiveType getExclusiveType();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Expression.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Expression.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Expression.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.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();
-
-}

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Gateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Gateway.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Gateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,84 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.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

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Message.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Message.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Message.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Message.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.model;
+
+import java.io.Serializable;
+
+
+//$Id$
+
+/**
+ * A Message, which is used in the definition of attributes for a StartEvent,
+ * EndEvent, IntermediateEvent, Task, and MessageFlow
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface Message extends PropertySupport, Serializable
+{
+  /**
+   * Name is an attribute that is text description of the Message.
+   */
+  String getName();
+
+  /**
+   * This defines the source of the Message.
+   */
+  Participant getFromRef();
+  
+  /**
+   * This defines the target of the Message.
+   */
+  Participant getToRef();
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/MessageListener.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/MessageListener.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/MessageListener.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/MessageListener.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.model;
+
+import javax.management.ObjectName;
+
+
+//$Id$
+
+/**
+ * A MessageListener that can be registered with the ProcessEngine
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface MessageListener
+{
+  /**
+   * Get the id for this listener
+   */
+  ObjectName getKey();
+  
+  /** 
+   * Catch a message from the process that this listener is registered with 
+   */
+  void catchMessage(Message message);
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ObjectNameFactory.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ObjectNameFactory.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ObjectNameFactory.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ObjectNameFactory.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.model;
+
+// $Id$
+
+import java.util.Hashtable;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+/**
+ * A simple factory for creating safe object names.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 08-May-2006
+ */
+public class ObjectNameFactory
+{
+   public static ObjectName create(String name)
+   {
+      try
+      {
+         return new ObjectName(name);
+      }
+      catch (MalformedObjectNameException e)
+      {
+         throw new Error("Invalid ObjectName: " + name + "; " + e);
+      }
+   }
+
+   public static ObjectName create(String domain, String key, String value)
+   {
+      try
+      {
+         return new ObjectName(domain, key, value);
+      }
+      catch (MalformedObjectNameException e)
+      {
+         throw new Error("Invalid ObjectName: " + domain + "," + key + "," + value + "; " + e);
+      }
+   }
+
+   public static ObjectName create(String domain, Hashtable<String, String> table)
+   {
+      try
+      {
+         return new ObjectName(domain, table);
+      }
+      catch (MalformedObjectNameException e)
+      {
+         throw new Error("Invalid ObjectName: " + domain + "," + table + "; " + e);
+      }
+   }
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Participant.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Participant.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Participant.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Participant.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.model;
+
+//$Id$
+
+import java.io.Serializable;
+
+import javax.management.ObjectName;
+
+
+
+
+/**
+ * A Participant, which is used in the definition of attributes for a Pool, {@link Message}, and WebService
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface Participant extends Serializable
+{
+  /**
+   * The name of this participant
+   */
+  ObjectName getName();
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Property.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Property.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Property.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Property.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.model;
+
+import java.io.Serializable;
+
+// $Id$
+
+/**
+ * A Property, which is used in the definition of attributes for a Process and common activity attributes
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface Property extends Serializable
+{
+  /**
+   * Each Property has a Name (e.g., name=”Customer Name”).
+   */
+  String getName();
+  
+  /**
+   * Get the property value.
+   */
+  String getValue();
+  
+  /**
+   * If the Correlation attribute is set to True, then the Property is marked to be used for
+   * correlation (e.g., for incoming Messages).
+   */
+  boolean isCorrelation();
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/PropertySupport.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/PropertySupport.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/PropertySupport.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/PropertySupport.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.model;
+
+//$Id$
+
+import java.io.Serializable;
+import java.util.Set;
+
+
+
+/**
+ * Property support
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface PropertySupport extends Serializable
+{
+  /**
+   * Get a Property with a given name. 
+   */
+  Property getProperty(String name);
+
+  /**
+   * Get the set of properties
+   */
+  Set<Property> getProperties();
+  
+  /**
+   * Get the set of property names
+   */
+  Set<String> getPropertyNames();
+  
+  /**
+   * Add a property 
+   */
+  void addProperty(Property prop);
+
+  /**
+   * Add a property 
+   */
+  void addProperty(String name, Object value);
+  
+  /**
+   * Remove a property 
+   */
+  Property removeProperty(String name);
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SequenceFlow.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SequenceFlow.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SequenceFlow.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,92 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.model;
-
-import java.io.Serializable;
-
-//$Id$
-
-/**
- * A Sequence Flow is used to show the order that activities will be performed in a Process. Each Flow has only one
- * source and only one target. The source and target must be from the set of the following Flow Objects: Events (Start,
- * Intermediate, and End), Activities (Task and Sub-Process), and Gateways. During performance (or simulation) of the
- * process, a Token will leave the source Flow Object, traverse down the Sequence Flow, and enter the target Flow
- * Object.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface SequenceFlow extends Serializable
-{
-  /**
-   * The ConditionType
-   */
-  public enum ConditionType
-  {
-    None, Expression, Default
-  }
-
-  /**
-   * Name is an optional attribute that is text description of the Connecting Object.
-   */
-  String getName();
-  
-  /**
-   * SourceRef is an attribute that identifies which Graphical Element the Connecting
-   * Object is connected from. Note: there are restrictions as to what objects Sequence
-   * Flow and Message Flow can connect. 
-   */
-  String getSourceRef();
-
-  /**
-   * TargetRef is an attribute that identifies which Graphical Element the Connecting
-   * Object is connected to. Note: there are restrictions as to what objects Sequence
-   * Flow and Message Flow can connect.
-   */
-  String getTargetRef();
-  
-  /**
-   * By default, the ConditionType of a Sequence Flow is None. This means that there is no evaluation at runtime to
-   * determine whether or not the Sequence Flow will be used. Once a Token is ready to traverse the Sequence Flow (i.e.,
-   * the Source is an activity that has completed), then the Token will do so. The normal, uncontrolled use of Sequence
-   * Flow, in a sequence of activities, will have a None ConditionType. A None ConditionType MUST NOT be used if the
-   * Source of the Sequence Flow is an Exclusive Data-Based or Inclusive Gateway. The ConditionType attribute MAY be set
-   * to Expression if the Source of the Sequence Flow is a Task, a Sub-Process, or a Gateway of type Exclusive-Data-
-   * Based or Inclusive. If the ConditionType attribute is set to Expression, then a condition marker SHALL be added to
-   * the line if the Sequence Flow is outgoing from an activity. However, a condition indicator MUST NOT be added to the
-   * line if the Sequence Flow is outgoing from a Gateway. An Expression ConditionType MUST NOT be used if the Source of
-   * the Sequence Flow is an Event-Based Exclusive Gateway, a Complex Gateway, a Parallel Gateway, a Start Event, or an
-   * Intermediate Event. In addition, an Expression ConditionType MUST NOT be used if the Sequence Flow is associated
-   * with the Default Gate of a Gateway. The ConditionType attribute MAY be set to Default only if the Source of the
-   * Sequence Flow is an activity or an Exclusive Data-Based Gateway.
-   */
-  ConditionType getConditionType();
-
-  /**
-   * If the ConditionType attribute is set to Expression, then the ConditionExpression attribute MUST be defined as a
-   * valid expression. The expression will be evaluated at runtime. If the result of the evaluation is TRUE, then a
-   * Token will be generated and will traverse the Sequence--Subject to any constraints imposed by a Source that is a
-   * Gateway.
-   */
-  Expression getConditionExpression();
-
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Signal.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Signal.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Signal.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Signal.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.model;
+
+//$Id$
+
+import java.io.Serializable;
+
+import javax.management.ObjectName;
+
+/**
+ * A Signal is like an undirected flare shot up
+ * into the air.
+ *  
+ * @author Thomas.Diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Signal extends Serializable
+{
+  /**
+   * Defines the types of supported Signals
+   */
+  enum SignalType
+  {
+    SYSTEM_START_EVENT_ENTER, SYSTEM_START_EVENT_EXIT, SYSTEM_START_TRIGGER,
+    SYSTEM_EVENT_ENTER, SYSTEM_EVENT_EXIT, SYSTEM_EVENT_TRIGGER,
+    SYSTEM_END_EVENT_ENTER, SYSTEM_END_EVENT_EXIT, SYSTEM_END_TRIGGER, 
+    SYSTEM_GATEWAY_ENTER, SYSTEM_GATEWAY_EXIT, 
+    SYSTEM_PROCESS_ENTER, SYSTEM_PROCESS_EXIT, 
+    SYSTEM_TASK_ENTER, SYSTEM_TASK_EXIT, SYSTEM_TASK_TRIGGER,
+    USER_SIGNAL
+  }
+
+  /**
+   * Get the signal type of this signal
+   */
+  SignalType getSignalType();
+
+  /**
+   * Get the sending participant for this signal
+   */
+  ObjectName getFromRef();
+
+  /**
+   * Get the optional message associated with this signal
+   */
+  public String getMessage();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SignalListener.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/SignalListener.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SignalListener.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SignalListener.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.model;
+
+//$Id$
+
+import org.jboss.bpm.api.service.SignalService;
+
+/**
+ * A signal listener that can be registered with the {@link SignalService}
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SignalListener
+{
+  /**
+   * Returns true if the listener accepts a given signal  
+   */
+  boolean acceptSignal(Signal signal);
+  
+  /** 
+   * Catch a previously accepted signal 
+   */
+  void catchSignal(Signal signal);
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleInFlowSupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleInFlowSupport.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleInFlowSupport.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.model;
-
-//$Id$
-
-/**
- * Implemented by Nodes that support a single incomming flow.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface SingleInFlowSupport 
-{
-  /**
-   * Get the incomming SequenceFlow
-   */
-  SequenceFlow getInFlow();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleOutFlowSupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleOutFlowSupport.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleOutFlowSupport.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.model;
-
-// $Id$
-
-/**
- * Implemented by Nodes that support a single outgoing flow.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface SingleOutFlowSupport 
-{
-  /**
-   * Get the outgoing SequenceFlow
-   */
-  SequenceFlow getOutFlow();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/StartEvent.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/StartEvent.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/StartEvent.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.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, SingleOutFlowSupport
-{
-  /**
-   * Get the detail type fopr this event
-   */
-  EventDetailType getTriggerType();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Task.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Task.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Task.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.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, SingleOutFlowSupport, SingleInFlowSupport
-{
-  /**
-   * 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();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/WaitState.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/WaitState.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/WaitState.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.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

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/GatewayBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/GatewayBuilder.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/GatewayBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.model.builder;
-
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-
-
-//$Id$
-
-/**
- * The GatewayBuilder can be used to build a Gateway dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface GatewayBuilder extends ProcessBuilder
-{
-  /**
-   * Add the default {@link Gate}
-   */
-  GatewayBuilder addDefaultGate(String targetName);
-  
-  /**
-   * Add a conditional {@link Gate}
-   */
-  GatewayBuilder addConditionalGate(String targetName, ExpressionLanguage exprLang, String exprBody);
-
-  /**
-   * Add an unconditional {@link Gate}
-   */
-  GatewayBuilder addGate(String targetName);
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/MessageBuilder.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/MessageBuilder.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/MessageBuilder.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/MessageBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.model.builder;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.model.Message;
+
+
+/**
+ * A MessageBuilder can be used to build a {@link Message} dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface MessageBuilder
+{
+  /**
+   * Create a {@link Message} with a given name
+   */
+  MessageBuilder newMessage(String msgName);
+
+  /**
+   * Add a message destination
+   */
+  MessageBuilder addToRef(ObjectName toRef);
+  
+  /**
+   * Add a message source
+   */
+  MessageBuilder addFromRef(ObjectName fromRef);
+  
+  /**
+   * Add a message property
+   */
+  MessageBuilder addProperty(String name, Object value);
+  
+  /**
+   * Add a message property
+   */
+  MessageBuilder addProperty(String name, Object value, boolean isCorrelation);
+  
+  /**
+   * Get the Message
+   */
+  Message getMessage();
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ObjectNameFactory.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ObjectNameFactory.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ObjectNameFactory.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.model.builder;
-
-// $Id$
-
-import java.util.Hashtable;
-
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
-/**
- * A simple factory for creating safe object names.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 08-May-2006
- */
-public class ObjectNameFactory
-{
-   public static ObjectName create(String name)
-   {
-      try
-      {
-         return new ObjectName(name);
-      }
-      catch (MalformedObjectNameException e)
-      {
-         throw new Error("Invalid ObjectName: " + name + "; " + e);
-      }
-   }
-
-   public static ObjectName create(String domain, String key, String value)
-   {
-      try
-      {
-         return new ObjectName(domain, key, value);
-      }
-      catch (MalformedObjectNameException e)
-      {
-         throw new Error("Invalid ObjectName: " + domain + "," + key + "," + value + "; " + e);
-      }
-   }
-
-   public static ObjectName create(String domain, Hashtable<String, String> table)
-   {
-      try
-      {
-         return new ObjectName(domain, table);
-      }
-      catch (MalformedObjectNameException e)
-      {
-         throw new Error("Invalid ObjectName: " + domain + "," + table + "; " + e);
-      }
-   }
-}

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ProcessBuilder.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ProcessBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.model.builder;
-
-//$Id$
-
-import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.model.Task.TaskType;
-
-/**
- * The ProcessBuilder can be used to build a {@link ProcessInstance} dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface ProcessBuilder
-{
-  /**
-   * Add a {@link ProcessInstance} with a given name
-   */
-  ProcessBuilder addProcess(String name);
-
-  /**
-   * Get the {@link ProcessDefinition}. 
-   * <p/> 
-   * This is the final call to the ProcessBuilder after all elements have been added.
-   */
-  ProcessDefinition getProcessDefinition();
-
-  /**
-   * Add a SequenceFlow with a given name
-   */
-  ProcessBuilder addSequenceFlow(String targetName);
-
-  /**
-   * Add a SartEvent with a given name
-   */
-  ProcessBuilder addStartEvent(String name);
-
-  /**
-   * Add an EndEvent with a given name
-   */
-  ProcessBuilder addEndEvent(String name);
-
-  /**
-   * Add a Task of {@link TaskType} NONE with a given name
-   */
-  ProcessBuilder addTask(String name);
-
-  /**
-   * Add a Task of {@link TaskType} with a given name
-   */
-  ProcessBuilder addTask(String name, TaskType type);
-
-  /**
-   * Add a Gateway with a given name
-   */
-  GatewayBuilder addGateway(String name, GatewayType type);
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/SignalBuilder.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/SignalBuilder.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/SignalBuilder.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/SignalBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.model.builder;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.Signal.SignalType;
+
+
+/**
+ * A SignalBuilder can be used to build a {@link Signal} dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SignalBuilder
+{
+  /**
+   * Create a Signal
+   */
+  Signal newSignal(SignalType signalType, ObjectName fromRef, String message);
+}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Context.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Context.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Context.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.runtime;
+
+//$Id$
+
+
+/**
+ * The BPMContext is a container of arbitrary context information that needs
+ * to be associated with a client invocation. 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 02-Dec-2008
+ */
+public interface Context extends Attachments
+{
+  /**
+   * Close the execution context
+   */
+  void close();
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Context.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/ExecutionContext.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/ExecutionContext.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/ExecutionContext.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.runtime;
-
-//$Id$
-
-
-/**
- * The ExecutionContext is a container of arbitrary context information that needs
- * to be associated with a client invocation. 
- * 
- * @author thomas.diesler at jboss.com
- * @since 02-Dec-2008
- */
-public interface ExecutionContext extends Attachments
-{
-  /**
-   * Close the execution context
-   */
-  void close();
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Token.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Token.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/runtime/Token.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -29,7 +29,6 @@
 
 import org.jboss.bpm.api.model.Node;
 import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.SequenceFlow;
 import org.jboss.bpm.api.service.ProcessEngine;
 
 /**
@@ -77,11 +76,6 @@
   Attachments getAttachments();
 
   /**
-   * Get the last {@link SequenceFlow}
-   */
-  SequenceFlow getLastFlow();
-
-  /**
    * Get the current {@link Node}
    */
   Node getNode();

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandler.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/internal/AbstractDialectHandler.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandler.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandler.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.service;
+
+//$Id$
+
+
+
+/**
+ * The DialectHandler converts a supported dialect to the ProcessDefinition model.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public abstract class AbstractDialectHandler implements DialectHandler
+{
+  private ProcessEngine engine;
+
+  public ProcessEngine getProcessEngine()
+  {
+    return engine;
+  }
+
+  // Do not expose through the API
+  protected void setProcessEngine(ProcessEngine engine)
+  {
+    this.engine = engine;
+  }
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandlerService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/internal/AbstractDialectHandlerService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandlerService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractDialectHandlerService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+//$Id$
+
+import java.net.URI;
+import java.util.Map;
+
+
+
+/**
+ * A registry that maps namespaceURI to a {@link DialectHandler}
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jul-2008
+ */
+public abstract class AbstractDialectHandlerService extends AbstractService implements DialectHandlerService
+{
+  // Maps namespaceURI to a DialectHandler
+  protected Map<URI, DialectHandler> dialectHandlers;
+
+  public DialectHandler getDialectHandler(URI nsURI)
+  {
+    DialectHandler dialectHandler = dialectHandlers.get(nsURI);
+    if (dialectHandler == null)
+      throw new IllegalStateException("No dialect handler registered for: " + nsURI);
+
+    if (dialectHandler instanceof AbstractDialectHandler)
+    {
+      AbstractDialectHandler absHandler = (AbstractDialectHandler)dialectHandler;
+      absHandler.setProcessEngine(getProcessEngine());
+    }
+    	
+    return dialectHandler;
+  }
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/internal/AbstractService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/AbstractService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.service;
+
+// $Id$
+
+
+/**
+ * An abstract Service that gives access to the ProcessEngine
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public class AbstractService implements Service, ProcessEngineSupport
+{
+  private ProcessEngine engine;
+
+  public ProcessEngine getProcessEngine()
+  {
+    return engine;
+  }
+
+  // Do not expose through the API
+  protected void setProcessEngine(ProcessEngine engine)
+  {
+    this.engine = engine;
+  }
+}

Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ContextService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ContextService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ContextService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.service;
+
+import org.jboss.bpm.api.runtime.Context;
+
+//$Id$
+
+/**
+ * The ContextService is the entry point to create or get an ExecutionContext.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 25-Sep-2008
+ */
+public interface ContextService
+{
+  /**
+   * Create a new ExecutionContext
+   */
+  Context createExecutionContext();
+
+  /**
+   * Get the current ExecutionContext association
+   * @param create If true, create a new ExecutionContext if there is no context associated
+   */
+  Context getExecutionContext(boolean create);
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ContextService.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionContextService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionContextService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionContextService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.service;
-
-import org.jboss.bpm.api.runtime.ExecutionContext;
-
-//$Id$
-
-/**
- * The ExecutionContextService is the entry point to create or get an ExecutionContext.
- * 
- * @author thomas.diesler at jboss.com
- * @since 25-Sep-2008
- */
-public interface ExecutionContextService
-{
-  /**
-   * Create a new ExecutionContext
-   */
-  ExecutionContext createExecutionContext();
-
-  /**
-   * Get the current ExecutionContext association
-   * @param create If true, create a new ExecutionContext if there is no context associated
-   */
-  ExecutionContext getExecutionContext(boolean create);
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.service;
-
-// $Id$
-
-import java.util.Set;
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.api.runtime.Token;
-import org.jboss.bpm.api.service.internal.AbstractService;
-
-
-/**
- * The ExecutionService manages Tokens
- * 
- * @author thomas.diesler at jboss.com
- * @since 28-Nov-2008
- */
-public abstract class ExecutionService extends AbstractService
-{
-  // Hide public constructor
-  protected ExecutionService()
-  {
-  }
-
-  /**
-   * Get the set of tokens.
-   */
-  public abstract Set<Token> getTokens();
-  
-  /**
-   * Get a token by id.
-   */
-  public abstract Token getToken(ObjectName tokenID);
-}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageBuilderService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageBuilderService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageBuilderService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageBuilderService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+//$Id$
+
+import org.jboss.bpm.api.config.Configuration;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
+
+/**
+ * The MessageBuilder can be used to build a {@link Message} dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class MessageBuilderService extends AbstractService
+{
+  /**
+   * Locate the default MessageBuilder
+   */
+  public static MessageBuilder locateMessageBuilder()
+  {
+    ProcessEngine engine = Configuration.getProcessEngine();
+    MessageBuilderService builderService = engine.getService(MessageBuilderService.class);
+    return builderService.getMessageBuilder();
+  }
+  
+  /**
+   * Get the MessageBuilder
+   */
+  public abstract MessageBuilder getMessageBuilder();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/MessageService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,166 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software{} you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation{} either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY{} without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software{} if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+//$Id$
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.config.Configuration;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.api.model.MessageListener;
+import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.Participant;
+import org.jboss.bpm.api.model.ProcessInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The ProcessEngine sends messages through the MessageService. 
+ * <p/> 
+ * A {@link Message} has an ID and is targeted to a
+ * specific Participant. A component can register a {@link MessageListener} with the MessageService.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public abstract class MessageService extends AbstractService
+{
+  // Provide logging
+  final Logger log = LoggerFactory.getLogger(MessageService.class);
+
+  // The set of registered message listeners
+  private Map<ObjectName, MessageListener> listeners = new HashMap<ObjectName, MessageListener>();
+
+  /**
+   * Locate the default MessageService
+   */
+  public static MessageService locateMessageService()
+  {
+    ProcessEngine engine = Configuration.getProcessEngine();
+    return engine.getService(MessageService.class);
+  }
+
+  /**
+   * Add a MessageListener
+   */
+  public void addMessageListener(MessageListener listener)
+  {
+    synchronized (listeners)
+    {
+      if (hasMessageListener(listener.getKey()))
+        throw new IllegalStateException("Listener already registered: " + listener.getKey());
+
+      log.debug("addMessageListener: " + listener.getKey());
+      listeners.put(listener.getKey(), listener);
+    }
+  }
+
+  /**
+   * Get the set of registered MessageListeners 
+   */
+  public Set<MessageListener> getMessageListeners()
+  {
+    synchronized (listeners)
+    {
+      HashSet<MessageListener> set = new HashSet<MessageListener>(listeners.values());
+      return Collections.unmodifiableSet(set);
+    }
+  }
+
+  /**
+   * Get a MessageListener for a given ID
+   * 
+   * @return null if there is none
+   */
+  public MessageListener getMessageListener(ObjectName listenerID)
+  {
+    synchronized (listeners)
+    {
+      return listeners.get(listenerID);
+    }
+  }
+
+  /**
+   * True if there is a MessageListener for a given ID
+   */
+  public boolean hasMessageListener(ObjectName listenerID)
+  {
+    return getMessageListener(listenerID) != null;
+  }
+
+  /**
+   * Remove an MessageListener
+   */
+  public void removeMessageListener(ObjectName listenerID)
+  {
+    synchronized (listeners)
+    {
+      log.debug("removeMessageListener: " + listenerID);
+      listeners.remove(listenerID);
+    }
+  }
+
+  /**
+   * Send a message to a given {@link Task} or {@link Event}
+   */
+  public void sendMessage(ObjectName procID, String targetName, Message msg)
+  {
+    ProcessInstanceService procService = getProcessEngine().getService(ProcessInstanceService.class);
+    ProcessInstance proc = procService.getInstance(procID);
+    if (proc == null)
+      throw new IllegalStateException("Cannot obtain registered process: " + procID);
+
+    Node targetNode = proc.getNode(targetName);
+    if (targetNode == null)
+      throw new IllegalArgumentException("Cannot find message target: " + targetName);
+    if (targetNode instanceof MessageListener == false)
+      throw new IllegalArgumentException("Message target is not a valid message receiver: " + targetName);
+
+    log.debug("sendMessage to " + targetNode + " => " + msg);
+    MessageListener msgListener = (MessageListener)targetNode;
+    msgListener.catchMessage(msg);
+  }
+  
+  /**
+   * Send a message to a given {@link MessageListener}
+   */
+  public void sendMessage(Message msg)
+  {
+    Participant toRef = msg.getToRef();
+    if (toRef == null)
+      throw new IllegalArgumentException("Target entity cannot be null");
+    
+    MessageListener msgListener = getMessageListener(toRef.getName());
+    if (msgListener == null)
+      throw new IllegalStateException("No message listener registered for: " + toRef);
+
+    log.debug("sendMessage to '" + toRef + "' => " + msg);
+    msgListener.catchMessage(msg);
+  }
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.api.service;
-
-//$Id$
-
-import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.builder.ProcessBuilder;
-import org.jboss.bpm.api.service.internal.AbstractService;
-
-/**
- * The ProcessBuilder can be used to build a {@link ProcessInstance} dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public abstract class ProcessBuilderService extends AbstractService
-{
-  /**
-   * Get the ProcessBuilder
-   */
-  public abstract ProcessBuilder getProcessBuilder();
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalBuilderService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalBuilderService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalBuilderService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalBuilderService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+//$Id$
+
+import org.jboss.bpm.api.config.Configuration;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.builder.SignalBuilder;
+
+/**
+ * The SignalBuilder can be used to build a {@link Signal} dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class SignalBuilderService extends AbstractService
+{
+  /**
+   * Locate the default SignalBuilder
+   */
+  public static SignalBuilder locateSignalBuilder()
+  {
+    ProcessEngine engine = Configuration.getProcessEngine();
+    SignalBuilderService builderService = engine.getService(SignalBuilderService.class);
+    return builderService.getSignalBuilder();
+  }
+  
+  /**
+   * Get the SignalBuilder
+   */
+  public abstract SignalBuilder getSignalBuilder();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/SignalService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.api.service;
+
+//$Id$
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.bpm.api.config.Configuration;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.SignalListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A {@link Signal} is like an undirected flare shot up
+ * into the air. A component can register a {@link SignalListener} with the SignalService.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public abstract class SignalService extends AbstractService
+{
+  // provide logging
+  final static Logger log = LoggerFactory.getLogger(SignalService.class);
+
+  // The map of registered signal listeners
+  private Set<SignalListener> listeners = new HashSet<SignalListener>();
+
+  /**
+   * Locate the default SignalService
+   */
+  public static SignalService locateSignalService()
+  {
+    ProcessEngine engine = Configuration.getProcessEngine();
+    return engine.getService(SignalService.class);
+  }
+  
+  /**
+   * Add a SignalListener for a given source
+   */
+  public void addSignalListener(SignalListener listener)
+  {
+    synchronized (listeners)
+    {
+      log.debug("addSignalListener: " + listener);
+      listeners.add(listener);
+    }
+  }
+
+  /**
+   * Get the set of registered SignalListeners 
+   */
+  public Set<SignalListener> getSignalListeners()
+  {
+    synchronized (listeners)
+    {
+      HashSet<SignalListener> set = new HashSet<SignalListener>(listeners);
+      return Collections.unmodifiableSet(set);
+    }
+  }
+
+  /**
+   * Remove a SignalListener for a given source
+   */
+  public void removeSignalListener(SignalListener listener)
+  {
+    synchronized (listeners)
+    {
+      log.debug("removeSignalListener: " + listener);
+      listeners.remove(listener);
+    }
+  }
+
+  /**
+   * Throw a signal to all registered listeners
+   */
+  public void throwSignal(Signal signal)
+  {
+    log.debug("throwSignal: " + signal);
+    Set<SignalListener> currentSet = getSignalListeners();
+    for (SignalListener listener : currentSet)
+    {
+      if (failsafeAccept(listener, signal))
+        failsafeThrow(listener, signal);
+    }
+  }
+
+  private boolean failsafeAccept(SignalListener listener, Signal signal)
+  {
+    try
+    {
+      boolean accept = listener.acceptSignal(signal);
+      return accept;
+    }
+    catch (RuntimeException rte)
+    {
+      log.error("Signal processing error", rte);
+      return false;
+    }
+  }
+
+  private void failsafeThrow(SignalListener listener, Signal signal)
+  {
+    try
+    {
+      listener.catchSignal(signal);
+    }
+    catch (RuntimeException rte)
+    {
+      log.error("Signal processing error", rte);
+    }
+  }
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TokenService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ExecutionService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TokenService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/TokenService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.api.service;
+
+// $Id$
+
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.runtime.Token;
+
+
+/**
+ * The ExecutionService manages Tokens
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 28-Nov-2008
+ */
+public abstract class TokenService extends AbstractService
+{
+  // Hide public constructor
+  protected TokenService()
+  {
+  }
+
+  /**
+   * Get the set of tokens.
+   */
+  public abstract Set<Token> getTokens();
+  
+  /**
+   * Get a token by id.
+   */
+  public abstract Token getToken(ObjectName tokenID);
+}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -34,7 +34,7 @@
 import org.jboss.bpm.api.Constants;
 import org.jboss.bpm.api.config.Configuration;
 import org.jboss.bpm.api.config.ConfigurationProvider;
-import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.ObjectNameFactory;
 import org.jboss.bpm.api.service.ProcessEngine;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -35,20 +35,20 @@
 import javax.management.ObjectName;
 
 import org.jboss.bpm.api.ProcessEngineException;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.api.model.MessageListener;
 import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.SignalListener;
+import org.jboss.bpm.api.model.Signal.SignalType;
+import org.jboss.bpm.api.model.builder.SignalBuilder;
 import org.jboss.bpm.api.service.DialectHandler;
 import org.jboss.bpm.api.service.DialectHandlerService;
+import org.jboss.bpm.api.service.MessageService;
 import org.jboss.bpm.api.service.ProcessDefinitionService;
 import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.incubator.client.MessageListener;
-import org.jboss.bpm.incubator.client.SignalListener;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
-import org.jboss.bpm.incubator.model.builder.SignalBuilder;
-import org.jboss.bpm.incubator.service.MessageService;
-import org.jboss.bpm.incubator.service.SignalBuilderService;
-import org.jboss.bpm.incubator.service.SignalService;
+import org.jboss.bpm.api.service.SignalBuilderService;
+import org.jboss.bpm.api.service.SignalService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/IntegrationTestHelper.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/IntegrationTestHelper.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/IntegrationTestHelper.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -29,7 +29,7 @@
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
-import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.ObjectNameFactory;
 
 /**
  * An integration test helper that deals with test deployment/undeployment, etc.

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/MessageListener.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/MessageListener.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/MessageListener.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.client;
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.incubator.model.Message;
-
-//$Id$
-
-/**
- * A MessageListener that can be registered with the ProcessEngine
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface MessageListener
-{
-  /**
-   * Get the id for this listener
-   */
-  ObjectName getKey();
-  
-  /** 
-   * Catch a message from the process that this listener is registered with 
-   */
-  void catchMessage(Message message);
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/SignalListener.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/SignalListener.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/SignalListener.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.client;
-
-//$Id$
-
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.service.SignalService;
-
-/**
- * A signal listener that can be registered with the {@link SignalService}
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface SignalListener
-{
-  /**
-   * Returns true if the listener accepts a given signal  
-   */
-  boolean acceptSignal(Signal signal);
-  
-  /** 
-   * Catch a previously accepted signal 
-   */
-  void catchSignal(Signal signal);
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/UserTaskCallback.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/UserTaskCallback.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/client/UserTaskCallback.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,15 +25,16 @@
 
 import javax.management.ObjectName;
 
-import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.api.model.MessageListener;
+import org.jboss.bpm.api.model.ObjectNameFactory;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.runtime.Attachments;
 import org.jboss.bpm.api.runtime.BasicAttachments;
+import org.jboss.bpm.api.service.MessageBuilderService;
+import org.jboss.bpm.api.service.MessageService;
 import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.UserTask;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
-import org.jboss.bpm.incubator.service.MessageBuilderService;
-import org.jboss.bpm.incubator.service.MessageService;
 
 /**
  * A callback that can be attached to a {@link UserTask} to facilitate message handling; 

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Assignment.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Assignment.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Assignment.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,10 +23,11 @@
 
 import java.io.Serializable;
 
-import org.jboss.bpm.api.model.Expression;
+import org.jboss.bpm.api.model.Property;
 
 
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ComplexGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ComplexGateway.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ComplexGateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,8 +21,6 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Expression;
-import org.jboss.bpm.api.model.Gateway;
 
 
 // $Id$

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEvent.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/EndEvent.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEvent.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEvent.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.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, SingleInFlowSupport
+{
+  /**
+   * Get the type od end result
+   */
+  EventDetailType getResultType();
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEventExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEventExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EndEventExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,7 +21,6 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.EndEvent;
 
 //$Id$
 

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Event.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Event.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Event.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Event.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model;
+
+import org.jboss.bpm.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();
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EventExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EventExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/EventExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,8 +21,10 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Event;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.api.model.Signal;
 
+
 //$Id$
 
 

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ExclusiveGateway.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/ExclusiveGateway.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ExclusiveGateway.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ExclusiveGateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model;
+
+
+//$Id$
+
+/**
+ * Exclusive Gateways (Decisions) are locations within a business process where the Sequence Flow can take two or more
+ * alternative paths. This is basically the “fork in the road” for a process. For a given performance (or instance) of the
+ * process, only one of the paths can be taken (this should not be confused with forking of paths—refer to “Forking Flow”)
+ * 
+ * A Decision is not an activity from the business process perspective, but is a type of Gateway that controls
+ * the Sequence Flow between activities. It can be thought of as a question that is asked at that point in the Process. The
+ * question has a defined set of alternative answers (Gates). Each Decision Gate is associated with a condition expression
+ * found within an outgoing Sequence Flow. When a Gate is chosen during the performance of the Process, the
+ * corresponding Sequence Flow is then chosen. A Token arriving at the Decision would be directed down the appropriate
+ * path, based on the chosen Gate.
+ * 
+ * The Exclusive Decision has two or more outgoing Sequence Flow, but only one of them may be taken during the
+ * performance of the Process. Thus, the Exclusive Decision defines a set of alternative paths for the Token to take as it
+ * traverses the Flow. There are two types of Exclusive Decisions: Data-Based and Event-Based.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ExclusiveGateway extends Gateway
+{
+  enum ExclusiveType
+  {
+    Data, Event
+  }
+  
+  /**
+   * ExclusiveType is by default Data. The ExclusiveType MAY be set to Event.
+   */
+  ExclusiveType getExclusiveType();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Expression.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Expression.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Expression.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Expression.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.incubator.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();
+
+}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gate.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gate.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gate.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,7 +25,6 @@
 
 import java.util.List;
 
-import org.jboss.bpm.api.model.SequenceFlow;
 
 /**
  * There MAY be zero or more Gates (except where noted below). Zero Gates are

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gateway.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Gateway.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gateway.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Gateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.incubator.model;
+
+//$Id: $
+
+import java.util.List;
+
+import org.jboss.bpm.api.model.Node;
+
+/**
+ * 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/jboss/bpm/incubator/model/GatewayExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/GatewayExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/GatewayExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,7 +21,6 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Gateway;
 
 //$Id$
 

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Group.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Group.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Group.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,7 +25,9 @@
 
 import java.io.Serializable;
 
+import org.jboss.bpm.api.model.PropertySupport;
 
+
 /**
  * The Group object is an Artifact that provides a visual mechanism to group elements of a diagram informally. The
  * grouping is tied to the Category supporting element (which is an attribute of all BPMN elements). That is, a Group is a

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InclusiveGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InclusiveGateway.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InclusiveGateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,7 +21,6 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Gateway;
 
 
 //$Id$

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InputSet.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InputSet.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/InputSet.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,8 +21,10 @@
  */
 package org.jboss.bpm.incubator.model;
 
+import org.jboss.bpm.api.model.PropertySupport;
 
 
+
 //$Id$
 
 /**

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Message.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Message.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Message.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.model;
-
-import java.io.Serializable;
-
-
-
-
-//$Id$
-
-/**
- * A Message, which is used in the definition of attributes for a StartEvent,
- * EndEvent, IntermediateEvent, Task, and MessageFlow
- * 
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface Message extends PropertySupport, Serializable
-{
-  /**
-   * Name is an attribute that is text description of the Message.
-   */
-  String getName();
-
-  /**
-   * This defines the source of the Message.
-   */
-  Participant getFromRef();
-  
-  /**
-   * This defines the target of the Message.
-   */
-  Participant getToRef();
-}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/NodeExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/NodeExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/NodeExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -26,6 +26,7 @@
 import java.util.List;
 
 import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.PropertySupport;
 import org.jboss.bpm.incubator.runtime.ExecutionHandler;
 import org.jboss.bpm.incubator.runtime.FlowHandler;
 import org.jboss.bpm.incubator.runtime.SignalHandler;

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/OutputSet.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/OutputSet.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/OutputSet.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,8 +21,10 @@
  */
 package org.jboss.bpm.incubator.model;
 
+import org.jboss.bpm.api.model.PropertySupport;
 
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ParallelGateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ParallelGateway.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ParallelGateway.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,7 +21,6 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Gateway;
 
 
 // $Id$

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Participant.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Participant.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Participant.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.model;
-
-//$Id$
-
-import java.io.Serializable;
-
-import javax.management.ObjectName;
-
-
-
-/**
- * A Participant, which is used in the definition of attributes for a Pool, {@link Message}, and WebService
- * 
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface Participant extends Serializable
-{
-  /**
-   * The name of this participant
-   */
-  ObjectName getName();
-}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ProcessStructureExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ProcessStructureExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ProcessStructureExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,7 +25,9 @@
 
 import java.util.List;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessStructure;
+import org.jboss.bpm.api.model.PropertySupport;
 
 /**
  * A ProcessStructure defines the structure of a Process 

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Property.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Property.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Property.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.incubator.model;
-
-import java.io.Serializable;
-
-// $Id$
-
-/**
- * A Property, which is used in the definition of attributes for a Process and common activity attributes
- * 
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface Property extends Serializable
-{
-  /**
-   * Each Property has a Name (e.g., name=”Customer Name”).
-   */
-  String getName();
-  
-  /**
-   * Get the property value.
-   */
-  String getValue();
-  
-  /**
-   * If the Correlation attribute is set to True, then the Property is marked to be used for
-   * correlation (e.g., for incoming Messages).
-   */
-  boolean isCorrelation();
-}

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/PropertySupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/PropertySupport.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/PropertySupport.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.model;
-
-//$Id$
-
-import java.io.Serializable;
-import java.util.Set;
-
-
-/**
- * Property support
- * 
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface PropertySupport extends Serializable
-{
-  /**
-   * Get a Property with a given name. 
-   */
-  Property getProperty(String name);
-
-  /**
-   * Get the set of properties
-   */
-  Set<Property> getProperties();
-  
-  /**
-   * Get the set of property names
-   */
-  Set<String> getPropertyNames();
-  
-  /**
-   * Add a property 
-   */
-  void addProperty(Property prop);
-
-  /**
-   * Add a property 
-   */
-  void addProperty(String name, Object value);
-  
-  /**
-   * Remove a property 
-   */
-  Property removeProperty(String name);
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ReceiveTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ReceiveTask.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/ReceiveTask.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,9 +21,10 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Task;
+import org.jboss.bpm.api.model.Message;
 
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SendTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SendTask.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SendTask.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,9 +21,10 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Task;
+import org.jboss.bpm.api.model.Message;
 
 
+
 //$Id$
 
 /**

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SequenceFlow.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SequenceFlow.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SequenceFlow.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SequenceFlow.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,93 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model;
+
+import java.io.Serializable;
+
+
+//$Id$
+
+/**
+ * A Sequence Flow is used to show the order that activities will be performed in a Process. Each Flow has only one
+ * source and only one target. The source and target must be from the set of the following Flow Objects: Events (Start,
+ * Intermediate, and End), Activities (Task and Sub-Process), and Gateways. During performance (or simulation) of the
+ * process, a Token will leave the source Flow Object, traverse down the Sequence Flow, and enter the target Flow
+ * Object.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SequenceFlow extends Serializable
+{
+  /**
+   * The ConditionType
+   */
+  public enum ConditionType
+  {
+    None, Expression, Default
+  }
+
+  /**
+   * Name is an optional attribute that is text description of the Connecting Object.
+   */
+  String getName();
+  
+  /**
+   * SourceRef is an attribute that identifies which Graphical Element the Connecting
+   * Object is connected from. Note: there are restrictions as to what objects Sequence
+   * Flow and Message Flow can connect. 
+   */
+  String getSourceRef();
+
+  /**
+   * TargetRef is an attribute that identifies which Graphical Element the Connecting
+   * Object is connected to. Note: there are restrictions as to what objects Sequence
+   * Flow and Message Flow can connect.
+   */
+  String getTargetRef();
+  
+  /**
+   * By default, the ConditionType of a Sequence Flow is None. This means that there is no evaluation at runtime to
+   * determine whether or not the Sequence Flow will be used. Once a Token is ready to traverse the Sequence Flow (i.e.,
+   * the Source is an activity that has completed), then the Token will do so. The normal, uncontrolled use of Sequence
+   * Flow, in a sequence of activities, will have a None ConditionType. A None ConditionType MUST NOT be used if the
+   * Source of the Sequence Flow is an Exclusive Data-Based or Inclusive Gateway. The ConditionType attribute MAY be set
+   * to Expression if the Source of the Sequence Flow is a Task, a Sub-Process, or a Gateway of type Exclusive-Data-
+   * Based or Inclusive. If the ConditionType attribute is set to Expression, then a condition marker SHALL be added to
+   * the line if the Sequence Flow is outgoing from an activity. However, a condition indicator MUST NOT be added to the
+   * line if the Sequence Flow is outgoing from a Gateway. An Expression ConditionType MUST NOT be used if the Source of
+   * the Sequence Flow is an Event-Based Exclusive Gateway, a Complex Gateway, a Parallel Gateway, a Start Event, or an
+   * Intermediate Event. In addition, an Expression ConditionType MUST NOT be used if the Sequence Flow is associated
+   * with the Default Gate of a Gateway. The ConditionType attribute MAY be set to Default only if the Source of the
+   * Sequence Flow is an activity or an Exclusive Data-Based Gateway.
+   */
+  ConditionType getConditionType();
+
+  /**
+   * If the ConditionType attribute is set to Expression, then the ConditionExpression attribute MUST be defined as a
+   * valid expression. The expression will be evaluated at runtime. If the result of the evaluation is TRUE, then a
+   * Token will be generated and will traverse the Sequence--Subject to any constraints imposed by a Source that is a
+   * Gateway.
+   */
+  Expression getConditionExpression();
+
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Signal.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Signal.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Signal.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.model;
-
-//$Id$
-
-import java.io.Serializable;
-
-import javax.management.ObjectName;
-
-/**
- * A Signal is like an undirected flare shot up
- * into the air.
- *  
- * @author Thomas.Diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Signal extends Serializable
-{
-  /**
-   * Defines the types of supported Signals
-   */
-  enum SignalType
-  {
-    SYSTEM_START_EVENT_ENTER, SYSTEM_START_EVENT_EXIT, SYSTEM_START_TRIGGER,
-    SYSTEM_EVENT_ENTER, SYSTEM_EVENT_EXIT, SYSTEM_EVENT_TRIGGER,
-    SYSTEM_END_EVENT_ENTER, SYSTEM_END_EVENT_EXIT, SYSTEM_END_TRIGGER, 
-    SYSTEM_GATEWAY_ENTER, SYSTEM_GATEWAY_EXIT, 
-    SYSTEM_PROCESS_ENTER, SYSTEM_PROCESS_EXIT, 
-    SYSTEM_TASK_ENTER, SYSTEM_TASK_EXIT, SYSTEM_TASK_TRIGGER,
-    USER_SIGNAL
-  }
-
-  /**
-   * Get the signal type of this signal
-   */
-  SignalType getSignalType();
-
-  /**
-   * Get the sending participant for this signal
-   */
-  ObjectName getFromRef();
-
-  /**
-   * Get the optional message associated with this signal
-   */
-  public String getMessage();
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleInFlowSupport.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleInFlowSupport.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleInFlowSupport.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleInFlowSupport.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model;
+
+
+//$Id$
+
+/**
+ * Implemented by Nodes that support a single incomming flow.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SingleInFlowSupport 
+{
+  /**
+   * Get the incomming SequenceFlow
+   */
+  SequenceFlow getInFlow();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleOutFlowSupport.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/SingleOutFlowSupport.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleOutFlowSupport.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/SingleOutFlowSupport.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model;
+
+
+// $Id$
+
+/**
+ * Implemented by Nodes that support a single outgoing flow.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SingleOutFlowSupport 
+{
+  /**
+   * Get the outgoing SequenceFlow
+   */
+  SequenceFlow getOutFlow();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEvent.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/StartEvent.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEvent.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEvent.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -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.jboss.bpm.incubator.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, SingleOutFlowSupport
+{
+  /**
+   * Get the detail type fopr this event
+   */
+  EventDetailType getTriggerType();
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEventExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEventExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/StartEventExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,7 +21,6 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.StartEvent;
 
 
 

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Task.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Task.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Task.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/Task.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model;
+
+import org.jboss.bpm.api.model.Node;
+
+//$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, SingleOutFlowSupport, SingleInFlowSupport
+{
+  /**
+   * 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();
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/TaskExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/TaskExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/TaskExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,8 +25,6 @@
 
 import java.util.List;
 
-import org.jboss.bpm.api.model.Expression;
-import org.jboss.bpm.api.model.Task;
 
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/UserTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/UserTask.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/UserTask.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -21,7 +21,7 @@
  */
 package org.jboss.bpm.incubator.model;
 
-import org.jboss.bpm.api.model.Task;
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.incubator.client.UserTaskCallback;
 
 //$Id$

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/WaitState.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/WaitState.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/WaitState.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/WaitState.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.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/jboss/bpm/incubator/model/builder/EventBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/EventBuilder.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/EventBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,7 +23,7 @@
 
 //$Id$
 
-import org.jboss.bpm.incubator.model.Signal.SignalType;
+import org.jboss.bpm.api.model.Signal.SignalType;
 
 /**
  * The EventBuilder can be used to build an Event dynamically.

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/GatewayBuilder.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/GatewayBuilder.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/GatewayBuilder.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/GatewayBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model.builder;
+
+import org.jboss.bpm.incubator.model.Gate;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+
+
+//$Id$
+
+/**
+ * The GatewayBuilder can be used to build a Gateway dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface GatewayBuilder extends ProcessBuilder
+{
+  /**
+   * Add the default {@link Gate}
+   */
+  GatewayBuilder addDefaultGate(String targetName);
+  
+  /**
+   * Add a conditional {@link Gate}
+   */
+  GatewayBuilder addConditionalGate(String targetName, ExpressionLanguage exprLang, String exprBody);
+
+  /**
+   * Add an unconditional {@link Gate}
+   */
+  GatewayBuilder addGate(String targetName);
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/MessageBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/MessageBuilder.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/MessageBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,68 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.model.builder;
-
-//$Id$
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.incubator.model.Message;
-
-
-/**
- * A MessageBuilder can be used to build a {@link Message} dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface MessageBuilder
-{
-  /**
-   * Create a {@link Message} with a given name
-   */
-  MessageBuilder newMessage(String msgName);
-
-  /**
-   * Add a message destination
-   */
-  MessageBuilder addToRef(ObjectName toRef);
-  
-  /**
-   * Add a message source
-   */
-  MessageBuilder addFromRef(ObjectName fromRef);
-  
-  /**
-   * Add a message property
-   */
-  MessageBuilder addProperty(String name, Object value);
-  
-  /**
-   * Add a message property
-   */
-  MessageBuilder addProperty(String name, Object value, boolean isCorrelation);
-  
-  /**
-   * Get the Message
-   */
-  Message getMessage();
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilder.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/builder/ProcessBuilder.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilder.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.model.builder;
+
+//$Id$
+
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.ProcessInstance;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
+import org.jboss.bpm.incubator.model.Task.TaskType;
+
+/**
+ * The ProcessBuilder can be used to build a {@link ProcessInstance} dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ProcessBuilder
+{
+  /**
+   * Add a {@link ProcessInstance} with a given name
+   */
+  ProcessBuilder addProcess(String name);
+
+  /**
+   * Get the {@link ProcessDefinition}. 
+   * <p/> 
+   * This is the final call to the ProcessBuilder after all elements have been added.
+   */
+  ProcessDefinition getProcessDefinition();
+
+  /**
+   * Add a SequenceFlow with a given name
+   */
+  ProcessBuilder addSequenceFlow(String targetName);
+
+  /**
+   * Add a SartEvent with a given name
+   */
+  ProcessBuilder addStartEvent(String name);
+
+  /**
+   * Add an EndEvent with a given name
+   */
+  ProcessBuilder addEndEvent(String name);
+
+  /**
+   * Add a Task of {@link TaskType} NONE with a given name
+   */
+  ProcessBuilder addTask(String name);
+
+  /**
+   * Add a Task of {@link TaskType} with a given name
+   */
+  ProcessBuilder addTask(String name, TaskType type);
+
+  /**
+   * Add a Gateway with a given name
+   */
+  GatewayBuilder addGateway(String name, GatewayType type);
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilderExt.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilderExt.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/ProcessBuilderExt.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,18 +23,17 @@
 
 //$Id$
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.Node;
 import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.model.Task.TaskType;
-import org.jboss.bpm.api.model.builder.GatewayBuilder;
-import org.jboss.bpm.api.model.builder.ProcessBuilder;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.Property;
+import org.jboss.bpm.api.model.Property;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.Group.GroupType;
+import org.jboss.bpm.incubator.model.Task.TaskType;
 import org.jboss.bpm.incubator.runtime.ExecutionHandler;
 import org.jboss.bpm.incubator.runtime.FlowHandler;
 import org.jboss.bpm.incubator.runtime.SignalHandler;

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/SignalBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/SignalBuilder.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/SignalBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.model.builder;
-
-//$Id$
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
-
-
-/**
- * A SignalBuilder can be used to build a {@link Signal} dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface SignalBuilder
-{
-  /**
-   * Create a Signal
-   */
-  Signal newSignal(SignalType signalType, ObjectName fromRef, String message);
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/TaskBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/TaskBuilder.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/model/builder/TaskBuilder.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,8 +23,8 @@
 
 //$Id$
 
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.incubator.model.Message;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 
 /**
  * The TaskBuilder can be used to build a Task dynamically.

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/NodeHandler.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/NodeHandler.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/NodeHandler.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,8 +23,6 @@
 
 import java.io.Serializable;
 
-//$Id$
-
 import org.jboss.bpm.api.model.Node;
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/SignalHandler.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/SignalHandler.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/SignalHandler.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -24,9 +24,9 @@
 // $Id$
 
 import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.runtime.Token;
 import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.incubator.model.Signal;
 
 /**
  * The {@link ProcessEngine} invokes the SignalHandler on a {@link Node} 

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/TokenExecutor.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/TokenExecutor.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/runtime/TokenExecutor.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,8 +23,8 @@
 
 //$Id$
 
-import org.jboss.bpm.api.model.SequenceFlow;
 import org.jboss.bpm.api.runtime.Token;
+import org.jboss.bpm.incubator.model.SequenceFlow;
 
 /**
  * The {@link FlowHandler} invokes the TokenExecutor to move {@link Token}s along the {@link SequenceFlow}s in the

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageBuilderService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageBuilderService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.service;
-
-//$Id$
-
-import org.jboss.bpm.api.config.Configuration;
-import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.api.service.internal.AbstractService;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
-
-/**
- * The MessageBuilder can be used to build a {@link Message} dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public abstract class MessageBuilderService extends AbstractService
-{
-  /**
-   * Locate the default MessageBuilder
-   */
-  public static MessageBuilder locateMessageBuilder()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    MessageBuilderService builderService = engine.getService(MessageBuilderService.class);
-    return builderService.getMessageBuilder();
-  }
-  
-  /**
-   * Get the MessageBuilder
-   */
-  public abstract MessageBuilder getMessageBuilder();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,171 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software{} you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation{} either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY{} without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software{} if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.service;
-
-//$Id$
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.api.config.Configuration;
-import org.jboss.bpm.api.model.Event;
-import org.jboss.bpm.api.model.Node;
-import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.Task;
-import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.api.service.ProcessInstanceService;
-import org.jboss.bpm.api.service.internal.AbstractService;
-import org.jboss.bpm.incubator.client.MessageListener;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.Participant;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The ProcessEngine sends messages through the MessageService. 
- * <p/> 
- * A {@link Message} has an ID and is targeted to a
- * specific Participant. A component can register a {@link MessageListener} with the MessageService.
- * 
- * @author thomas.diesler at jboss.com
- * @since 18-Jun-2008
- */
-public abstract class MessageService extends AbstractService
-{
-  // Provide logging
-  final Logger log = LoggerFactory.getLogger(MessageService.class);
-
-  // The set of registered message listeners
-  private Map<ObjectName, MessageListener> listeners = new HashMap<ObjectName, MessageListener>();
-
-  /**
-   * Locate the default MessageService
-   */
-  public static MessageService locateMessageService()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    return engine.getService(MessageService.class);
-  }
-
-  /**
-   * Add a MessageListener
-   */
-  public void addMessageListener(MessageListener listener)
-  {
-    synchronized (listeners)
-    {
-      if (hasMessageListener(listener.getKey()))
-        throw new IllegalStateException("Listener already registered: " + listener.getKey());
-
-      log.debug("addMessageListener: " + listener.getKey());
-      listeners.put(listener.getKey(), listener);
-    }
-  }
-
-  /**
-   * Get the set of registered MessageListeners 
-   */
-  public Set<MessageListener> getMessageListeners()
-  {
-    synchronized (listeners)
-    {
-      HashSet<MessageListener> set = new HashSet<MessageListener>(listeners.values());
-      return Collections.unmodifiableSet(set);
-    }
-  }
-
-  /**
-   * Get a MessageListener for a given ID
-   * 
-   * @return null if there is none
-   */
-  public MessageListener getMessageListener(ObjectName listenerID)
-  {
-    synchronized (listeners)
-    {
-      return listeners.get(listenerID);
-    }
-  }
-
-  /**
-   * True if there is a MessageListener for a given ID
-   */
-  public boolean hasMessageListener(ObjectName listenerID)
-  {
-    return getMessageListener(listenerID) != null;
-  }
-
-  /**
-   * Remove an MessageListener
-   */
-  public void removeMessageListener(ObjectName listenerID)
-  {
-    synchronized (listeners)
-    {
-      log.debug("removeMessageListener: " + listenerID);
-      listeners.remove(listenerID);
-    }
-  }
-
-  /**
-   * Send a message to a given {@link Task} or {@link Event}
-   */
-  public void sendMessage(ObjectName procID, String targetName, Message msg)
-  {
-    ProcessInstanceService procService = getProcessEngine().getService(ProcessInstanceService.class);
-    ProcessInstance proc = procService.getInstance(procID);
-    if (proc == null)
-      throw new IllegalStateException("Cannot obtain registered process: " + procID);
-
-    Node targetNode = proc.getNode(targetName);
-    if (targetNode == null)
-      throw new IllegalArgumentException("Cannot find message target: " + targetName);
-    if (targetNode instanceof MessageListener == false)
-      throw new IllegalArgumentException("Message target is not a valid message receiver: " + targetName);
-
-    log.debug("sendMessage to " + targetNode + " => " + msg);
-    MessageListener msgListener = (MessageListener)targetNode;
-    msgListener.catchMessage(msg);
-  }
-  
-  /**
-   * Send a message to a given {@link MessageListener}
-   */
-  public void sendMessage(Message msg)
-  {
-    Participant toRef = msg.getToRef();
-    if (toRef == null)
-      throw new IllegalArgumentException("Target entity cannot be null");
-    
-    MessageListener msgListener = getMessageListener(toRef.getName());
-    if (msgListener == null)
-      throw new IllegalStateException("No message listener registered for: " + toRef);
-
-    log.debug("sendMessage to '" + toRef + "' => " + msg);
-    msgListener.catchMessage(msg);
-  }
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/PersistenceService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/PersistenceService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,9 +27,9 @@
 
 import org.hibernate.Session;
 import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.service.internal.AbstractService;
+import org.jboss.bpm.api.service.AbstractService;
 
 /**
  * The persistence service.

Copied: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ProcessBuilderService.java (from rev 3446, projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ProcessBuilderService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ProcessBuilderService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.incubator.service;
+
+//$Id$
+
+import org.jboss.bpm.api.model.ProcessInstance;
+import org.jboss.bpm.api.service.AbstractService;
+import org.jboss.bpm.incubator.model.builder.ProcessBuilder;
+
+/**
+ * The ProcessBuilder can be used to build a {@link ProcessInstance} dynamically.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class ProcessBuilderService extends AbstractService
+{
+  /**
+   * Get the ProcessBuilder
+   */
+  public abstract ProcessBuilder getProcessBuilder();
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalBuilderService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalBuilderService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.service;
-
-//$Id$
-
-import org.jboss.bpm.api.config.Configuration;
-import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.api.service.internal.AbstractService;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.builder.SignalBuilder;
-
-/**
- * The SignalBuilder can be used to build a {@link Signal} dynamically.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public abstract class SignalBuilderService extends AbstractService
-{
-  /**
-   * Locate the default SignalBuilder
-   */
-  public static SignalBuilder locateSignalBuilder()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    SignalBuilderService builderService = engine.getService(SignalBuilderService.class);
-    return builderService.getSignalBuilder();
-  }
-  
-  /**
-   * Get the SignalBuilder
-   */
-  public abstract SignalBuilder getSignalBuilder();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/SignalService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,137 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.incubator.service;
-
-//$Id$
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.jboss.bpm.api.config.Configuration;
-import org.jboss.bpm.api.service.ProcessEngine;
-import org.jboss.bpm.api.service.internal.AbstractService;
-import org.jboss.bpm.incubator.client.SignalListener;
-import org.jboss.bpm.incubator.model.Signal;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A {@link Signal} is like an undirected flare shot up
- * into the air. A component can register a {@link SignalListener} with the SignalService.
- * 
- * @author thomas.diesler at jboss.com
- * @since 18-Jun-2008
- */
-public abstract class SignalService extends AbstractService
-{
-  // provide logging
-  final static Logger log = LoggerFactory.getLogger(SignalService.class);
-
-  // The map of registered signal listeners
-  private Set<SignalListener> listeners = new HashSet<SignalListener>();
-
-  /**
-   * Locate the default SignalService
-   */
-  public static SignalService locateSignalService()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    return engine.getService(SignalService.class);
-  }
-  
-  /**
-   * Add a SignalListener for a given source
-   */
-  public void addSignalListener(SignalListener listener)
-  {
-    synchronized (listeners)
-    {
-      log.debug("addSignalListener: " + listener);
-      listeners.add(listener);
-    }
-  }
-
-  /**
-   * Get the set of registered SignalListeners 
-   */
-  public Set<SignalListener> getSignalListeners()
-  {
-    synchronized (listeners)
-    {
-      HashSet<SignalListener> set = new HashSet<SignalListener>(listeners);
-      return Collections.unmodifiableSet(set);
-    }
-  }
-
-  /**
-   * Remove a SignalListener for a given source
-   */
-  public void removeSignalListener(SignalListener listener)
-  {
-    synchronized (listeners)
-    {
-      log.debug("removeSignalListener: " + listener);
-      listeners.remove(listener);
-    }
-  }
-
-  /**
-   * Throw a signal to all registered listeners
-   */
-  public void throwSignal(Signal signal)
-  {
-    log.debug("throwSignal: " + signal);
-    Set<SignalListener> currentSet = getSignalListeners();
-    for (SignalListener listener : currentSet)
-    {
-      if (failsafeAccept(listener, signal))
-        failsafeThrow(listener, signal);
-    }
-  }
-
-  private boolean failsafeAccept(SignalListener listener, Signal signal)
-  {
-    try
-    {
-      boolean accept = listener.acceptSignal(signal);
-      return accept;
-    }
-    catch (RuntimeException rte)
-    {
-      log.error("Signal processing error", rte);
-      return false;
-    }
-  }
-
-  private void failsafeThrow(SignalListener listener, Signal signal)
-  {
-    try
-    {
-      listener.catchSignal(signal);
-    }
-    catch (RuntimeException rte)
-    {
-      log.error("Signal processing error", rte);
-    }
-  }
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ThreadingService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ThreadingService.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/ThreadingService.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,10 +27,10 @@
 import java.util.concurrent.Executors;
 
 import org.jboss.bpm.api.model.ProcessInstance;
-import org.jboss.bpm.api.model.StartEvent;
 import org.jboss.bpm.api.model.ProcessInstance.ProcessStatus;
 import org.jboss.bpm.api.runtime.Attachments;
-import org.jboss.bpm.api.service.internal.AbstractService;
+import org.jboss.bpm.api.service.AbstractService;
+import org.jboss.bpm.incubator.model.StartEvent;
 
 /**
  * The ThreadingService executes processes

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,15 +25,15 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test end event with message result

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,12 +27,12 @@
 import java.util.List;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Exclusive data-based gateway that has multiple incoming sequence flows. The first token arriving from one of the

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,12 +27,12 @@
 import java.util.List;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Inclusive gateway that has multiple incoming sequence flows. All tokens arriving from incoming sequence flows

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,15 +27,15 @@
 import java.util.List;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.model.builder.GatewayBuilder;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
+import org.jboss.bpm.incubator.model.builder.GatewayBuilder;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Inclusive gateway that has conditional outgoing sequence flows. 

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,17 +25,17 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Parallel gateway that that has multiple incoming sequence flows. Each token arriving from an incoming sequence flow

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -29,13 +29,13 @@
 import javax.management.ObjectName;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.Signal.SignalType;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Parallel gateway that has uncontrolled outgoing sequence flows. All of them are taken, which leads to parallel paths

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,16 +25,16 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.model.builder.TaskBuilder;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * InputSets define the data requirements for input to the activity. Zero or more InputSets MAY be defined. Each

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,15 +25,15 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.model.builder.TaskBuilder;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * OutputSets define the data requirements for output from the activity. Zero or more OutputSets MAY be defined. At the

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,17 +25,17 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.model.builder.TaskBuilder;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Modeler-defined Properties MAY be added to an activity. These Properties are "local" to the activity. These

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,16 +25,16 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Modeler-defined Properties MAY be added to a Process. These Properties are "local" to the Process. All Tasks,

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalMultithreadTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalMultithreadTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalMultithreadTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -23,11 +23,11 @@
 
 // $Id$
 
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.SignalListener;
+import org.jboss.bpm.api.model.Signal.SignalType;
+import org.jboss.bpm.api.service.SignalService;
 import org.jboss.bpm.api.test.CTSTestCase;
-import org.jboss.bpm.incubator.client.SignalListener;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
-import org.jboss.bpm.incubator.service.SignalService;
 
 /**
  * Test the ProcessManager

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalServiceTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/service/signal/SignalServiceTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,10 +25,10 @@
 
 import java.util.List;
 
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.Signal.SignalType;
+import org.jboss.bpm.api.service.SignalService;
 import org.jboss.bpm.api.test.CTSTestCase;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
-import org.jboss.bpm.incubator.service.SignalService;
 
 /**
  * Test the SignalService

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -28,24 +28,24 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.SignalListener;
+import org.jboss.bpm.api.model.Signal.SignalType;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.service.ProcessDefinitionService;
 import org.jboss.bpm.api.service.ProcessInstanceService;
+import org.jboss.bpm.api.service.SignalService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.client.SignalListener;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.Signal;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.incubator.model.builder.EventBuilder;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.model.builder.TaskBuilder;
-import org.jboss.bpm.incubator.service.SignalService;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test start event with signal trigger

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -26,17 +26,17 @@
 import java.io.IOException;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.api.runtime.Attachments;
 import org.jboss.bpm.api.runtime.Token;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.model.builder.TaskBuilder;
 import org.jboss.bpm.incubator.runtime.BasicNodeHandler;
 import org.jboss.bpm.incubator.runtime.ExecutionHandler;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test ExecutionHandler attached to Task

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -26,25 +26,25 @@
 import java.io.IOException;
 
 import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessInstance;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Task.TaskType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.SignalListener;
+import org.jboss.bpm.api.model.Signal.SignalType;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
+import org.jboss.bpm.api.service.MessageBuilderService;
+import org.jboss.bpm.api.service.MessageService;
 import org.jboss.bpm.api.service.ProcessDefinitionService;
 import org.jboss.bpm.api.service.ProcessInstanceService;
+import org.jboss.bpm.api.service.SignalService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.client.SignalListener;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Task.TaskType;
 import org.jboss.bpm.incubator.model.builder.EventBuilder;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
-import org.jboss.bpm.incubator.service.MessageBuilderService;
-import org.jboss.bpm.incubator.service.MessageService;
-import org.jboss.bpm.incubator.service.SignalService;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test Receive Task

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,15 +27,15 @@
 import java.util.List;
 
 import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Task.TaskType;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Task.TaskType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test Send Task

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -26,18 +26,18 @@
 import java.io.IOException;
 import java.util.List;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Task.TaskType;
 import org.jboss.bpm.api.runtime.Attachments;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
 import org.jboss.bpm.incubator.client.UserTaskCallback;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.UserTask;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Task.TaskType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test UserTask that uses the callback API

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -29,21 +29,21 @@
 import javax.management.ObjectName;
 
 import org.jboss.bpm.api.Constants;
+import org.jboss.bpm.api.model.Message;
+import org.jboss.bpm.api.model.MessageListener;
+import org.jboss.bpm.api.model.ObjectNameFactory;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Task.TaskType;
-import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.service.MessageBuilderService;
+import org.jboss.bpm.api.service.MessageService;
 import org.jboss.bpm.api.service.ProcessInstanceService;
 import org.jboss.bpm.api.test.CTSTestCase;
-import org.jboss.bpm.incubator.client.MessageListener;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Task.TaskType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
-import org.jboss.bpm.incubator.service.MessageBuilderService;
-import org.jboss.bpm.incubator.service.MessageService;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test User Task

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -28,21 +28,21 @@
 
 import org.jboss.bpm.api.Constants;
 import org.jboss.bpm.api.Constants.TxType;
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.Node;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Task.TaskType;
 import org.jboss.bpm.api.runtime.BasicAttachments;
 import org.jboss.bpm.api.runtime.Token;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
 import org.jboss.bpm.incubator.model.Group;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.NodeExt;
 import org.jboss.bpm.incubator.model.ProcessDefinitionExt;
 import org.jboss.bpm.incubator.model.Group.GroupType;
+import org.jboss.bpm.incubator.model.Task.TaskType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.runtime.ExecutionHandler;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test two tasks with Tx attribute REQUIRED

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -26,16 +26,16 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.model.builder.GatewayBuilder;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
+import org.jboss.bpm.incubator.model.Gateway;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.incubator.model.builder.GatewayBuilder;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Exclusive data-based gateway that has conditional outgoing sequence flows. 

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -26,16 +26,16 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.model.builder.GatewayBuilder;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.runtime.BasicAttachments;
-import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
+import org.jboss.bpm.incubator.model.Gateway;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.incubator.model.builder.GatewayBuilder;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Inclusive gateway that has conditional outgoing sequence flows. 

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -28,14 +28,14 @@
 
 import javax.management.ObjectName;
 
-import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.Signal.SignalType;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
+import org.jboss.bpm.incubator.model.Gateway;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Parallel gateway that has uncontrolled outgoing sequence flows. 

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,12 +27,12 @@
 import java.util.List;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
+import org.jboss.bpm.api.model.Signal.SignalType;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
-import org.jboss.bpm.incubator.model.Signal.SignalType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Test the basic execution sequence

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -27,12 +27,12 @@
 import java.util.List;
 
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.Signal;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Signal;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Inclusive gateway that has multiple incoming sequence flows. All tokens arriving from incoming sequence flows

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,17 +25,17 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.model.Gateway.GatewayType;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.incubator.model.Gateway.GatewayType;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Parallel gateway that that has multiple incoming sequence flows. Each token arriving from an incoming sequence flow

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,16 +25,16 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Data elements are supported which are specific to a process instance or case. They can be accessed by all components

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,17 +25,17 @@
 
 import java.io.IOException;
 
+import org.jboss.bpm.api.model.Message;
 import org.jboss.bpm.api.model.ProcessDefinition;
-import org.jboss.bpm.api.model.Event.EventDetailType;
-import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.model.builder.MessageBuilder;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.ProcessInstanceExt;
-import org.jboss.bpm.incubator.model.Message;
 import org.jboss.bpm.incubator.model.Assignment.AssignTime;
-import org.jboss.bpm.incubator.model.builder.MessageBuilder;
+import org.jboss.bpm.incubator.model.Event.EventDetailType;
+import org.jboss.bpm.incubator.model.Expression.ExpressionLanguage;
 import org.jboss.bpm.incubator.model.builder.ProcessBuilderExt;
 import org.jboss.bpm.incubator.model.builder.TaskBuilder;
+import org.jboss.bpm.incubator.service.ProcessBuilderService;
 
 /**
  * Data elements can be defined by tasks which are accessible only within the context of individual execution instances

Modified: projects/spec/trunk/modules/integration/jboss42/.classpath
===================================================================
--- projects/spec/trunk/modules/integration/jboss42/.classpath	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/integration/jboss42/.classpath	2008-12-19 17:39:28 UTC (rev 3449)
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
-	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>

Modified: projects/spec/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARDeployerInterceptorEJB3MBean.java
===================================================================
--- projects/spec/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARDeployerInterceptorEJB3MBean.java	2008-12-19 17:06:02 UTC (rev 3448)
+++ projects/spec/trunk/modules/integration/jboss42/src/main/java/org/jbpm/integration/jboss42/PARDeployerInterceptorEJB3MBean.java	2008-12-19 17:39:28 UTC (rev 3449)
@@ -25,7 +25,7 @@
 
 import javax.management.ObjectName;
 
-import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.ObjectNameFactory;
 import org.jboss.deployment.SubDeployerInterceptorMBean;
 
 /**




More information about the jbpm-commits mailing list