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

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Oct 8 07:24:25 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-10-08 07:24:25 -0400 (Wed, 08 Oct 2008)
New Revision: 2508

Added:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/UserTaskCallback.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/AbstractElement.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java
Removed:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/AbstractElement.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/PropertySupport.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTaskCallback.java
Modified:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Process.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTask.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessCatalog.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/UserTaskCallbackTest.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java
Log:
Restructure packages

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/UserTaskCallback.java (from rev 2506, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTaskCallback.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/UserTaskCallback.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/client/UserTaskCallback.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,132 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.client;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.model.Message;
+import org.jbpm.api.model.UserTask;
+import org.jbpm.api.model.builder.MessageBuilder;
+import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.runtime.Attachments;
+import org.jbpm.api.runtime.BasicAttachments;
+import org.jbpm.api.service.MessageBuilderService;
+import org.jbpm.api.service.MessageService;
+
+/**
+ * A callback that can be attached to a {@link UserTask} to facilitate message handling; 
+ * 
+ * The callback registers a {@link MessageListener}, extracts the data from the received message 
+ * and calls the user provided 'callback' method. The response message is then constructed from 
+ * the user provided data and automatically sent back to the {@link UserTask}.
+ *  
+ * @author thomas.diesler at jboss.com
+ * @since 08-Oct-2008
+ */
+public abstract class UserTaskCallback
+{
+  private MessageListener messageListener;
+
+  /**
+   * Get the associated MessageListener
+   */
+  public MessageListener getMessageListener()
+  {
+    return messageListener;
+  }
+
+  /**
+   * Attached this callback to the user task
+   */
+  public void attach(UserTask userTask)
+  {
+    userTask.setUserTaskCallback(this);
+    
+    messageListener = new CallbackMessageListener(userTask);
+    
+    MessageService msgService = userTask.getProcessEngine().getService(MessageService.class);
+    msgService.addMessageListener(messageListener);
+  }
+
+  /**
+   * Detach this callback from the user task
+   */
+  public void detach(UserTask userTask)
+  {
+    MessageService msgService = userTask.getProcessEngine().getService(MessageService.class);
+    msgService.removeMessageListener(messageListener.getKey());
+  }
+  
+  public abstract void callback(Attachments att);
+
+  class CallbackMessageListener implements MessageListener
+  {
+    private UserTask userTask;
+    
+    public CallbackMessageListener(UserTask userTask)
+    {
+      this.userTask = userTask;
+    }
+
+    @Override
+    public void catchMessage(Message msg)
+    {
+      // Get the message data
+      Attachments att = new BasicAttachments();
+      for (String propName : msg.getPropertyNames())
+      {
+        String value = msg.getProperty(propName).getValue();
+        att.addAttachment(propName, value);
+      }
+        
+      // Call the user callback
+      callback(att);
+
+      // Build the response message
+      Message msgRef = userTask.getInMessageRef();
+      MessageBuilder msgBuilder = MessageBuilderService.locateMessageBuilder();
+      msgBuilder.newMessage(msgRef.getName());
+      for (String propName : msgRef.getPropertyNames())
+      {
+        Object value = att.getAttachment(propName);
+        if (value == null)
+          throw new IllegalStateException("Cannot obtain required property: " + propName);
+        msgBuilder.addProperty(propName, value);
+      }
+      Message resMessage = msgBuilder.getMessage();
+      
+      MessageService msgService = MessageService.locateMessageService();
+      
+      ObjectName procID = userTask.getProcess().getKey();
+      msgService.sendMessage(procID, userTask.getName(), resMessage);
+    }
+
+    @Override
+    public ObjectName getKey()
+    {
+      String oname = userTask.getKey().getCanonicalName();
+      return ObjectNameFactory.create(oname + ",msgListener=UserTaskCallback");
+    }
+  }
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/AbstractElement.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/AbstractElement.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/AbstractElement.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.model;
-
-//$Id$
-
-import java.io.Serializable;
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.client.ProcessEngine;
-
-/**
- * The parrent of all Elements
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface AbstractElement extends Serializable
-{
-  /**
-   * Get the ID of this element
-   */
-  ObjectName getKey();
-  
-  /**
-   * Get the associated ProcessEngine
-   */
-  ProcessEngine getProcessEngine();
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.api.model;
-
-import java.io.Serializable;
-
-//$Id$
-
-/**
- * An Assignment, which is used in the definition of attributes for Process,
- * Activity, Event, Gateway, and Gate.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Assignment extends Serializable
-{
-  public enum AssignTime
-  {
-    Start, End
-  }
-
-  /**
-   * The target for the Assignment MUST be a Property of the Process or the activity
-   * itself.
-   */
-  Property getTo();
-  
-  /**
-   * The Expression MUST be made up of a combination of Values, Properties, and
-   * Attributes, which are separated by operators such as add or multiply. The expression
-   * language is defined in the ExpressionLanguage attribute of the Business Process
-   * Diagram
-   */
-  Expression getFrom();
-
-  /**
-   * An Assignment MAY have a AssignTime setting. If the Object is an activity (Task,
-   * Sub-Process, or Process), then the Assignment MUST have an AssignTime.
-   * A value of Start means that the assignment SHALL occur at the start of the activity.
-   * This can be used to assign the higher-level (global) Properties of the Process to the
-   * (local) Properties of the activity as an input to the activity.
-   * A value of End means that the assignment SHALL occur at the end of the activity.
-   * This can be used to assign the (local) Properties of the activity to the higher-level
-   * (global) Properties of the Process as an output to the activity.
-   */
-  AssignTime getAssignTime();
-}

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Assignment.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model;
+
+import java.io.Serializable;
+
+
+//$Id$
+
+/**
+ * An Assignment, which is used in the definition of attributes for Process,
+ * Activity, Event, Gateway, and Gate.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Assignment extends Serializable
+{
+  public enum AssignTime
+  {
+    Start, End
+  }
+
+  /**
+   * The target for the Assignment MUST be a Property of the Process or the activity
+   * itself.
+   */
+  Property getTo();
+  
+  /**
+   * The Expression MUST be made up of a combination of Values, Properties, and
+   * Attributes, which are separated by operators such as add or multiply. The expression
+   * language is defined in the ExpressionLanguage attribute of the Business Process
+   * Diagram
+   */
+  Expression getFrom();
+
+  /**
+   * An Assignment MAY have a AssignTime setting. If the Object is an activity (Task,
+   * Sub-Process, or Process), then the Assignment MUST have an AssignTime.
+   * A value of Start means that the assignment SHALL occur at the start of the activity.
+   * This can be used to assign the higher-level (global) Properties of the Process to the
+   * (local) Properties of the activity as an input to the activity.
+   * A value of End means that the assignment SHALL occur at the end of the activity.
+   * This can be used to assign the (local) Properties of the activity to the higher-level
+   * (global) Properties of the Process as an output to the activity.
+   */
+  AssignTime getAssignTime();
+}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/EndEvent.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.api.model;
 
+
 //$Id$
 
 /**

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.model;
-
-//$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, Compensation, Link, Multiple, Timer, Rule, Signal 
-  }
-  
-  /**
-   * Get the type of this event
-   */
-  EventType getEventType();
-  
-  /**
-   * Get the detail type fopr this event
-   */
-  EventDetailType getDetailType();
-  
-  /**
-   * Get the associated signal ref
-   */
-  Signal getSignalRef();
-  
-  /**
-   * Get the associated message ref
-   */
-  Message getMessageRef();
-}
\ No newline at end of file

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model;
+
+
+//$Id$
+
+/**
+ * An Event is something that “happens” during the course of a business process. 
+ * <p/>
+ * These Events affect the flow of the Process and usually have a cause or an impact.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Event extends Node
+{
+  /**
+   * Defines the type of an {@link Event}
+   */
+  enum EventType
+  {
+    Start, End, Intermediate 
+  };
+  
+  /**
+   * Defines the type of event detail
+   */
+  enum EventDetailType
+  {
+    None, Message, Error, Compensation, Link, Multiple, Timer, Rule, Signal 
+  }
+  
+  /**
+   * Get the type of this event
+   */
+  EventType getEventType();
+  
+  /**
+   * Get the detail type fopr this event
+   */
+  EventDetailType getDetailType();
+  
+  /**
+   * Get the associated signal ref
+   */
+  Signal getSignalRef();
+  
+  /**
+   * Get the associated message ref
+   */
+  Message getMessageRef();
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.model;
-
-import java.io.Serializable;
-
-//$Id$
-
-/**
- * An Expression, which is used in the definition of attributes for StartEvent,
- * IntermediateEvent, Activity, ComplexGateway, and SequenceFlow
- *  
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface Expression extends Serializable
-{
-  enum ExpressionLanguage
-  {
-    MVEL
-  }
-
-  /**
-   * An ExpressionBody MUST be entered to provide the text of the expression, which
-   * will be written in the language defined by the ExpressionLanguage attribute.
-   */
-  String getExpressionBody();
-  
-  /**
-   * A Language MUST be provided to identify the language of the ExpressionBody.
-   * The value of the ExpressionLanguage should follow the naming conventions for the
-   * version of the specified language.
-   */
-  ExpressionLanguage getExpressionLanguage();
-
-}

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Expression.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model;
+
+import java.io.Serializable;
+
+//$Id$
+
+/**
+ * An Expression, which is used in the definition of attributes for StartEvent,
+ * IntermediateEvent, Activity, ComplexGateway, and SequenceFlow
+ *  
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface Expression extends Serializable
+{
+  enum ExpressionLanguage
+  {
+    MVEL
+  }
+
+  /**
+   * An ExpressionBody MUST be entered to provide the text of the expression, which
+   * will be written in the language defined by the ExpressionLanguage attribute.
+   */
+  String getExpressionBody();
+  
+  /**
+   * A Language MUST be provided to identify the language of the ExpressionBody.
+   * The value of the ExpressionLanguage should follow the naming conventions for the
+   * version of the specified language.
+   */
+  ExpressionLanguage getExpressionLanguage();
+
+}

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

Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Gateway.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model;
+
+//$Id$
+
+import java.util.List;
+
+
+/**
+ * Gateways are modeling elements that are used to control how Sequence Flow interact as they converge and diverge within
+ * a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term “Gateway” implies that
+ * there is a gating mechanism that either allows or disallows passage through the Gateway--that is, as Tokens arrive at a
+ * Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked. To
+ * be more descriptive, a Gateway is actually a collection of “Gates.” 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface Gateway extends Node
+{
+  /**
+   * The GatewayType
+   * 
+   */
+  public enum GatewayType
+  {
+    Exclusive, Inclusive, Complex, Parallel
+  }
+
+  /**
+   * GatewayType is by default Exclusive. The GatewayType MAY be set to Inclusive, Complex, or Parallel. The GatewayType will determine the behavior of the Gateway,
+   * both for incoming and outgoing Sequence Flow
+   */
+  GatewayType getGatewayType();
+
+  /**
+   * There MAY be zero or more Gates (except where noted below). Zero Gates are allowed if the Gateway is last object in a Process flow and there are no Start or End
+   * Events for the Process. If there are zero or only one incoming Sequence Flow, then there MUST be at least two Gates.
+   * 
+   * For Exclusive Data-Based Gateways. 
+   * When two Gates are required, one of them MAY be the DefaultGate.
+   * 
+   * For Exclusive Event-Based Gateways.
+   * There MUST be two or more Gates. (Note that this type of Gateway does not act only as a Merge--it is always a Decision, at
+   * least.)
+   * 
+   * For Inclusive Gateways. 
+   * When two Gates are required, one of them MAY be the DefaultGate.
+   */
+  List<SequenceFlow> getGates();
+  
+  /**
+   * Get the optional default gate
+   * @return null if there is none
+   */
+  SequenceFlow getDefaultGate();
+  
+  /**
+   * Get the gate for the given target name
+   * @return null if there is none
+   */
+  SequenceFlow getGateByName(String targetName);
+}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.api.model;
-
-//$Id$
-
-/**
- * An InputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
- * 
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface InputSet extends PropertySupport
-{
-}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -23,8 +23,11 @@
 
 import java.io.Serializable;
 
+import org.jbpm.api.model.internal.Participant;
+import org.jbpm.api.model.internal.PropertySupport;
 
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -25,6 +25,8 @@
 
 import java.util.List;
 
+import org.jbpm.api.model.internal.AbstractElement;
+import org.jbpm.api.model.internal.PropertySupport;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.FlowHandler;
 import org.jbpm.api.runtime.SignalHandler;

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.api.model;
-
-//$Id$
-
-/**
- * An OuputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
- * 
- * @author thomas.diesler at jboss.com
- * @since 21-Jul-2008
- */
-public interface OutputSet extends PropertySupport
-{
-}

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.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();
-}

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Process.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Process.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Process.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -25,6 +25,7 @@
 
 import javax.management.ObjectName;
 
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.Attachments;
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -21,6 +21,8 @@
  */
 package org.jbpm.api.model;
 
+import org.jbpm.api.model.internal.ProcessStructure;
+
 //$Id$
 
 /**

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -1,83 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.model;
-
-//$Id$
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * A ProcessStructure defines the structure of a Process 
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface ProcessStructure extends AbstractElement, PropertySupport
-{
-  /**
-   * Get the unique name.
-   */
-  String getName();
-
-  /**
-   * Get the list of nodes
-   */
-  List<Node> getNodes();
-
-  /**
-   * Get a list of nodes of a given type.
-   */
-  <T extends Node> List<T> getNodes(Class<T> clazz);
-
-  /**
-   * Get a node of a given type and name
-   */
-  <T extends Node> T getNode(Class<T> clazz, String name);
-
-  /**
-   * Get a node by name.
-   * 
-   * @return null if not found
-   */
-  Node getNode(String name);
-
-  /**
-   * One or more assignment expressions MAY be made for the object. The Assignment SHALL be performed as defined by the
-   * AssignTime attribute.
-   */
-  List<Assignment> getAssignments();
-
-  /**
-   * Get the list of associated {@link Message} objects.
-   * 
-   * @return An empty list if there are none
-   */
-  Set<Message> getMessages();
-
-  /**
-   * Get an associated {@link Message} by name.
-   * 
-   * @return null if not found
-   */
-  Message getMessage(String msgName);
-}
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/PropertySupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/PropertySupport.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/PropertySupport.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.model;
-
-//$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);
-
-  /**
-   * Add a property 
-   */
-  void addProperty(Property prop);
-
-  /**
-   * Remove a property 
-   */
-  boolean removeProperty(String name);
-
-  /**
-   * Get the set of property names
-   */
-  Set<String> getPropertyNames();
-  
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SequenceFlow.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -24,6 +24,7 @@
 import java.io.Serializable;
 
 
+
 //$Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/StartEvent.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.api.model;
 
+
 // $Id$
 
 /**

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -25,6 +25,9 @@
 
 import java.util.List;
 
+import org.jbpm.api.model.internal.InputSet;
+import org.jbpm.api.model.internal.OutputSet;
+
 /**
  * A Task is an Atomic Activity that is included within a Process.
  * 

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTask.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTask.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -21,24 +21,48 @@
  */
 package org.jbpm.api.model;
 
+import org.jbpm.api.client.UserTaskCallback;
+
 //$Id$
 
 /**
- * A Task is an Atomic Activity that is included within a Process.
+ * A User Task is a typical “workflow” task where a human performer performs the Task with the assistance of a software
+ * application and is scheduled through a task list manager of some sort.
  * 
- * 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 UserTask extends Task
 {
+  /**
+   * Get the associated callback
+   */
   UserTaskCallback getUserTaskCallback();
   
+  /**
+   * Set the associated callback
+   */
   void setUserTaskCallback(UserTaskCallback callback);
   
+  /**
+   * A Message for the OutMessageRef attribute MUST be entered. The sending
+   * of this message marks the completion of the Task, which may cause the
+   * production of an OutputSet. One or more corresponding outgoing Message
+   * Flow MAY be shown on the diagram. However, the display of the Message
+   * Flow is not required. The Message is applied to all outgoing Message Flow
+   * and the Message will be sent down all outgoing Message Flow at the
+   * completion of a single instance of the 
+   */
   Message getOutMessageRef();
   
+  /**
+   * A Message for the InMessageRef attribute MUST be entered. This indicates
+   * that the Message will be received at the start of the Task, after the
+   * availability of any defined InputSets. One or more corresponding incoming
+   * Message Flows MAY be shown on the diagram. However, the display of the
+   * Message Flow is not required. The Message is applied to all incoming
+   * Message Flow, but can arrive for only one of the incoming Message Flow
+   * for a single instance of the 
+   */
   Message getInMessageRef();
 }
\ No newline at end of file

Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTaskCallback.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTaskCallback.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/UserTaskCallback.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -1,123 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.model;
-
-//$Id$
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.client.MessageListener;
-import org.jbpm.api.model.builder.MessageBuilder;
-import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.runtime.Attachments;
-import org.jbpm.api.runtime.BasicAttachments;
-import org.jbpm.api.service.MessageBuilderService;
-import org.jbpm.api.service.MessageService;
-
-/**
- * A callback that can be attached to a {@link UserTask} to facilitate message handling; 
- * 
- * The callback registers a {@link MessageListener}, extracts the data from the received message 
- * and calls the user provided 'callback' method. The response message is then constructed from 
- * the user provided data and automatically sent back to the {@link UserTask}.
- *  
- * @author thomas.diesler at jboss.com
- * @since 08-Oct-2008
- */
-public abstract class UserTaskCallback
-{
-  private MessageListener messageListener;
-
-  public MessageListener getMessageListener()
-  {
-    return messageListener;
-  }
-
-  public void attach(UserTask userTask)
-  {
-    if (userTask.getUserTaskCallback() != this)
-      userTask.setUserTaskCallback(this);
-    
-    messageListener = new CallbackMessageListener(userTask);
-    
-    MessageService msgService = userTask.getProcessEngine().getService(MessageService.class);
-    msgService.addMessageListener(messageListener);
-  }
-  
-  public void detach(UserTask userTask)
-  {
-    MessageService msgService = userTask.getProcessEngine().getService(MessageService.class);
-    msgService.removeMessageListener(messageListener.getKey());
-  }
-  
-  public abstract void callback(Attachments att);
-
-  class CallbackMessageListener implements MessageListener
-  {
-    private UserTask userTask;
-    
-    public CallbackMessageListener(UserTask userTask)
-    {
-      this.userTask = userTask;
-    }
-
-    @Override
-    public void catchMessage(Message msg)
-    {
-      // Get the message data
-      Attachments att = new BasicAttachments();
-      for (String propName : msg.getPropertyNames())
-      {
-        String value = msg.getProperty(propName).getValue();
-        att.addAttachment(propName, value);
-      }
-        
-      // Call the user callback
-      callback(att);
-
-      // Build the response message
-      Message msgRef = userTask.getInMessageRef();
-      MessageBuilder msgBuilder = MessageBuilderService.locateMessageBuilder();
-      msgBuilder.newMessage(msgRef.getName());
-      for (String propName : msgRef.getPropertyNames())
-      {
-        Object value = att.getAttachment(propName);
-        if (value == null)
-          throw new IllegalStateException("Cannot obtain required property: " + propName);
-        msgBuilder.addProperty(propName, value);
-      }
-      Message resMessage = msgBuilder.getMessage();
-      
-      MessageService msgService = MessageService.locateMessageService();
-      
-      ObjectName procID = userTask.getProcess().getKey();
-      msgService.sendMessage(procID, userTask.getName(), resMessage);
-    }
-
-    @Override
-    public ObjectName getKey()
-    {
-      String oname = userTask.getKey().getCanonicalName();
-      return ObjectNameFactory.create(oname + ",msgListener=UserTaskCallback");
-    }
-  }
-}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/AbstractElement.java (from rev 2501, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/AbstractElement.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/AbstractElement.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/AbstractElement.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model.internal;
+
+//$Id$
+
+import java.io.Serializable;
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.client.ProcessEngine;
+
+/**
+ * The parrent of all Elements
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface AbstractElement extends Serializable
+{
+  /**
+   * Get the ID of this element
+   */
+  ObjectName getKey();
+  
+  /**
+   * Get the associated ProcessEngine
+   */
+  ProcessEngine getProcessEngine();
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java (from rev 2501, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.api.model.internal;
+
+
+//$Id$
+
+/**
+ * An InputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface InputSet extends PropertySupport
+{
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java (from rev 2501, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.api.model.internal;
+
+
+//$Id$
+
+/**
+ * An OuputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 21-Jul-2008
+ */
+public interface OutputSet extends PropertySupport
+{
+}

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java (from rev 2501, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -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.jbpm.api.model.internal;
+
+//$Id$
+
+import java.io.Serializable;
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.model.Message;
+
+/**
+ * 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/jbpm/api/model/internal/ProcessStructure.java (from rev 2501, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessStructure.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,87 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model.internal;
+
+//$Id$
+
+import java.util.List;
+import java.util.Set;
+
+import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Message;
+import org.jbpm.api.model.Node;
+
+/**
+ * A ProcessStructure defines the structure of a Process 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ProcessStructure extends AbstractElement, PropertySupport
+{
+  /**
+   * Get the unique name.
+   */
+  String getName();
+
+  /**
+   * Get the list of nodes
+   */
+  List<Node> getNodes();
+
+  /**
+   * Get a list of nodes of a given type.
+   */
+  <T extends Node> List<T> getNodes(Class<T> clazz);
+
+  /**
+   * Get a node of a given type and name
+   */
+  <T extends Node> T getNode(Class<T> clazz, String name);
+
+  /**
+   * Get a node by name.
+   * 
+   * @return null if not found
+   */
+  Node getNode(String name);
+
+  /**
+   * One or more assignment expressions MAY be made for the object. The Assignment SHALL be performed as defined by the
+   * AssignTime attribute.
+   */
+  List<Assignment> getAssignments();
+
+  /**
+   * Get the list of associated {@link Message} objects.
+   * 
+   * @return An empty list if there are none
+   */
+  Set<Message> getMessages();
+
+  /**
+   * Get an associated {@link Message} by name.
+   * 
+   * @return null if not found
+   */
+  Message getMessage(String msgName);
+}
\ No newline at end of file

Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java (from rev 2501, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/PropertySupport.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model.internal;
+
+//$Id$
+
+import java.io.Serializable;
+import java.util.Set;
+
+import org.jbpm.api.model.Property;
+
+/**
+ * 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);
+
+  /**
+   * Add a property 
+   */
+  void addProperty(Property prop);
+
+  /**
+   * Remove a property 
+   */
+  boolean removeProperty(String name);
+
+  /**
+   * Get the set of property names
+   */
+  Set<String> getPropertyNames();
+  
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -23,9 +23,9 @@
 
 // $Id$
 
-import org.jbpm.api.model.InputSet;
-import org.jbpm.api.model.OutputSet;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.internal.InputSet;
+import org.jbpm.api.model.internal.OutputSet;
 
 /**
  * A Token is a descriptive construct used to describe how the flow of a Process will proceed at runtime.

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -36,9 +36,9 @@
 import org.jbpm.api.model.Event;
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.Participant;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.Task;
+import org.jbpm.api.model.internal.Participant;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -100,7 +100,6 @@
     // Load the process
     ObjectName procID = proc.getKey();
     Process loadProc = service.loadProcess(procID);
-    ProcessCatalog.validateDefaultProcess(loadProc);
 
     StartEvent start = loadProc.getNode(StartEvent.class, "Start");
     Task task = loadProc.getNode(Task.class, "Task");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessCatalog.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessCatalog.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessCatalog.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -27,7 +27,6 @@
 
 import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.Task;
@@ -52,7 +51,7 @@
     return builder.getProcessDefinition();
   }
 
-  public static void validateDefaultProcess(ProcessStructure procStruct)
+  public static void validateDefaultProcess(ProcessDefinition procStruct)
   {
     TestCase.assertNotNull("Process not null", procStruct);
     TestCase.assertEquals("Proc", procStruct.getName());

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/UserTaskCallbackTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/UserTaskCallbackTest.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/task/UserTaskCallbackTest.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -26,11 +26,11 @@
 import java.io.IOException;
 import java.util.List;
 
+import org.jbpm.api.client.UserTaskCallback;
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.UserTask;
-import org.jbpm.api.model.UserTaskCallback;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Task.TaskType;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -40,7 +40,7 @@
 import org.jbpm.api.test.CTSTestCase;
 
 /**
- * Test User Task
+ * Test UserTask that uses the callback API
  * 
  * @author thomas.diesler at jboss.com
  * @since 07-Oct-2008
@@ -54,7 +54,7 @@
 
     // Attach the callback to the UserTask
     UserTask userTask = proc.getNode(UserTask.class, "UserTask");
-    userTask.setUserTaskCallback(new TaskCallback());
+    userTask.setUserTaskCallback(new UserTaskCallbackImpl());
 
     BasicAttachments att = new BasicAttachments();
     att.addAttachment("foo", "xxx");
@@ -79,7 +79,7 @@
     return procBuilder.getProcessDefinition();
   }
   
-  public static class TaskCallback extends UserTaskCallback
+  public static class UserTaskCallbackImpl extends UserTaskCallback
   {
     @Override
     public void callback(Attachments att)

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -32,9 +32,9 @@
 
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.model.AbstractElement;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.internal.AbstractElement;
 
 /**
  * The parrent of all Elements

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -27,7 +27,7 @@
 
 import org.jbpm.api.NotImplementedException;
 import org.jbpm.api.model.Expression;
-import org.jbpm.api.model.ProcessStructure;
+import org.jbpm.api.model.internal.ProcessStructure;
 
 /**
  * A Complex Gateway handles situations that are not easily handled through the other types of Gateways. Complex

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -32,10 +32,10 @@
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.EndEvent;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.Signal;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.FlowHandler;
 import org.jbpm.api.runtime.SignalHandler;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -37,9 +37,9 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.Signal;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.SignalHandler;
 import org.jbpm.api.runtime.Token;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -31,9 +31,9 @@
 
 import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.FlowHandler;
 import org.jbpm.api.runtime.Token;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -37,11 +37,11 @@
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.Signal;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.SignalHandler;
 import org.jbpm.api.runtime.Token;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -31,11 +31,11 @@
 import javax.persistence.Entity;
 
 import org.jbpm.api.model.Expression;
-import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.SequenceFlow.ConditionType;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.FlowHandler;
 import org.jbpm.api.runtime.Token;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -28,8 +28,8 @@
 
 import javax.persistence.Transient;
 
-import org.jbpm.api.model.InputSet;
 import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.InputSet;
 
 
 /**

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -36,8 +36,8 @@
 import javax.persistence.OneToMany;
 
 import org.jbpm.api.model.Message;
-import org.jbpm.api.model.Participant;
 import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.Participant;
 
 /**
  * A Message, which is used in the definition of attributes for a @{link StartEvent},

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -47,10 +47,10 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.Property;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.FlowHandler;
 import org.jbpm.api.runtime.NodeHandler;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -28,8 +28,8 @@
 
 import javax.persistence.Transient;
 
-import org.jbpm.api.model.OutputSet;
 import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.OutputSet;
 
 
 /**

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -32,8 +32,8 @@
 import javax.persistence.Transient;
 
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.FlowHandler;
 import org.jbpm.api.runtime.Token;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -29,8 +29,8 @@
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 
-import org.jbpm.api.model.Participant;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.Participant;
 
 /**
  * A Participant, which is used in the definition of attributes for a @{link Pool}, @{link Message}, and @{link

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -47,10 +47,10 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.Property;
 import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -35,7 +35,7 @@
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.Token;
 import org.jbpm.api.runtime.TokenExecutor;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SendTaskImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SendTaskImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -31,7 +31,7 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.Token;
 import org.jbpm.ri.runtime.MessageSender;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -34,12 +34,12 @@
 import org.jbpm.api.model.Node;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.Signal;
 import org.jbpm.api.model.StartEvent;
 import org.jbpm.api.model.Signal.SignalType;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.SignalHandler;
 import org.jbpm.api.runtime.Token;
 import org.jbpm.api.service.ExecutionService;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -35,8 +35,8 @@
 import org.jbpm.api.model.Assignment;
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -38,15 +38,15 @@
 import org.jbpm.api.NotImplementedException;
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Expression;
-import org.jbpm.api.model.InputSet;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.OutputSet;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.Property;
 import org.jbpm.api.model.SequenceFlow;
 import org.jbpm.api.model.Signal;
 import org.jbpm.api.model.Task;
 import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.InputSet;
+import org.jbpm.api.model.internal.OutputSet;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.ExecutionHandler;
 import org.jbpm.api.runtime.SignalHandler;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/UserTaskImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/UserTaskImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -32,12 +32,12 @@
 
 import org.jbpm.api.InvalidProcessException;
 import org.jbpm.api.client.MessageListener;
+import org.jbpm.api.client.UserTaskCallback;
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.ProcessStructure;
 import org.jbpm.api.model.UserTask;
-import org.jbpm.api.model.UserTaskCallback;
+import org.jbpm.api.model.internal.ProcessStructure;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.Token;
 import org.jbpm.api.runtime.TokenExecutor;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -23,10 +23,10 @@
 
 //$Id$
 
-import org.jbpm.api.model.InputSet;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.OutputSet;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.internal.InputSet;
+import org.jbpm.api.model.internal.OutputSet;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.Token;
 

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -28,8 +28,8 @@
 import org.jbpm.api.client.ProcessEngine;
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Node;
-import org.jbpm.api.model.Participant;
 import org.jbpm.api.model.builder.MessageBuilder;
+import org.jbpm.api.model.internal.Participant;
 import org.jbpm.api.runtime.ExecutionContext;
 import org.jbpm.api.runtime.Token;
 import org.jbpm.api.service.MessageService;

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -23,9 +23,9 @@
 
 //$Id$
 
-import org.jbpm.api.model.InputSet;
-import org.jbpm.api.model.OutputSet;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.internal.InputSet;
+import org.jbpm.api.model.internal.OutputSet;
 import org.jbpm.api.runtime.Token;
 
 /**

Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java	2008-10-08 11:09:58 UTC (rev 2507)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java	2008-10-08 11:24:25 UTC (rev 2508)
@@ -24,9 +24,9 @@
 //$Id$
 
 import org.jboss.util.id.UID;
-import org.jbpm.api.model.InputSet;
-import org.jbpm.api.model.OutputSet;
 import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.internal.InputSet;
+import org.jbpm.api.model.internal.OutputSet;
 import org.jbpm.api.runtime.Attachments;
 import org.jbpm.api.runtime.BasicExecutionContext;
 import org.jbpm.api.runtime.ExecutionContext;




More information about the jbpm-commits mailing list