[jbpm-commits] JBoss JBPM SVN: r1936 - in jbossbpm/spec/trunk/modules: dialects/api10/src/main/java/org/jboss/bpm/dialect/api10 and 8 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Aug 19 19:22:38 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-08-19 19:22:38 -0400 (Tue, 19 Aug 2008)
New Revision: 1936

Added:
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketMarshallerTest.java
Removed:
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/ValidationHandler.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java
Modified:
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Expression.java
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertySupport.java
   jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java
   jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/ConfirmMessage.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/GwtMessage.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OfferMessage.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn_diagram
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyMarshallerTest.java
Log:
Use Assignments in Airticket sample

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Expression.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Expression.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Expression.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -23,7 +23,7 @@
 
 
 
-//$Id$
+//$Id: Expression.java 1930 2008-08-19 11:04:43Z thomas.diesler at jboss.com $
 
 /**
  * An Expression, which is used in the definition of attributes for StartEvent,
@@ -55,6 +55,6 @@
    * The value of the ExpressionLanguage should follow the naming conventions for the
    * version of the specified language.
    */
-  Expression.ExpressionLanguage getExpressionLanguage();
+  ExpressionLanguage getExpressionLanguage();
 
 }

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -60,7 +60,7 @@
   /**
    * Get the body of the expression value.
    */
-  String getValue();
+  Object getValue();
   
   /**
    * Get the body of the expression value.

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertySupport.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertySupport.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertySupport.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -21,12 +21,10 @@
  */
 package org.jboss.bpm.model;
 
-//$Id$
+//$Id: PropertySupport.java 1928 2008-08-19 10:45:22Z thomas.diesler at jboss.com $
 
 import java.util.List;
 
-
-
 /**
  * Property support
  * 
@@ -43,9 +41,14 @@
   /**
    * Get a Property value with a given name. 
    */
-  String getPropertyValue(String name);
+  Object getPropertyValue(String name);
   
   /**
+   * Get a Property value with a given name. 
+   */
+  <T> T getPropertyValue(Class<T> clazz, String name);
+  
+  /**
    * Multiple Properties MAY entered for the Message.
    */
   List<Property> getProperties();

Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -455,7 +455,7 @@
   {
     JAXBProperty jaxbProp = new JAXBProperty();
     jaxbProp.setName(prop.getName());
-    jaxbProp.setValue(prop.getValue());
+    jaxbProp.setValue((String)prop.getValue());
     if (prop.isCorrelation())
       jaxbProp.setCorrelation(prop.isCorrelation());
     return jaxbProp;

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -126,12 +126,18 @@
     return null;
   }
 
-  public String getPropertyValue(String name)
+  public Object getPropertyValue(String name)
   {
     Property prop = getProperty(name);
     return prop != null ? prop.getValue() : null;
   }
 
+  public <T> T getPropertyValue(Class<T> clazz, String name)
+  {
+    Property prop = getProperty(name);
+    return prop != null ? prop.getValue(clazz) : null;
+  }
+  
   public List<Property> getProperties()
   {
     return Collections.unmodifiableList(props);
@@ -267,7 +273,7 @@
             + getName());
 
       String name = outProp.getName();
-      String value = outProp.getValue();
+      Object value = outProp.getValue();
       exContext.addAttachment(name, value);
     }
   }

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -127,12 +127,8 @@
    */
   public void execute(Token token)
   {
-    // Start Time Assignments
-    for (Assignment ass : getAssignments())
-    {
-      if (ass.getAssignTime() == AssignTime.Start)
-        processAssignment(ass, token);
-    }
+    // Process the start time assignments
+    startTimeAssignments(token);
 
     // Call the ExecutionHandler
     ExecutionHandler exHandler = getExecutionHandler();
@@ -145,16 +141,30 @@
       defaultExecution(token);
     }
 
-    // End Time Assignments
+    // Process the end time assignments
+    endTimeAssignments(token);
+  }
+
+  protected void startTimeAssignments(Token token)
+  {
     for (Assignment ass : getAssignments())
     {
-      if (ass.getAssignTime() == AssignTime.End)
+      if (ass.getAssignTime() == AssignTime.Start)
         processAssignment(ass, token);
     }
   }
 
-  private void processAssignment(Assignment ass, Token token)
+  protected void endTimeAssignments(Token token)
   {
+    for (Assignment ass : getAssignments())
+    {
+      if (ass.getAssignTime() == AssignTime.End)
+        processAssignment(ass, token);
+    }
+  }
+  
+  protected void processAssignment(Assignment ass, Token token)
+  {
     Expression expr = ass.getFrom();
     ExpressionEvaluator exprEvaluator = new ExpressionEvaluator(expr);
     Object result = exprEvaluator.evaluateExpression(token);

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -61,12 +61,18 @@
     return props.get(name);
   }
 
-  public String getPropertyValue(String name)
+  public Object getPropertyValue(String name)
   {
     Property prop = getProperty(name);
     return prop != null ? prop.getValue() : null;
   }
 
+  public <T> T getPropertyValue(Class<T> clazz, String name)
+  {
+    Property prop = getProperty(name);
+    return prop != null ? prop.getValue(clazz) : null;
+  }
+  
   public List<Property> getProperties()
   {
     return Collections.unmodifiableList(new ArrayList<Property>(props.values()));

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -102,12 +102,18 @@
     return null;
   }
 
-  public String getPropertyValue(String name)
+  public Object getPropertyValue(String name)
   {
     Property prop = getProperty(name);
     return prop != null ? prop.getValue() : null;
   }
   
+  public <T> T getPropertyValue(Class<T> clazz, String name)
+  {
+    Property prop = getProperty(name);
+    return prop != null ? prop.getValue(clazz) : null;
+  }
+  
   public List<Property> getProperties()
   {
     return Collections.unmodifiableList(props);

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -61,12 +61,18 @@
     return props.get(name);
   }
 
-  public String getPropertyValue(String name)
+  public Object getPropertyValue(String name)
   {
     Property prop = getProperty(name);
     return prop != null ? prop.getValue() : null;
   }
 
+  public <T> T getPropertyValue(Class<T> clazz, String name)
+  {
+    Property prop = getProperty(name);
+    return prop != null ? prop.getValue(clazz) : null;
+  }
+  
   public List<Property> getProperties()
   {
     return Collections.unmodifiableList(new ArrayList<Property>(props.values()));

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -132,12 +132,18 @@
     return null;
   }
 
-  public String getPropertyValue(String name)
+  public Object getPropertyValue(String name)
   {
     Property prop = getProperty(name);
     return prop != null ? prop.getValue() : null;
   }
 
+  public <T> T getPropertyValue(Class<T> clazz, String name)
+  {
+    Property prop = getProperty(name);
+    return prop != null ? prop.getValue(clazz) : null;
+  }
+  
   public List<Property> getProperties()
   {
     return Collections.unmodifiableList(props);

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -87,9 +87,9 @@
     this.isCorrelation = isCorrelation;
   }
 
-  public String getValue()
+  public Object getValue()
   {
-    return (expression != null ? expression.getExpressionBody() : null);
+    return (expression != null ? expression.getExpressionValue() : null);
   }
 
   @SuppressWarnings("unchecked")

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -133,7 +133,7 @@
       for (Property prop : messageRef.getProperties())
       {
         String key = prop.getName();
-        String value = msg.getPropertyValue(key);
+        Object value = msg.getPropertyValue(key);
         exContext.addAttachment(key, value);
       }
 
@@ -143,6 +143,15 @@
   }
 
   @Override
+  protected void endTimeAssignments(Token token)
+  {
+    if (receivedMessages.size() > 0)
+    {
+      super.endTimeAssignments(token);
+    }
+  }
+
+  @Override
   protected synchronized void defaultFlowHandler(TokenExecutor tokenExecutor, Token token)
   {
     if (receivedMessages.size() > 0)

Modified: jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -88,7 +88,7 @@
     gwtMsg.from = "MUC";
     gwtMsg.to = "NYC";
     gwtMsg.date = "30-Oct-2008";
-    gwtMsg.seats = "2";
+    gwtMsg.seats = new Integer(2);
     return gwtMsg;
   }
 
@@ -117,7 +117,7 @@
     textFrom.setText(gwtMsg.from);
     textTo.setText(gwtMsg.to);
     textDate.setText(gwtMsg.date);
-    textSeats.setText(gwtMsg.seats);
+    textSeats.setText(gwtMsg.seats != null ? gwtMsg.seats.toString() : "0");
   }
   
   private Panel getOfferPanel()
@@ -153,8 +153,8 @@
     labelFromRO.setText(gwtMsg.from);
     labelToRO.setText(gwtMsg.to);
     labelDateRO.setText(gwtMsg.date);
-    labelSeatsRO.setText(gwtMsg.seats);
-    labelPriceRO.setText(gwtMsg.price);
+    labelSeatsRO.setText(gwtMsg.seats != null ? gwtMsg.seats.toString() : "0");
+    labelPriceRO.setText(gwtMsg.price != null ? gwtMsg.price.toString() : "0");
     
     textCreditCard.setText("1234-1234-1234-1234");
     textExpire.setText("30-Jul-2012");
@@ -188,8 +188,8 @@
     labelFromRO.setText(gwtMsg.from);
     labelToRO.setText(gwtMsg.to);
     labelDateRO.setText(gwtMsg.date);
-    labelSeatsRO.setText(gwtMsg.seats);
-    labelPriceRO.setText(gwtMsg.price);
+    labelSeatsRO.setText(gwtMsg.seats != null ? gwtMsg.seats.toString() : "0");
+    labelPriceRO.setText(gwtMsg.price != null ? gwtMsg.price.toString() : "0");
   }
   
   private void setVisiblePanel(Panel panel)
@@ -209,7 +209,7 @@
         gwtMsg.from = textFrom.getText();
         gwtMsg.to = textTo.getText();
         gwtMsg.date = textDate.getText();
-        gwtMsg.seats = textSeats.getText();
+        gwtMsg.seats = new Integer(textSeats.getText());
         sendGwtMessage(gwtMsg);
       }
       if (sender == buttonSubmitOrder)

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -33,6 +33,8 @@
 import org.jboss.bpm.model.ProcessBuilderFactory;
 import org.jboss.bpm.model.Task;
 import org.jboss.bpm.model.TaskBuilder;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
 
 /**
  * Test the Airticket sample application
@@ -103,37 +105,18 @@
     // Build the ReceiveReqTask
     TaskBuilder taskBuilder = procBuilder.addTask(TASK_RECEIVE_REQUEST, Task.TaskType.Receive);
     taskBuilder.addMessageRef(MESSAGE_REQ_DATA).
-    addSequenceFlow(TASK_VALIDATE);
-
-    // Build the ValidateTask
-    taskBuilder = procBuilder.addTask(TASK_VALIDATE);
-    taskBuilder.addExecutionHandler(ValidationHandler.class).
-    addInputSet().
-    addPropertyInput(PROPERTY_NAME, null).
-    addPropertyInput(PROPERTY_FROM, null).
-    addPropertyInput(PROPERTY_TO, null).
-    addPropertyInput(PROPERTY_DATE, null).
-    addPropertyInput(PROPERTY_SEATS, null).
-    addOutputSet().
-    addPropertyOutput(PROPERTY_IS_VALID_REQUEST, null).
+    addAssignment(AssignTime.End, ExpressionLanguage.MVEL, getValidationExpression(), PROPERTY_IS_VALID_REQUEST).
     addSequenceFlow(GATEWAY_IS_VALID);
 
     // Build the ValidateGateway
     GatewayBuilder gatewayBuilder = procBuilder.addGateway(GATEWAY_IS_VALID, Gateway.GatewayType.Exclusive);
-    gatewayBuilder.addConditionalGate(TASK_CHECK_AVAILABLE, Expression.ExpressionLanguage.MVEL, "isReqDataValid == true").
+    gatewayBuilder.addConditionalGate(TASK_CHECK_AVAILABLE, Expression.ExpressionLanguage.MVEL, PROPERTY_IS_VALID_REQUEST + " == true").
     addDefaultGate(TASK_SEND_INVALID);
 
     // Build the CheckAvailabilityTask
     taskBuilder = procBuilder.addTask(TASK_CHECK_AVAILABLE);
-    taskBuilder.addExecutionHandler(AvailabilityHandler.class).
-    addInputSet().
-    addPropertyInput(PROPERTY_FROM, null).
-    addPropertyInput(PROPERTY_TO, null).
-    addPropertyInput(PROPERTY_DATE, null).
-    addPropertyInput(PROPERTY_SEATS, null).
-    addOutputSet().
-    addPropertyOutput(PROPERTY_IS_AVAILABLE, null).
-    addPropertyOutput(PROPERTY_PRICE, null).
+    taskBuilder.addAssignment(AssignTime.End, ExpressionLanguage.MVEL, PROPERTY_SEATS + " < 10", PROPERTY_IS_AVAILABLE).
+    addAssignment(AssignTime.End, ExpressionLanguage.MVEL, PROPERTY_SEATS + " * 111", PROPERTY_PRICE).
     addSequenceFlow(GATEWAY_IS_AVAILABLE);
 
     // Build the SendInvalidTask
@@ -143,7 +126,7 @@
 
     // Build the AvailabilityGateway
     gatewayBuilder = procBuilder.addGateway(GATEWAY_IS_AVAILABLE, Gateway.GatewayType.Exclusive);
-    gatewayBuilder.addConditionalGate(TASK_SEND_OFFER, Expression.ExpressionLanguage.MVEL, "isAvailable == true").
+    gatewayBuilder.addConditionalGate(TASK_SEND_OFFER, Expression.ExpressionLanguage.MVEL, PROPERTY_IS_AVAILABLE + " == true").
     addDefaultGate(TASK_SEND_NOT_AVAILABLE);
     
     // Build the SendOfferTask
@@ -163,7 +146,7 @@
     
     // Build the AcceptOfferGateway
     gatewayBuilder = procBuilder.addGateway(GATEWAY_IS_ACCEPTED, Gateway.GatewayType.Exclusive);
-    gatewayBuilder.addConditionalGate(GATEWAY_SPLIT, Expression.ExpressionLanguage.MVEL, "isOfferAccepted == true").
+    gatewayBuilder.addConditionalGate(GATEWAY_SPLIT, Expression.ExpressionLanguage.MVEL, PROPERTY_IS_OFFER_ACCEPTED + " == true").
     addDefaultGate(TASK_RECEIVE_REQUEST);
     
     // Build the AcceptOfferGateway
@@ -257,4 +240,14 @@
     Process proc = procBuilder.getProcess();
     return proc;
   }
+  
+  private String getValidationExpression()
+  {
+    StringBuilder str = new StringBuilder(PROPERTY_NAME + " != null && ");
+    str.append(PROPERTY_FROM + " != null && ");
+    str.append(PROPERTY_TO + " != null && ");
+    str.append(PROPERTY_DATE + " != null && ");
+    str.append(PROPERTY_SEATS + " > 0");
+    return str.toString();
+  }
 }
\ No newline at end of file

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -1,51 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.samples.airticket;
-
-// $Id$
-
-import org.jboss.bpm.model.InputSet;
-import org.jboss.bpm.model.OutputSet;
-import org.jboss.bpm.model.PropertyBuilder;
-import org.jboss.bpm.model.PropertyBuilderFactory;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
-
-/**
- * An ExecutionHandler that adds the required outputSet properties
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 04-Jul-2008
- */
- at SuppressWarnings("serial")
-public class AvailabilityHandler implements ExecutionHandler
-{
-  public void execute(Token token)
-  {
-    InputSet inputSet = token.getInputSet();
-    OutputSet outputSet = token.getOutputSet();
-    PropertyBuilder builder = PropertyBuilderFactory.newInstance().newPropertyBuilder();
-    Integer seats = Integer.valueOf(inputSet.getPropertyValue(AirticketProcessBuilder.PROPERTY_SEATS));
-    outputSet.addProperty(builder.newProperty(AirticketProcessBuilder.PROPERTY_IS_AVAILABLE, new Boolean(seats < 10).toString()));
-    outputSet.addProperty(builder.newProperty(AirticketProcessBuilder.PROPERTY_PRICE, new Integer(seats * 111).toString()));
-  }
-}

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/ValidationHandler.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/ValidationHandler.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/ValidationHandler.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -1,61 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.samples.airticket;
-
-// $Id$
-
-import org.jboss.bpm.model.InputSet;
-import org.jboss.bpm.model.OutputSet;
-import org.jboss.bpm.model.PropertyBuilder;
-import org.jboss.bpm.model.PropertyBuilderFactory;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
-
-/**
- * An ExecutionHandler that adds the required outputSet properties
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 04-Jul-2008
- */
- at SuppressWarnings("serial")
-public class ValidationHandler implements ExecutionHandler
-{
-  public void execute(Token token)
-  {
-    InputSet inputSet = token.getInputSet();
-    OutputSet outputSet = token.getOutputSet();
-    String name = inputSet.getPropertyValue(AirticketProcessBuilder.PROPERTY_NAME);
-    String from = inputSet.getPropertyValue(AirticketProcessBuilder.PROPERTY_FROM);
-    String to = inputSet.getPropertyValue(AirticketProcessBuilder.PROPERTY_TO);
-    String date = inputSet.getPropertyValue(AirticketProcessBuilder.PROPERTY_DATE);
-    String seats = inputSet.getPropertyValue(AirticketProcessBuilder.PROPERTY_SEATS);
-    
-    boolean isValid = name != null && name.length() > 0;
-    isValid &= from != null && from.length() > 0;
-    isValid &= to != null && to.length() > 0;
-    isValid &= date != null && date.length() > 0;
-    isValid &= seats != null && seats.length() > 0 && 0 < Integer.valueOf(seats);
-    
-    PropertyBuilder builder = PropertyBuilderFactory.newInstance().newPropertyBuilder();
-    outputSet.addProperty(builder.newProperty(AirticketProcessBuilder.PROPERTY_IS_VALID_REQUEST, "" + isValid));
-  }
-}

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/ConfirmMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/ConfirmMessage.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/ConfirmMessage.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -27,5 +27,5 @@
 {
   private static final long serialVersionUID = 1L;
   
-  public String price;
+  public Integer price;
 }
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/GwtMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/GwtMessage.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/GwtMessage.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -33,5 +33,5 @@
   public String from;
   public String to;
   public String date;
-  public String seats;
+  public Integer seats;
 }
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OfferMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OfferMessage.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OfferMessage.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -27,5 +27,5 @@
 {
   private static final long serialVersionUID = 1L;
   
-  public String price;
+  public Integer price;
 }
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -98,43 +98,43 @@
       if (msgName.equals(AirticketProcessBuilder.MESSAGE_OFFER))
       {
         OfferMessage gwtMsg = new OfferMessage();
-        gwtMsg.name = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_NAME);
-        gwtMsg.from = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_FROM);
-        gwtMsg.to = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_TO);
-        gwtMsg.date = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_DATE);
-        gwtMsg.seats = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_SEATS);
-        gwtMsg.price = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_PRICE);
+        gwtMsg.name = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_NAME);
+        gwtMsg.from = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_FROM);
+        gwtMsg.to = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_TO);
+        gwtMsg.date = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_DATE);
+        gwtMsg.seats = bpmMsg.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_SEATS);
+        gwtMsg.price = bpmMsg.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_PRICE);
         returnMsg = gwtMsg;
       }
       else if (msgName.equals(AirticketProcessBuilder.MESSAGE_INVALID_DATA))
       {
         InvalidDataMessage gwtMsg = new InvalidDataMessage();
-        gwtMsg.name = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_NAME);
-        gwtMsg.from = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_FROM);
-        gwtMsg.to = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_TO);
-        gwtMsg.date = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_DATE);
-        gwtMsg.seats = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_SEATS);
+        gwtMsg.name = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_NAME);
+        gwtMsg.from = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_FROM);
+        gwtMsg.to = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_TO);
+        gwtMsg.date = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_DATE);
+        gwtMsg.seats = bpmMsg.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_SEATS);
         returnMsg = gwtMsg;
       }
       else if (msgName.equals(AirticketProcessBuilder.MESSAGE_NOT_AVAILABLE))
       {
         NotAvailableMessage gwtMsg = new NotAvailableMessage();
-        gwtMsg.name = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_NAME);
-        gwtMsg.from = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_FROM);
-        gwtMsg.to = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_TO);
-        gwtMsg.date = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_DATE);
-        gwtMsg.seats = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_SEATS);
+        gwtMsg.name = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_NAME);
+        gwtMsg.from = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_FROM);
+        gwtMsg.to = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_TO);
+        gwtMsg.date = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_DATE);
+        gwtMsg.seats = bpmMsg.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_SEATS);
         returnMsg = gwtMsg;
       }
       else if (msgName.equals(AirticketProcessBuilder.MESSAGE_CONFIRM))
       {
         ConfirmMessage gwtMsg = new ConfirmMessage();
-        gwtMsg.name = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_NAME);
-        gwtMsg.from = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_FROM);
-        gwtMsg.to = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_TO);
-        gwtMsg.date = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_DATE);
-        gwtMsg.seats = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_SEATS);
-        gwtMsg.price = bpmMsg.getPropertyValue(AirticketProcessBuilder.PROPERTY_PRICE);
+        gwtMsg.name = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_NAME);
+        gwtMsg.from = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_FROM);
+        gwtMsg.to = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_TO);
+        gwtMsg.date = bpmMsg.getPropertyValue(String.class, AirticketProcessBuilder.PROPERTY_DATE);
+        gwtMsg.seats = bpmMsg.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_SEATS);
+        gwtMsg.price = bpmMsg.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_PRICE);
         returnMsg = gwtMsg;
       }
       else

Copied: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketMarshallerTest.java (from rev 1935, jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketMarshallerTest.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.samples.airticket;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * Test the Airticket process marshaller
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 03-Jul-2008
+ */
+public class AirticketMarshallerTest extends AirticketTest
+{
+  @Override
+  protected Process getProcess() throws IOException
+  {
+    // Marshall the process to a string
+    Process proc = super.getProcess();
+    String procXML = marshallProcess(proc);
+    
+    // Recreate the process from the marshalled process
+    ProcessManager procManager = ProcessManager.locateProcessManager();
+    return procManager.createProcess(procXML);
+  }
+}
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -57,8 +57,8 @@
 
     Message confirmMessage = msgListener.getConfirmMessage();
     assertNotNull("Expected confirm message", confirmMessage);
-    String price = confirmMessage.getPropertyValue(AirticketProcessBuilder.PROPERTY_PRICE);
-    assertEquals("222", price);
+    Integer price = confirmMessage.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_PRICE);
+    assertEquals(new Integer(222), price);
   }
 
   public void testInvalidData() throws Exception
@@ -71,8 +71,8 @@
 
     Message confirmMessage = msgListener.getConfirmMessage();
     assertNotNull("Expected confirm message", confirmMessage);
-    String price = confirmMessage.getPropertyValue(AirticketProcessBuilder.PROPERTY_PRICE);
-    assertEquals("222", price);
+    Integer price = confirmMessage.getPropertyValue(Integer.class, AirticketProcessBuilder.PROPERTY_PRICE);
+    assertEquals(new Integer(222), price);
   }
   
   @Override

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -1,110 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.samples.airticket;
-
-// $Id$
-
-import java.io.ByteArrayInputStream;
-import java.io.StringWriter;
-import java.net.URL;
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.client.DialectHandler;
-import org.jboss.bpm.client.ProcessManager;
-import org.jboss.bpm.model.ObjectNameFactory;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.test.DefaultEngineTestCase;
-import org.jboss.util.xml.DOMUtils;
-import org.jboss.util.xml.DOMWriter;
-import org.w3c.dom.Element;
-
-/**
- * Test the Airticket process marshaller
- * 
- * @author thomas.diesler at jboss.com
- * @since 03-Jul-2008
- */
-public class ProcessMarshallerTest extends DefaultEngineTestCase
-{
-  @Override
-  public ObjectName getMessageListenerID()
-  {
-    return ObjectNameFactory.create("jboss.bpm:client=AirticketTest");
-  }
-
-  /**
-   * Build the process through a ProcessBuilder.
-   * Marshall it through the DialectHandler.
-   * Compare the output with expected file content.
-   */
-  public void testProcessMarshaller() throws Exception
-  {
-    AirticketProcessBuilder builder = new AirticketProcessBuilder(getMessageListenerID());
-    Process proc = builder.buildProcess();
-    
-    ProcessManager pm = ProcessManager.locateProcessManager();
-    DialectHandler dh = pm.getDialectHandler("urn:bpm.jboss:pdl-0.1");
-    
-    StringWriter strwr = new StringWriter();
-    dh.marshallProcess(proc, strwr);
-    String procXML = strwr.toString();
-    
-    Element wasEl = DOMUtils.parse(new ByteArrayInputStream(procXML.getBytes()));
-    String wasStr = DOMWriter.printNode(wasEl, true);
-    
-    URL expURL = getResourceURL("samples/airticket/airticket-api10.xml");
-    Element expEl = DOMUtils.parse(expURL.openStream());
-    String expStr = DOMWriter.printNode(expEl, true);
-
-    //System.out.println(expStr);
-    //System.out.println(wasStr);
-    assertEquals(expStr, wasStr);
-  }
-  
-  /**
-   * Build the process through the ProcessManager.
-   * Marshall it through the DialectHandler.
-   * Compare the output with expected file content.
-   */
-  public void testProcessUnMarshaller() throws Exception
-  {
-    URL expURL = getResourceURL("samples/airticket/airticket-api10.xml");
-    ProcessManager pm = ProcessManager.locateProcessManager();
-    Process proc = pm.createProcess(expURL);
-    
-    StringWriter strwr = new StringWriter();
-    DialectHandler dh = pm.getDialectHandler("urn:bpm.jboss:pdl-0.1");
-    dh.marshallProcess(proc, strwr);
-    String procXML = strwr.toString();
-    
-    Element wasEl = DOMUtils.parse(new ByteArrayInputStream(procXML.getBytes()));
-    String wasStr = DOMWriter.printNode(wasEl, true);
-    
-    Element expEl = DOMUtils.parse(expURL.openStream());
-    String expStr = DOMWriter.printNode(expEl, true);
-
-    //System.out.println(expStr);
-    //System.out.println(wasStr);
-    assertEquals(expStr, wasStr);
-  }
-}
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml	2008-08-19 23:22:38 UTC (rev 1936)
@@ -1,247 +1,210 @@
-<ns2:process name='Airticket' xmlns:ns2='urn:bpm.jboss:pdl-0.1'>
- <start name='Start'>
-  <seqflow to='ReceiveReq'/>
- </start>
- <task name='ReceiveReq' taskType='Receive'>
-  <seqflow to='Validate'/>
-  <msgref nameRef='ReqDataMsg'/>
- </task>
- <task name='Validate' taskType='None'>
-  <seqflow to='IsValid'/>
-  <execution-handler class='org.jboss.bpm.samples.airticket.ValidationHandler'/>
-  <input-set>
-   <property>
-    <name>Name</name>
-   </property>
-   <property>
-    <name>From</name>
-   </property>
-   <property>
-    <name>To</name>
-   </property>
-   <property>
-    <name>Date</name>
-   </property>
-   <property>
-    <name>Seats</name>
-   </property>
-  </input-set>
-  <output-set>
-   <property>
-    <name>isReqDataValid</name>
-   </property>
-  </output-set>
- </task>
- <exclusive-gateway name='IsValid'>
-  <seqflow conditionType='Expression' to='CheckAvailable'>
-   <condition lang='MVEL'>isReqDataValid == true</condition>
-  </seqflow>
-  <seqflow conditionType='Default' to='SendInvalid'/>
- </exclusive-gateway>
- <task name='CheckAvailable' taskType='None'>
-  <seqflow to='IsAvailable'/>
-  <execution-handler class='org.jboss.bpm.samples.airticket.AvailabilityHandler'/>
-  <input-set>
-   <property>
-    <name>From</name>
-   </property>
-   <property>
-    <name>To</name>
-   </property>
-   <property>
-    <name>Date</name>
-   </property>
-   <property>
-    <name>Seats</name>
-   </property>
-  </input-set>
-  <output-set>
-   <property>
-    <name>isAvailable</name>
-   </property>
-   <property>
-    <name>Price</name>
-   </property>
-  </output-set>
- </task>
- <task name='SendInvalid' taskType='Send'>
-  <seqflow to='ReceiveReq'/>
-  <msgref nameRef='InvalidDataMsg'/>
- </task>
- <exclusive-gateway name='IsAvailable'>
-  <seqflow conditionType='Expression' to='SendOffer'>
-   <condition lang='MVEL'>isAvailable == true</condition>
-  </seqflow>
-  <seqflow conditionType='Default' to='SendNotAvailable'/>
- </exclusive-gateway>
- <task name='SendOffer' taskType='Send'>
-  <seqflow to='ReceiveOrder'/>
-  <msgref nameRef='OfferMsg'/>
- </task>
- <task name='SendNotAvailable' taskType='Send'>
-  <seqflow to='ReceiveReq'/>
-  <msgref nameRef='NotAvailableMsg'/>
- </task>
- <task name='ReceiveOrder' taskType='Receive'>
-  <seqflow to='IsAccepted'/>
-  <msgref nameRef='AcceptOfferMsg'/>
- </task>
- <exclusive-gateway name='IsAccepted'>
-  <seqflow conditionType='Expression' to='Split'>
-   <condition lang='MVEL'>isOfferAccepted == true</condition>
-  </seqflow>
-  <seqflow conditionType='Default' to='ReceiveReq'/>
- </exclusive-gateway>
- <parallel-gateway name='Split'>
-  <seqflow to='CreditCard'/>
-  <seqflow to='Booking'/>
- </parallel-gateway>
- <task name='CreditCard' taskType='None'>
-  <seqflow to='SyncJoin'/>
-  <input-set>
-   <property>
-    <name>CreditCard</name>
-   </property>
-   <property>
-    <name>Expire</name>
-   </property>
-   <property>
-    <name>Price</name>
-   </property>
-  </input-set>
- </task>
- <task name='Booking' taskType='None'>
-  <seqflow to='SyncJoin'/>
-  <input-set>
-   <property>
-    <name>Name</name>
-   </property>
-   <property>
-    <name>From</name>
-   </property>
-   <property>
-    <name>To</name>
-   </property>
-   <property>
-    <name>Date</name>
-   </property>
-   <property>
-    <name>Seats</name>
-   </property>
-  </input-set>
- </task>
- <parallel-gateway name='SyncJoin'>
-  <seqflow to='SendConfirm'/>
- </parallel-gateway>
- <task name='SendConfirm' taskType='Send'>
-  <seqflow to='End'/>
-  <msgref nameRef='ConfirmMsg'/>
- </task>
- <end name='End'/>
- <message name='ReqDataMsg'>
-  <property correlation='true'>
-   <name>Name</name>
-  </property>
-  <property correlation='true'>
-   <name>From</name>
-  </property>
-  <property correlation='true'>
-   <name>To</name>
-  </property>
-  <property correlation='true'>
-   <name>Date</name>
-  </property>
-  <property correlation='true'>
-   <name>Seats</name>
-  </property>
- </message>
- <message name='InvalidDataMsg'>
-  <to>jboss.bpm:client=AirticketTest</to>
-  <property correlation='true'>
-   <name>Name</name>
-  </property>
-  <property correlation='true'>
-   <name>From</name>
-  </property>
-  <property correlation='true'>
-   <name>To</name>
-  </property>
-  <property correlation='true'>
-   <name>Date</name>
-  </property>
-  <property correlation='true'>
-   <name>Seats</name>
-  </property>
- </message>
- <message name='NotAvailableMsg'>
-  <to>jboss.bpm:client=AirticketTest</to>
-  <property correlation='true'>
-   <name>Name</name>
-  </property>
-  <property correlation='true'>
-   <name>From</name>
-  </property>
-  <property correlation='true'>
-   <name>To</name>
-  </property>
-  <property correlation='true'>
-   <name>Date</name>
-  </property>
-  <property correlation='true'>
-   <name>Seats</name>
-  </property>
- </message>
- <message name='OfferMsg'>
-  <to>jboss.bpm:client=AirticketTest</to>
-  <property correlation='true'>
-   <name>Name</name>
-  </property>
-  <property correlation='true'>
-   <name>From</name>
-  </property>
-  <property correlation='true'>
-   <name>To</name>
-  </property>
-  <property correlation='true'>
-   <name>Date</name>
-  </property>
-  <property correlation='true'>
-   <name>Seats</name>
-  </property>
-  <property correlation='true'>
-   <name>Price</name>
-  </property>
- </message>
- <message name='AcceptOfferMsg'>
-  <property correlation='true'>
-   <name>CreditCard</name>
-  </property>
-  <property correlation='true'>
-   <name>Expire</name>
-  </property>
-  <property correlation='true'>
-   <name>isOfferAccepted</name>
-  </property>
- </message>
- <message name='ConfirmMsg'>
-  <to>jboss.bpm:client=AirticketTest</to>
-  <property correlation='true'>
-   <name>Name</name>
-  </property>
-  <property correlation='true'>
-   <name>From</name>
-  </property>
-  <property correlation='true'>
-   <name>To</name>
-  </property>
-  <property correlation='true'>
-   <name>Date</name>
-  </property>
-  <property correlation='true'>
-   <name>Seats</name>
-  </property>
-  <property correlation='true'>
-   <name>Price</name>
-  </property>
- </message>
+<ns2:process name="Airticket" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
+  <start name="Start">
+    <seqflow to="ReceiveReq" />
+  </start>
+  <task taskType="Receive" name="ReceiveReq">
+    <assignment time="End">
+      <from lang="MVEL"><![CDATA[Name != null && From != null && To != null && Date != null && Seats > 0]]></from>
+      <to>isReqDataValid</to>
+    </assignment>
+    <seqflow to="IsValid" />
+    <msgref nameRef="ReqDataMsg" />
+  </task>
+  <exclusive-gateway name="IsValid">
+    <seqflow conditionType="Expression" to="CheckAvailable">
+      <condition lang="MVEL">isReqDataValid == true</condition>
+    </seqflow>
+    <seqflow conditionType="Default" to="SendInvalid" />
+  </exclusive-gateway>
+  <task taskType="None" name="CheckAvailable">
+    <assignment time="End">
+      <from lang="MVEL"><![CDATA[Seats < 10]]></from>
+      <to>isAvailable</to>
+    </assignment>
+    <assignment time="End">
+      <from lang="MVEL">Seats * 111</from>
+      <to>Price</to>
+    </assignment>
+    <seqflow to="IsAvailable" />
+  </task>
+  <task taskType="Send" name="SendInvalid">
+    <seqflow to="ReceiveReq" />
+    <msgref nameRef="InvalidDataMsg" />
+  </task>
+  <exclusive-gateway name="IsAvailable">
+    <seqflow conditionType="Expression" to="SendOffer">
+      <condition lang="MVEL">isAvailable == true</condition>
+    </seqflow>
+    <seqflow conditionType="Default" to="SendNotAvailable" />
+  </exclusive-gateway>
+  <task taskType="Send" name="SendOffer">
+    <seqflow to="ReceiveOrder" />
+    <msgref nameRef="OfferMsg" />
+  </task>
+  <task taskType="Send" name="SendNotAvailable">
+    <seqflow to="ReceiveReq" />
+    <msgref nameRef="NotAvailableMsg" />
+  </task>
+  <task taskType="Receive" name="ReceiveOrder">
+    <seqflow to="IsAccepted" />
+    <msgref nameRef="AcceptOfferMsg" />
+  </task>
+  <exclusive-gateway name="IsAccepted">
+    <seqflow conditionType="Expression" to="Split">
+      <condition lang="MVEL">isOfferAccepted == true</condition>
+    </seqflow>
+    <seqflow conditionType="Default" to="ReceiveReq" />
+  </exclusive-gateway>
+  <parallel-gateway name="Split">
+    <seqflow to="CreditCard" />
+    <seqflow to="Booking" />
+  </parallel-gateway>
+  <task taskType="None" name="CreditCard">
+    <seqflow to="SyncJoin" />
+    <input-set>
+      <property>
+        <name>CreditCard</name>
+      </property>
+      <property>
+        <name>Expire</name>
+      </property>
+      <property>
+        <name>Price</name>
+      </property>
+    </input-set>
+  </task>
+  <task taskType="None" name="Booking">
+    <seqflow to="SyncJoin" />
+    <input-set>
+      <property>
+        <name>Name</name>
+      </property>
+      <property>
+        <name>From</name>
+      </property>
+      <property>
+        <name>To</name>
+      </property>
+      <property>
+        <name>Date</name>
+      </property>
+      <property>
+        <name>Seats</name>
+      </property>
+    </input-set>
+  </task>
+  <parallel-gateway name="SyncJoin">
+    <seqflow to="SendConfirm" />
+  </parallel-gateway>
+  <task taskType="Send" name="SendConfirm">
+    <seqflow to="End" />
+    <msgref nameRef="ConfirmMsg" />
+  </task>
+  <end name="End" />
+  <message name="ReqDataMsg">
+    <property correlation="true">
+      <name>Name</name>
+    </property>
+    <property correlation="true">
+      <name>From</name>
+    </property>
+    <property correlation="true">
+      <name>To</name>
+    </property>
+    <property correlation="true">
+      <name>Date</name>
+    </property>
+    <property correlation="true">
+      <name>Seats</name>
+    </property>
+  </message>
+  <message name="InvalidDataMsg">
+    <to>jboss.bpm:client=AirticketTest</to>
+    <property correlation="true">
+      <name>Name</name>
+    </property>
+    <property correlation="true">
+      <name>From</name>
+    </property>
+    <property correlation="true">
+      <name>To</name>
+    </property>
+    <property correlation="true">
+      <name>Date</name>
+    </property>
+    <property correlation="true">
+      <name>Seats</name>
+    </property>
+  </message>
+  <message name="NotAvailableMsg">
+    <to>jboss.bpm:client=AirticketTest</to>
+    <property correlation="true">
+      <name>Name</name>
+    </property>
+    <property correlation="true">
+      <name>From</name>
+    </property>
+    <property correlation="true">
+      <name>To</name>
+    </property>
+    <property correlation="true">
+      <name>Date</name>
+    </property>
+    <property correlation="true">
+      <name>Seats</name>
+    </property>
+  </message>
+  <message name="OfferMsg">
+    <to>jboss.bpm:client=AirticketTest</to>
+    <property correlation="true">
+      <name>Name</name>
+    </property>
+    <property correlation="true">
+      <name>From</name>
+    </property>
+    <property correlation="true">
+      <name>To</name>
+    </property>
+    <property correlation="true">
+      <name>Date</name>
+    </property>
+    <property correlation="true">
+      <name>Seats</name>
+    </property>
+    <property correlation="true">
+      <name>Price</name>
+    </property>
+  </message>
+  <message name="AcceptOfferMsg">
+    <property correlation="true">
+      <name>CreditCard</name>
+    </property>
+    <property correlation="true">
+      <name>Expire</name>
+    </property>
+    <property correlation="true">
+      <name>isOfferAccepted</name>
+    </property>
+  </message>
+  <message name="ConfirmMsg">
+    <to>jboss.bpm:client=AirticketTest</to>
+    <property correlation="true">
+      <name>Name</name>
+    </property>
+    <property correlation="true">
+      <name>From</name>
+    </property>
+    <property correlation="true">
+      <name>To</name>
+    </property>
+    <property correlation="true">
+      <name>Date</name>
+    </property>
+    <property correlation="true">
+      <name>Seats</name>
+    </property>
+    <property correlation="true">
+      <name>Price</name>
+    </property>
+  </message>
 </ns2:process>
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml	2008-08-19 23:22:38 UTC (rev 1936)
@@ -4,35 +4,12 @@
     <seqflow to='ReceiveReq' />
   </start-->
   <task name='ReceiveReq' taskType='Receive'>
-    <!-- seqflow to='Validate' /-->
+    <assignment time="End">
+      <from lang="MVEL"><![CDATA[Name != null && From != null && To != null && Date != null && Seats > 0]]></from>
+      <to>isReqDataValid</to>
+    </assignment>
     <msgref nameRef='ReqDataMsg' />
   </task>
-  <task name='Validate' taskType='None'>
-    <!-- seqflow to='IsValid' /-->
-    <execution-handler class='org.jboss.bpm.samples.airticket.ValidationHandler' />
-    <input-set>
-      <property>
-        <name>Name</name>
-      </property>
-      <property>
-        <name>From</name>
-      </property>
-      <property>
-        <name>To</name>
-      </property>
-      <property>
-        <name>Date</name>
-      </property>
-      <property>
-        <name>Seats</name>
-      </property>
-    </input-set>
-    <output-set>
-      <property>
-        <name>isReqDataValid</name>
-      </property>
-    </output-set>
-  </task>
   <exclusive-gateway name='IsValid'>
     <seqflow conditionType='Expression' to='CheckAvailable'>
       <condition lang='MVEL'>isReqDataValid == true</condition>
@@ -40,30 +17,14 @@
     <seqflow conditionType='Default' to='SendInvalid' />
   </exclusive-gateway>
   <task name='CheckAvailable' taskType='None'>
-    <!-- seqflow to='IsAvailable' /-->
-    <execution-handler class='org.jboss.bpm.samples.airticket.AvailabilityHandler' />
-    <input-set>
-      <property>
-        <name>From</name>
-      </property>
-      <property>
-        <name>To</name>
-      </property>
-      <property>
-        <name>Date</name>
-      </property>
-      <property>
-        <name>Seats</name>
-      </property>
-    </input-set>
-    <output-set>
-      <property>
-        <name>isAvailable</name>
-      </property>
-      <property>
-        <name>Price</name>
-      </property>
-    </output-set>
+    <assignment time="End">
+      <from lang="MVEL"><![CDATA[Seats < 10]]></from>
+      <to>isAvailable</to>
+    </assignment>
+    <assignment time="End">
+      <from lang="MVEL">Seats * 111</from>
+      <to>Price</to>
+    </assignment>
   </task>
   <task name='SendInvalid' taskType='Send'>
     <!-- seqflow to='ReceiveReq' /-->

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn	2008-08-19 23:22:38 UTC (rev 1936)
@@ -2,8 +2,8 @@
 <bpmn:BpmnDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmi:id="_iYxIQFhrEd2aHsyOaYt_3g" iD="_iYwhMFhrEd2aHsyOaYt_3g">
   <pools xmi:type="bpmn:Pool" xmi:id="_dhOfoVhtEd2aHsyOaYt_3g" iD="_dhOfoFhtEd2aHsyOaYt_3g" name="Pool">
     <vertices xmi:type="bpmn:Activity" xmi:id="_huULIVhtEd2aHsyOaYt_3g" iD="_huULIFhtEd2aHsyOaYt_3g" outgoingEdges="_iyzG8VhtEd2aHsyOaYt_3g" activityType="EventStartEmpty"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_lMlo0VhtEd2aHsyOaYt_3g" iD="_lMlo0FhtEd2aHsyOaYt_3g" outgoingEdges="_7grf0WDaEd2jINLjV_7TQw" incomingEdges="_efVRMVhuEd2aHsyOaYt_3g _r-90MVhwEd2aHsyOaYt_3g _1UWrsVhvEd2aHsyOaYt_3g _iyzG8VhtEd2aHsyOaYt_3g" name="ReceiveReq" activityType="Task"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_rsQa8VhtEd2aHsyOaYt_3g" iD="_rsQa8FhtEd2aHsyOaYt_3g" outgoingEdges="_zUIyUFhtEd2aHsyOaYt_3g _ApdYMVhvEd2aHsyOaYt_3g" incomingEdges="_8u-e8WDaEd2jINLjV_7TQw" name="IsValid" activityType="GatewayDataBasedExclusive"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_lMlo0VhtEd2aHsyOaYt_3g" iD="_lMlo0FhtEd2aHsyOaYt_3g" outgoingEdges="_nZeo4W4_Ed2iTb26rib3kA" incomingEdges="_efVRMVhuEd2aHsyOaYt_3g _r-90MVhwEd2aHsyOaYt_3g _1UWrsVhvEd2aHsyOaYt_3g _iyzG8VhtEd2aHsyOaYt_3g" name="ReceiveReq" activityType="Task"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_rsQa8VhtEd2aHsyOaYt_3g" iD="_rsQa8FhtEd2aHsyOaYt_3g" outgoingEdges="_zUIyUFhtEd2aHsyOaYt_3g _ApdYMVhvEd2aHsyOaYt_3g" incomingEdges="_nZeo4W4_Ed2iTb26rib3kA" name="IsValid" activityType="GatewayDataBasedExclusive"/>
     <vertices xmi:type="bpmn:Activity" xmi:id="_zUDSwVhtEd2aHsyOaYt_3g" iD="_zUDSwFhtEd2aHsyOaYt_3g" outgoingEdges="_9Q4IQVhtEd2aHsyOaYt_3g" incomingEdges="_zUIyUFhtEd2aHsyOaYt_3g" name="CheckAvailable" activityType="Task"/>
     <vertices xmi:type="bpmn:Activity" xmi:id="_9Q1sAFhtEd2aHsyOaYt_3g" iD="_9Q1E8FhtEd2aHsyOaYt_3g" outgoingEdges="_BdGREVhuEd2aHsyOaYt_3g _fHP64VhwEd2aHsyOaYt_3g" incomingEdges="_9Q4IQVhtEd2aHsyOaYt_3g" name="IsAvailable" activityType="GatewayDataBasedExclusive"/>
     <vertices xmi:type="bpmn:Activity" xmi:id="_BdDNwVhuEd2aHsyOaYt_3g" iD="_BdDNwFhuEd2aHsyOaYt_3g" outgoingEdges="_tT3_YVh1Ed2aHsyOaYt_3g" incomingEdges="_BdGREVhuEd2aHsyOaYt_3g" name="SendOffer" activityType="Task"/>
@@ -17,7 +17,6 @@
     <vertices xmi:type="bpmn:Activity" xmi:id="_QQMAAVhwEd2aHsyOaYt_3g" iD="_QQMAAFhwEd2aHsyOaYt_3g" incomingEdges="_QQQ4gVhwEd2aHsyOaYt_3g" name="End" activityType="EventEndEmpty"/>
     <vertices xmi:type="bpmn:Activity" xmi:id="_fHKbUVhwEd2aHsyOaYt_3g" iD="_fHKbUFhwEd2aHsyOaYt_3g" outgoingEdges="_r-90MVhwEd2aHsyOaYt_3g" incomingEdges="_fHP64VhwEd2aHsyOaYt_3g" name="SendNotAvailable" activityType="Task"/>
     <vertices xmi:type="bpmn:Activity" xmi:id="_tTzG4Fh1Ed2aHsyOaYt_3g" iD="_tTyf0Fh1Ed2aHsyOaYt_3g" outgoingEdges="_waDtMVh1Ed2aHsyOaYt_3g" incomingEdges="_tT3_YVh1Ed2aHsyOaYt_3g" name="ReceiveOrder" activityType="Task"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_4Ph4IWDaEd2jINLjV_7TQw" iD="_4Ph4IGDaEd2jINLjV_7TQw" outgoingEdges="_8u-e8WDaEd2jINLjV_7TQw" incomingEdges="_7grf0WDaEd2jINLjV_7TQw" name="Validate"/>
     <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_iyzG8VhtEd2aHsyOaYt_3g" iD="_iyzG8FhtEd2aHsyOaYt_3g" source="_huULIVhtEd2aHsyOaYt_3g" target="_lMlo0VhtEd2aHsyOaYt_3g"/>
     <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_zUIyUFhtEd2aHsyOaYt_3g" iD="_zUILQFhtEd2aHsyOaYt_3g" source="_rsQa8VhtEd2aHsyOaYt_3g" target="_zUDSwVhtEd2aHsyOaYt_3g"/>
     <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_9Q4IQVhtEd2aHsyOaYt_3g" iD="_9Q4IQFhtEd2aHsyOaYt_3g" source="_zUDSwVhtEd2aHsyOaYt_3g" target="_9Q1sAFhtEd2aHsyOaYt_3g"/>
@@ -36,7 +35,6 @@
     <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_r-90MVhwEd2aHsyOaYt_3g" iD="_r-90MFhwEd2aHsyOaYt_3g" source="_fHKbUVhwEd2aHsyOaYt_3g" target="_lMlo0VhtEd2aHsyOaYt_3g"/>
     <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_tT3_YVh1Ed2aHsyOaYt_3g" iD="_tT3_YFh1Ed2aHsyOaYt_3g" source="_BdDNwVhuEd2aHsyOaYt_3g" target="_tTzG4Fh1Ed2aHsyOaYt_3g"/>
     <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_waDtMVh1Ed2aHsyOaYt_3g" iD="_waDtMFh1Ed2aHsyOaYt_3g" source="_tTzG4Fh1Ed2aHsyOaYt_3g" target="_D-IqcVhuEd2aHsyOaYt_3g"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_7grf0WDaEd2jINLjV_7TQw" iD="_7grf0GDaEd2jINLjV_7TQw" source="_lMlo0VhtEd2aHsyOaYt_3g" target="_4Ph4IWDaEd2jINLjV_7TQw"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_8u-e8WDaEd2jINLjV_7TQw" iD="_8u-e8GDaEd2jINLjV_7TQw" source="_4Ph4IWDaEd2jINLjV_7TQw" target="_rsQa8VhtEd2aHsyOaYt_3g"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_nZeo4W4_Ed2iTb26rib3kA" iD="_nZeo4G4_Ed2iTb26rib3kA" source="_lMlo0VhtEd2aHsyOaYt_3g" target="_rsQa8VhtEd2aHsyOaYt_3g"/>
   </pools>
 </bpmn:BpmnDiagram>

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn_diagram	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket.bpmn_diagram	2008-08-19 23:22:38 UTC (rev 1936)
@@ -31,7 +31,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_rsRCA1htEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_rsRCBFhtEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_rsQa8VhtEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsRCBVhtEd2aHsyOaYt_3g" x="384" y="60"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsRCBVhtEd2aHsyOaYt_3g" x="264" y="60"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_zUEg4FhtEd2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_zUEg5lhtEd2aHsyOaYt_3g" type="4001"/>
@@ -40,7 +40,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_zUEg41htEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_zUEg5FhtEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_zUDSwVhtEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUEg5VhtEd2aHsyOaYt_3g" x="456"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUEg5VhtEd2aHsyOaYt_3g" x="336"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_9Q1sAVhtEd2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_9Q2TEFhtEd2aHsyOaYt_3g" type="4001"/>
@@ -49,7 +49,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_9Q1sBFhtEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_9Q1sBVhtEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_9Q1sAFhtEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Q1sBlhtEd2aHsyOaYt_3g" x="600" y="72"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Q1sBlhtEd2aHsyOaYt_3g" x="480" y="72"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_BdD00FhuEd2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_BdD01lhuEd2aHsyOaYt_3g" type="4001"/>
@@ -58,7 +58,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_BdD001huEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_BdD01FhuEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_BdDNwVhuEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BdD01VhuEd2aHsyOaYt_3g" x="672"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BdD01VhuEd2aHsyOaYt_3g" x="552"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_D-J4kFhuEd2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_D-KfoFhuEd2aHsyOaYt_3g" type="4001"/>
@@ -67,7 +67,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_D-J4k1huEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_D-J4lFhuEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_D-IqcVhuEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-J4lVhuEd2aHsyOaYt_3g" x="840" y="132"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-J4lVhuEd2aHsyOaYt_3g" x="838" y="132"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_T7jwcFhuEd2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_T7kXgFhuEd2aHsyOaYt_3g" type="4001"/>
@@ -76,7 +76,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_T7jwc1huEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_T7jwdFhuEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_T7iiUVhuEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7jwdVhuEd2aHsyOaYt_3g" x="456" y="120"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7jwdVhuEd2aHsyOaYt_3g" x="336" y="120"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_lVLHolhuEd2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_lVLuslhuEd2aHsyOaYt_3g" type="4001"/>
@@ -139,7 +139,7 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_fHLpc1hwEd2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_fHLpdFhwEd2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_fHKbUVhwEd2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fHLpdVhwEd2aHsyOaYt_3g" x="672" y="120"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fHLpdVhwEd2aHsyOaYt_3g" x="552" y="120"/>
       </children>
       <children xmi:type="notation:Node" xmi:id="_tTzt8Fh1Ed2aHsyOaYt_3g" type="2001">
         <children xmi:type="notation:Node" xmi:id="_tT0VAFh1Ed2aHsyOaYt_3g" type="4001"/>
@@ -148,17 +148,8 @@
         <styles xmi:type="notation:FillStyle" xmi:id="_tTzt81h1Ed2aHsyOaYt_3g"/>
         <styles xmi:type="notation:LineStyle" xmi:id="_tTzt9Fh1Ed2aHsyOaYt_3g" lineColor="0"/>
         <element xmi:type="bpmn:Activity" href="airticket.bpmn#_tTzG4Fh1Ed2aHsyOaYt_3g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tTzt9Vh1Ed2aHsyOaYt_3g" x="828"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tTzt9Vh1Ed2aHsyOaYt_3g" x="708"/>
       </children>
-      <children xmi:type="notation:Node" xmi:id="_4PmwoGDaEd2jINLjV_7TQw" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_4PrpIGDaEd2jINLjV_7TQw" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_4PmwoWDaEd2jINLjV_7TQw" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_4PmwomDaEd2jINLjV_7TQw"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_4Pmwo2DaEd2jINLjV_7TQw"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_4PmwpGDaEd2jINLjV_7TQw" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="airticket.bpmn#_4Ph4IWDaEd2jINLjV_7TQw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4PmwpWDaEd2jINLjV_7TQw" x="240" y="60"/>
-      </children>
       <styles xmi:type="notation:DrawerStyle" xmi:id="_dhSKAVhtEd2aHsyOaYt_3g"/>
       <styles xmi:type="notation:SortingStyle" xmi:id="_dhSKAlhtEd2aHsyOaYt_3g"/>
       <styles xmi:type="notation:FilteringStyle" xmi:id="_dhSKA1htEd2aHsyOaYt_3g"/>
@@ -168,7 +159,7 @@
     <styles xmi:type="notation:FillStyle" xmi:id="_dhRi8VhtEd2aHsyOaYt_3g" fillColor="16771304"/>
     <styles xmi:type="notation:LineStyle" xmi:id="_dhRi8lhtEd2aHsyOaYt_3g" lineColor="11119017"/>
     <element xmi:type="bpmn:Pool" href="airticket.bpmn#_dhOfoVhtEd2aHsyOaYt_3g"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dhRi81htEd2aHsyOaYt_3g" x="16" y="24" width="1017" height="565"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dhRi81htEd2aHsyOaYt_3g" x="16" y="24" width="1271" height="565"/>
   </children>
   <styles xmi:type="notation:PageStyle" xmi:id="_iZDcIVhrEd2aHsyOaYt_3g"/>
   <styles xmi:type="notation:GuideStyle" xmi:id="_iZDcIlhrEd2aHsyOaYt_3g"/>
@@ -390,28 +381,16 @@
     <element xmi:type="bpmn:SequenceEdge" href="airticket.bpmn#_waDtMVh1Ed2aHsyOaYt_3g"/>
     <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_waE7VFh1Ed2aHsyOaYt_3g" points="[-8, 29, 8, -100]$[-40, 128, -24, -1]"/>
   </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_7gt8EGDaEd2jINLjV_7TQw" type="3001" source="_lMmP4FhtEd2aHsyOaYt_3g" target="_4PmwoGDaEd2jINLjV_7TQw">
-    <children xmi:type="notation:Node" xmi:id="_7gvxQGDaEd2jINLjV_7TQw" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_7gvxQWDaEd2jINLjV_7TQw" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_7gvxQmDaEd2jINLjV_7TQw" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_7gvxQ2DaEd2jINLjV_7TQw" y="-10"/>
+  <edges xmi:type="notation:Edge" xmi:id="_nZiTQG4_Ed2iTb26rib3kA" type="3001" source="_lMmP4FhtEd2aHsyOaYt_3g" target="_rsRCAFhtEd2aHsyOaYt_3g">
+    <children xmi:type="notation:Node" xmi:id="_nZlWkG4_Ed2iTb26rib3kA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_nZlWkW4_Ed2iTb26rib3kA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_nZlWkm4_Ed2iTb26rib3kA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nZlWk24_Ed2iTb26rib3kA" y="-10"/>
     </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_7gt8EWDaEd2jINLjV_7TQw" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_7gt8EmDaEd2jINLjV_7TQw" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_7gt8E2DaEd2jINLjV_7TQw" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="airticket.bpmn#_7grf0WDaEd2jINLjV_7TQw"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7gt8FGDaEd2jINLjV_7TQw" points="[54, -3, -102, -3]$[103, -11, -53, -11]"/>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_nZiTQW4_Ed2iTb26rib3kA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_nZiTQm4_Ed2iTb26rib3kA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_nZiTQ24_Ed2iTb26rib3kA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="airticket.bpmn#_nZeo4W4_Ed2iTb26rib3kA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nZiTRG4_Ed2iTb26rib3kA" points="[54, 0, -206, 3]$[245, 7, -15, 10]"/>
   </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_8vAUIGDaEd2jINLjV_7TQw" type="3001" source="_4PmwoGDaEd2jINLjV_7TQw" target="_rsRCAFhtEd2aHsyOaYt_3g">
-    <children xmi:type="notation:Node" xmi:id="_8vAUJWDaEd2jINLjV_7TQw" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_8vA7MGDaEd2jINLjV_7TQw" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_8vA7MWDaEd2jINLjV_7TQw" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_8vA7MmDaEd2jINLjV_7TQw" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_8vAUIWDaEd2jINLjV_7TQw" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_8vAUImDaEd2jINLjV_7TQw" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_8vAUI2DaEd2jINLjV_7TQw" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="airticket.bpmn#_8u-e8WDaEd2jINLjV_7TQw"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8vAUJGDaEd2jINLjV_7TQw" points="[54, -13, -50, 2]$[96, -33, -8, -18]"/>
-  </edges>
 </notation:Diagram>

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyMarshallerTest.java	2008-08-19 19:15:14 UTC (rev 1935)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyMarshallerTest.java	2008-08-19 23:22:38 UTC (rev 1936)
@@ -37,17 +37,15 @@
  */
 public class ActivityPropertyMarshallerTest extends ActivityPropertyTest
 {
+  @Override
   protected Process getProcess() throws IOException
   {
-    Process proc = super.getProcess();
-    
     // Marshall the process to a string
+    Process proc = super.getProcess();
     String procXML = marshallProcess(proc);
     
     // Recreate the process from the marshalled process
     ProcessManager procManager = ProcessManager.locateProcessManager();
-    proc = procManager.createProcess(procXML);
-    
-    return proc;
+    return procManager.createProcess(procXML);
   }
 }




More information about the jbpm-commits mailing list