[jbpm-commits] JBoss JBPM SVN: r1774 - in jbossbpm/spec/trunk/modules: samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jul 30 08:00:17 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-07-30 08:00:16 -0400 (Wed, 30 Jul 2008)
New Revision: 1774

Added:
   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/AvailabilityHandler.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/resources/jbpm-beans.xml
Removed:
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/FrontGateServlet.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/jbpm-beans.xml
Modified:
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageBuilderFactory.java
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertyBuilderFactory.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java
Log:
WIP

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageBuilderFactory.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageBuilderFactory.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/MessageBuilderFactory.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -21,12 +21,13 @@
  */
 package org.jboss.bpm.model;
 
+//$Id$
+
+import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.util.KernelLocator;
 import org.jboss.kernel.spi.registry.KernelRegistryEntry;
 
-//$Id$
-
 /**
  * A Factory for the {@link MessageBuilder}.
  * 
@@ -49,6 +50,8 @@
   @SuppressWarnings("deprecation")
   public static MessageBuilderFactory newInstance()
   {
+    // Make sure the engine is bootstrapped
+    ProcessEngineLocator.locateProcessEngine();
     Kernel kernel = KernelLocator.getKernel();
     KernelRegistryEntry entry = kernel.getRegistry().getEntry(BEAN_NAME);
     return (MessageBuilderFactory)entry.getTarget();

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -21,12 +21,13 @@
  */
 package org.jboss.bpm.model;
 
+//$Id$
+
+import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.util.KernelLocator;
 import org.jboss.kernel.spi.registry.KernelRegistryEntry;
 
-//$Id$
-
 /**
  * A Factory for the {@link ProcessBuilder}.
  * 
@@ -37,23 +38,25 @@
 {
   /** The bean name - jBPMProcessBuilderFactory */
   public static final String BEAN_NAME = "jBPMProcessBuilderFactory";
-  
+
   // Hide the constructor
   protected ProcessBuilderFactory()
   {
   }
-  
+
   /**
    * Get a ProcessBuilderFactory instance.
    */
   @SuppressWarnings("deprecation")
   public static ProcessBuilderFactory newInstance()
   {
+    // Make sure the engine is bootstrapped
+    ProcessEngineLocator.locateProcessEngine();
     Kernel kernel = KernelLocator.getKernel();
     KernelRegistryEntry entry = kernel.getRegistry().getEntry(BEAN_NAME);
     return (ProcessBuilderFactory)entry.getTarget();
   }
-  
+
   /**
    * Get a {@link ProcessBuilder}.
    */

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertyBuilderFactory.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertyBuilderFactory.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/PropertyBuilderFactory.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -21,12 +21,13 @@
  */
 package org.jboss.bpm.model;
 
+//$Id$
+
+import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.util.KernelLocator;
 import org.jboss.kernel.spi.registry.KernelRegistryEntry;
 
-//$Id$
-
 /**
  * A Factory for the {@link PropertyBuilder}.
  * 
@@ -49,6 +50,8 @@
   @SuppressWarnings("deprecation")
   public static PropertyBuilderFactory newInstance()
   {
+    // Make sure the engine is bootstrapped
+    ProcessEngineLocator.locateProcessEngine();
     Kernel kernel = KernelLocator.getKernel();
     KernelRegistryEntry entry = kernel.getRegistry().getEntry(BEAN_NAME);
     return (PropertyBuilderFactory)entry.getTarget();

Copied: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java (from rev 1771, jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -0,0 +1,194 @@
+/*
+ * 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 javax.management.ObjectName;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.GatewayBuilder;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.model.TaskBuilder;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.model.Gateway.GatewayType;
+import org.jboss.bpm.model.Task.TaskType;
+
+/**
+ * Test the Airticket sample application
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 03-Jul-2008
+ */
+public class AirticketProcessBuilder
+{
+  private ObjectName messageListenerID;
+  
+  public AirticketProcessBuilder(ObjectName listenerID)
+  {
+    this.messageListenerID = listenerID;
+  }
+
+  public Process buildProcess()
+  {
+    // Create a Process through the ProcessBuilder
+    ProcessBuilderFactory procFactory = ProcessBuilderFactory.newInstance();
+    ProcessBuilder procBuilder = procFactory.newProcessBuilder();
+    procBuilder.addProcess("Airticket").addStartEvent().addSequenceFlow("ReceiveReqTask");
+
+    // Build the ReceiveReqTask
+    TaskBuilder taskBuilder = procBuilder.addTask("ReceiveReqTask", TaskType.Receive);
+    taskBuilder.addMessageRef("ReqDataMsg", null).
+    addMessageProperty("Name", null, true).
+    addMessageProperty("From", null, true).
+    addMessageProperty("To", null, true).
+    addMessageProperty("Date", null, true).
+    addMessageProperty("Seats", null, true).
+    addSequenceFlow("ValidateTask");
+
+    // Build the ValidateTask
+    taskBuilder = procBuilder.addTask("ValidateTask", TaskType.None);
+    taskBuilder.addInputSet().
+    addPropertyInput("Name", null).
+    addPropertyInput("From", null).
+    addPropertyInput("To", null).
+    addPropertyInput("Date", null).
+    addPropertyInput("Seats", null).
+    addOutputSet().
+    addPropertyOutput("isReqDataValid", null).
+    addIORule("Name != null && From != null && To != null && Date != null && Seats > 0", ExpressionLanguage.MVEL).
+    addSequenceFlow("ValidateGateway");
+
+    // Build the ValidateGateway
+    GatewayBuilder gatewayBuilder = procBuilder.addGateway("ValidateGateway", GatewayType.Exclusive);
+    gatewayBuilder.addConditionalGate("CheckAvailabilityTask", ExpressionLanguage.MVEL, "isReqDataValid == true").
+    addDefaultGate("SendInvalidTask");
+
+    // Build the CheckAvailabilityTask
+    taskBuilder = procBuilder.addTask("CheckAvailabilityTask", TaskType.None);
+    taskBuilder.addExecutionHandler(AvailabilityHandler.class).
+    addInputSet().
+    addPropertyInput("From", null).
+    addPropertyInput("To", null).
+    addPropertyInput("Date", null).
+    addPropertyInput("Seats", null).
+    addOutputSet().
+    addPropertyOutput("isAvailable", null).
+    addPropertyOutput("Price", null).
+    addSequenceFlow("AvailabilityGateway");
+
+    // Build the SendInvalidTask
+    taskBuilder = procBuilder.addTask("SendInvalidTask", TaskType.Send);
+    taskBuilder.addMessageRef("InvalidDataMsg", messageListenerID).
+    addMessageProperty("Name", null, true).
+    addMessageProperty("From", null, true).
+    addMessageProperty("To", null, true).
+    addMessageProperty("Date", null, true).
+    addMessageProperty("Seats", null, true).
+    addSequenceFlow("ReceiveReqTask");
+
+    // Build the AvailabilityGateway
+    gatewayBuilder = procBuilder.addGateway("AvailabilityGateway", GatewayType.Exclusive);
+    gatewayBuilder.addConditionalGate("SendOfferTask", ExpressionLanguage.MVEL, "isAvailable == true").
+    addDefaultGate("SendNotAvailableTask");
+    
+    // Build the SendOfferTask
+    taskBuilder = procBuilder.addTask("SendOfferTask", TaskType.Send);
+    taskBuilder.addMessageRef("OfferMsg", messageListenerID).
+    addMessageProperty("Name", null, true).
+    addMessageProperty("From", null, true).
+    addMessageProperty("To", null, true).
+    addMessageProperty("Date", null, true).
+    addMessageProperty("Seats", null, true).
+    addMessageProperty("Price", null, true).
+    addSequenceFlow("ReceiveOrderTask");
+
+    // Build the SendNotAvailableTask
+    taskBuilder = procBuilder.addTask("SendNotAvailableTask", TaskType.Send);
+    taskBuilder.addMessageRef("NotAvailableMsg", messageListenerID).
+    addMessageProperty("Name", null, true).
+    addMessageProperty("From", null, true).
+    addMessageProperty("To", null, true).
+    addMessageProperty("Date", null, true).
+    addMessageProperty("Seats", null, true).
+    addSequenceFlow("ReceiveReqTask");
+
+    // Build the ReceiveReqTask
+    taskBuilder = procBuilder.addTask("ReceiveOrderTask", TaskType.Receive);
+    taskBuilder.addMessageRef("AcceptOfferMsg", null).
+    addMessageProperty("CreditCard", null, true).
+    addMessageProperty("Expire", null, true).
+    addMessageProperty("isOfferAccepted", null, true).
+    addSequenceFlow("AcceptOfferGateway");
+    
+    // Build the AcceptOfferGateway
+    gatewayBuilder = procBuilder.addGateway("AcceptOfferGateway", GatewayType.Exclusive);
+    gatewayBuilder.addConditionalGate("ParallelSplitGateway", ExpressionLanguage.MVEL, "isOfferAccepted == true").
+    addDefaultGate("ReceiveReqTask");
+    
+    // Build the AcceptOfferGateway
+    gatewayBuilder = procBuilder.addGateway("ParallelSplitGateway", GatewayType.Parallel);
+    gatewayBuilder.addGate("CreditCardTask").
+    addGate("BookingTask");
+    
+    // Build the CreditCardTask
+    taskBuilder = procBuilder.addTask("CreditCardTask", TaskType.None);
+    taskBuilder.addInputSet().
+    addPropertyInput("CreditCard", null).
+    addPropertyInput("Expire", null).
+    addPropertyInput("Price", null).
+    addSequenceFlow("SynchronizedJoinGateway");
+    
+    // Build the BookingTask
+    taskBuilder = procBuilder.addTask("BookingTask", TaskType.None);
+    taskBuilder.addInputSet().
+    addPropertyInput("Name", null).
+    addPropertyInput("From", null).
+    addPropertyInput("To", null).
+    addPropertyInput("Date", null).
+    addPropertyInput("Seats", null).
+    addSequenceFlow("SynchronizedJoinGateway");
+    
+    // Build the SynchronizedJoinGateway
+    gatewayBuilder = procBuilder.addGateway("SynchronizedJoinGateway", GatewayType.Parallel);
+    gatewayBuilder.addGate("SendConfirmTask");
+    
+    // Build the SendConfirmTask
+    taskBuilder = procBuilder.addTask("SendConfirmTask", TaskType.Send);
+    taskBuilder.addMessageRef("ConfirmMsg", messageListenerID).
+    addMessageProperty("Name", null, true).
+    addMessageProperty("From", null, true).
+    addMessageProperty("To", null, true).
+    addMessageProperty("Date", null, true).
+    addMessageProperty("Seats", null, true).
+    addMessageProperty("Price", null, true).
+    addSequenceFlow("End");
+    
+    // Add the EndEvent
+    Process proc = procBuilder.addEndEvent("End").getProcess();
+    ProcessManager pm = ProcessManager.locateProcessManager();
+    pm.registerProcess(proc);
+    return proc;
+  }
+}
\ No newline at end of file

Copied: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java (from rev 1771, jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -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.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, OutputSet outputSet)
+  {
+    PropertyBuilder builder = PropertyBuilderFactory.newInstance().newPropertyBuilder();
+    Integer seats = Integer.valueOf(inputSet.getProperty("Seats").getValue().getExpressionBody());
+    outputSet.addProperty(builder.newProperty("isAvailable", new Boolean(seats < 10).toString()));
+    outputSet.addProperty(builder.newProperty("Price", new Integer(seats * 111).toString()));
+  }
+}

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-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -1,14 +1,70 @@
 package org.jboss.bpm.samples.airticket.server;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.client.MessageListener;
+import org.jboss.bpm.client.MessageManager;
+import org.jboss.bpm.client.ObjectNameFactory;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
+import org.jboss.bpm.model.MessageBuilderFactory;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.samples.airticket.AirticketProcessBuilder;
 import org.jboss.bpm.samples.airticket.client.AirticketService;
+import org.jboss.bpm.samples.airticket.client.RequestData;
 
 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
 @SuppressWarnings("serial")
 public class AirticketServiceImpl extends RemoteServiceServlet implements AirticketService
 {
+  private ObjectName listenerID = ObjectNameFactory.create("mydomain:type=MessageListener");
+  private List<Message> messageQueue = new ArrayList<Message>();
+  
   public void sendUserRequest(String name, String from, String to, String date, String seats)
   {
-    System.out.println(name);
+    AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(listenerID);
+    Process proc = procBuilder.buildProcess();
+    
+    MessageManager mm = MessageManager.locateMessageManager();
+    mm.addMessageListener(new AirticketMessageListener());
+   
+    proc.startProcess();
+    new RequestData(name, from, to, date, seats);
+    
+    Message msg = getRequestMessage(name, from, to, date, seats);
+    mm.sendMessage(proc.getID(), "ReceiveReqTask", msg);
   }
+  
+  private Message getRequestMessage(String name, String from, String to, String date, String seats)
+  {
+    MessageBuilderFactory msgFactory = MessageBuilderFactory.newInstance();
+    MessageBuilder msgBuilder = msgFactory.newMessageBuilder();
+    Message msg = msgBuilder.newMessage("ReqDataMsg", null).
+    addProperty("Name", name).
+    addProperty("From", from).
+    addProperty("To", to).
+    addProperty("Date", date).
+    addProperty("Seats", seats).
+    getMessage();
+    return msg;
+  }
+  
+  class AirticketMessageListener implements MessageListener
+  {
+    public void catchMessage(Message message)
+    {
+      messageQueue.add(message);
+      System.out.println(message);
+    }
+
+    public ObjectName getMessageListenerID()
+    {
+      return listenerID;
+    }
+    
+  }
 }

Added: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -0,0 +1,22 @@
+package org.jboss.bpm.samples.airticket.server;
+
+public class RequestData
+{
+  private String name;
+  private String from;
+  private String to;
+  private String date;
+  private String seats;
+  
+  public RequestData(String name, String from, String to, String date, String seats)
+  {
+    super();
+    this.name = name;
+    this.from = from;
+    this.to = to;
+    this.date = date;
+    this.seats = seats;
+  }
+
+
+}


Property changes on: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Copied: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/resources/jbpm-beans.xml (from rev 1771, jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/jbpm-beans.xml)
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/resources/jbpm-beans.xml	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/resources/jbpm-beans.xml	2008-07-30 12:00:16 UTC (rev 1774)
@@ -0,0 +1,57 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ 
+  <!-- The KernelLocator -->
+  <bean name="KernelLocator" class="org.jboss.kernel.plugins.util.KernelLocator"/>
+  
+  <!-- The Builder Factories -->
+  <bean name="jBPMProcessBuilderFactory" class="org.jboss.bpm.model.internal.ProcessBuilderFactoryImpl"/>
+  <bean name="jBPMMessageBuilderFactory" class="org.jboss.bpm.model.internal.MessageBuilderFactoryImpl"/>
+  <bean name="jBPMPropertyBuilderFactory" class="org.jboss.bpm.model.internal.PropertyBuilderFactoryImpl"/>
+  
+  <!-- The ProcessEngine -->
+  <bean name="jBPMProcessEngine" class="org.jboss.bpm.client.internal.ProcessEngineImpl">
+    <property name="processManager"><inject bean="jBPMProcessManager"/></property>
+    <property name="executionManager"><inject bean="jBPMExecutionManager"/></property>
+    <property name="signalManager"><inject bean="jBPMSignalManager"/></property>
+    <property name="messageManager"><inject bean="jBPMMessageManager"/></property>
+  </bean>
+
+  <!-- The Managers -->
+  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl"/>
+  <bean name="jBPMSignalManager" class="org.jboss.bpm.client.internal.SignalManagerImpl"/>
+  <bean name="jBPMMessageManager" class="org.jboss.bpm.client.internal.MessageManagerImpl"/>
+  
+  <!-- The ProcessManager -->
+  <bean name="jBPMProcessManager" class="org.jboss.bpm.client.internal.ProcessManagerImpl">
+    <property name="dialectRegistry"><inject bean="jBPMDialectRegistry"/></property>
+    <property name="dialectHandlers">
+      <map keyClass="java.lang.String" valueClass="org.jboss.bpm.client.DialectHandler">
+        <!-- 
+        <entry><key>api10</key><value><inject bean="jBPMDialectHandlerAPI10"/></value></entry>
+        <entry><key>jpdl32</key><value><inject bean="jBPMDialectHandlerJPDL32"/></value></entry>
+        <entry><key>stp</key><value><inject bean="jBPMDialectHandlerSTP"/></value></entry>
+        <entry><key>xpdl21</key><value><inject bean="jBPMDialectHandlerXPDL21"/></value></entry>
+        -->
+      </map>
+    </property>
+  </bean>
+  <!-- 
+  <bean name="jBPMDialectHandlerAPI10" class="org.jboss.bpm.dialect.api10.DialectHandlerImpl"/>
+  <bean name="jBPMDialectHandlerJPDL32" class="org.jboss.bpm.dialect.jpdl32.DialectHandlerImpl"/>
+  <bean name="jBPMDialectHandlerSTP" class="org.jboss.bpm.dialect.stp.DialectHandlerImpl"/>
+  <bean name="jBPMDialectHandlerXPDL21" class="org.jboss.bpm.dialect.xpdl21.DialectHandlerImpl"/>
+  -->
+
+  <!-- The DialectRegistry -->
+  <bean name="jBPMDialectRegistry" class="org.jboss.bpm.client.DialectRegistry">
+    <property name="registry">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>urn:api.bpm.jboss:jpdl-0.1</key><value>api10</value></entry>
+        <entry><key>urn:jbpm.org:jpdl-3.2</key><value>jpdl32</value></entry>
+        <entry><key>http://stp.eclipse.org/bpmn</key><value>stp</value></entry>
+        <entry><key>http://www.wfmc.org/2008/XPDL2.1</key><value>xpdl21</value></entry>
+      </map>
+    </property>
+  </bean>
+  
+</deployment>
\ No newline at end of file

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -1,194 +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 javax.management.ObjectName;
-
-import org.jboss.bpm.client.ProcessManager;
-import org.jboss.bpm.model.GatewayBuilder;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.TaskBuilder;
-import org.jboss.bpm.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.model.Gateway.GatewayType;
-import org.jboss.bpm.model.Task.TaskType;
-
-/**
- * Test the Airticket sample application
- * 
- * @author thomas.diesler at jboss.com
- * @since 03-Jul-2008
- */
-public class AirticketProcessBuilder
-{
-  private ObjectName messageListenerID;
-  
-  public AirticketProcessBuilder(ObjectName listenerID)
-  {
-    this.messageListenerID = listenerID;
-  }
-
-  public Process buildProcess()
-  {
-    // Create a Process through the ProcessBuilder
-    ProcessBuilderFactory procFactory = ProcessBuilderFactory.newInstance();
-    ProcessBuilder procBuilder = procFactory.newProcessBuilder();
-    procBuilder.addProcess("Airticket").addStartEvent().addSequenceFlow("ReceiveReqTask");
-
-    // Build the ReceiveReqTask
-    TaskBuilder taskBuilder = procBuilder.addTask("ReceiveReqTask", TaskType.Receive);
-    taskBuilder.addMessageRef("ReqDataMsg", null).
-    addMessageProperty("Name", null, true).
-    addMessageProperty("From", null, true).
-    addMessageProperty("To", null, true).
-    addMessageProperty("Date", null, true).
-    addMessageProperty("Seats", null, true).
-    addSequenceFlow("ValidateTask");
-
-    // Build the ValidateTask
-    taskBuilder = procBuilder.addTask("ValidateTask", TaskType.None);
-    taskBuilder.addInputSet().
-    addPropertyInput("Name", null).
-    addPropertyInput("From", null).
-    addPropertyInput("To", null).
-    addPropertyInput("Date", null).
-    addPropertyInput("Seats", null).
-    addOutputSet().
-    addPropertyOutput("isReqDataValid", null).
-    addIORule("Name != null && From != null && To != null && Date != null && Seats > 0", ExpressionLanguage.MVEL).
-    addSequenceFlow("ValidateGateway");
-
-    // Build the ValidateGateway
-    GatewayBuilder gatewayBuilder = procBuilder.addGateway("ValidateGateway", GatewayType.Exclusive);
-    gatewayBuilder.addConditionalGate("CheckAvailabilityTask", ExpressionLanguage.MVEL, "isReqDataValid == true").
-    addDefaultGate("SendInvalidTask");
-
-    // Build the CheckAvailabilityTask
-    taskBuilder = procBuilder.addTask("CheckAvailabilityTask", TaskType.None);
-    taskBuilder.addExecutionHandler(AvailabilityHandler.class).
-    addInputSet().
-    addPropertyInput("From", null).
-    addPropertyInput("To", null).
-    addPropertyInput("Date", null).
-    addPropertyInput("Seats", null).
-    addOutputSet().
-    addPropertyOutput("isAvailable", null).
-    addPropertyOutput("Price", null).
-    addSequenceFlow("AvailabilityGateway");
-
-    // Build the SendInvalidTask
-    taskBuilder = procBuilder.addTask("SendInvalidTask", TaskType.Send);
-    taskBuilder.addMessageRef("InvalidDataMsg", messageListenerID).
-    addMessageProperty("Name", null, true).
-    addMessageProperty("From", null, true).
-    addMessageProperty("To", null, true).
-    addMessageProperty("Date", null, true).
-    addMessageProperty("Seats", null, true).
-    addSequenceFlow("ReceiveReqTask");
-
-    // Build the AvailabilityGateway
-    gatewayBuilder = procBuilder.addGateway("AvailabilityGateway", GatewayType.Exclusive);
-    gatewayBuilder.addConditionalGate("SendOfferTask", ExpressionLanguage.MVEL, "isAvailable == true").
-    addDefaultGate("SendNotAvailableTask");
-    
-    // Build the SendOfferTask
-    taskBuilder = procBuilder.addTask("SendOfferTask", TaskType.Send);
-    taskBuilder.addMessageRef("OfferMsg", messageListenerID).
-    addMessageProperty("Name", null, true).
-    addMessageProperty("From", null, true).
-    addMessageProperty("To", null, true).
-    addMessageProperty("Date", null, true).
-    addMessageProperty("Seats", null, true).
-    addMessageProperty("Price", null, true).
-    addSequenceFlow("ReceiveOrderTask");
-
-    // Build the SendNotAvailableTask
-    taskBuilder = procBuilder.addTask("SendNotAvailableTask", TaskType.Send);
-    taskBuilder.addMessageRef("NotAvailableMsg", messageListenerID).
-    addMessageProperty("Name", null, true).
-    addMessageProperty("From", null, true).
-    addMessageProperty("To", null, true).
-    addMessageProperty("Date", null, true).
-    addMessageProperty("Seats", null, true).
-    addSequenceFlow("ReceiveReqTask");
-
-    // Build the ReceiveReqTask
-    taskBuilder = procBuilder.addTask("ReceiveOrderTask", TaskType.Receive);
-    taskBuilder.addMessageRef("AcceptOfferMsg", null).
-    addMessageProperty("CreditCard", null, true).
-    addMessageProperty("Expire", null, true).
-    addMessageProperty("isOfferAccepted", null, true).
-    addSequenceFlow("AcceptOfferGateway");
-    
-    // Build the AcceptOfferGateway
-    gatewayBuilder = procBuilder.addGateway("AcceptOfferGateway", GatewayType.Exclusive);
-    gatewayBuilder.addConditionalGate("ParallelSplitGateway", ExpressionLanguage.MVEL, "isOfferAccepted == true").
-    addDefaultGate("ReceiveReqTask");
-    
-    // Build the AcceptOfferGateway
-    gatewayBuilder = procBuilder.addGateway("ParallelSplitGateway", GatewayType.Parallel);
-    gatewayBuilder.addGate("CreditCardTask").
-    addGate("BookingTask");
-    
-    // Build the CreditCardTask
-    taskBuilder = procBuilder.addTask("CreditCardTask", TaskType.None);
-    taskBuilder.addInputSet().
-    addPropertyInput("CreditCard", null).
-    addPropertyInput("Expire", null).
-    addPropertyInput("Price", null).
-    addSequenceFlow("SynchronizedJoinGateway");
-    
-    // Build the BookingTask
-    taskBuilder = procBuilder.addTask("BookingTask", TaskType.None);
-    taskBuilder.addInputSet().
-    addPropertyInput("Name", null).
-    addPropertyInput("From", null).
-    addPropertyInput("To", null).
-    addPropertyInput("Date", null).
-    addPropertyInput("Seats", null).
-    addSequenceFlow("SynchronizedJoinGateway");
-    
-    // Build the SynchronizedJoinGateway
-    gatewayBuilder = procBuilder.addGateway("SynchronizedJoinGateway", GatewayType.Parallel);
-    gatewayBuilder.addGate("SendConfirmTask");
-    
-    // Build the SendConfirmTask
-    taskBuilder = procBuilder.addTask("SendConfirmTask", TaskType.Send);
-    taskBuilder.addMessageRef("ConfirmMsg", messageListenerID).
-    addMessageProperty("Name", null, true).
-    addMessageProperty("From", null, true).
-    addMessageProperty("To", null, true).
-    addMessageProperty("Date", null, true).
-    addMessageProperty("Seats", null, true).
-    addMessageProperty("Price", null, true).
-    addSequenceFlow("End");
-    
-    // Add the EndEvent
-    Process proc = procBuilder.addEndEvent("End").getProcess();
-    ProcessManager pm = ProcessManager.locateProcessManager();
-    pm.registerProcess(proc);
-    return proc;
-  }
-}
\ No newline at end of file

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AvailabilityHandler.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -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.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, OutputSet outputSet)
-  {
-    PropertyBuilder builder = PropertyBuilderFactory.newInstance().newPropertyBuilder();
-    Integer seats = Integer.valueOf(inputSet.getProperty("Seats").getValue().getExpressionBody());
-    outputSet.addProperty(builder.newProperty("isAvailable", new Boolean(seats < 10).toString()));
-    outputSet.addProperty(builder.newProperty("Price", new Integer(seats * 111).toString()));
-  }
-}

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/FrontGateServlet.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/FrontGateServlet.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/FrontGateServlet.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -1,64 +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.IOException;
-import java.net.MalformedURLException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Test that the execution context
- * 
- * @author thomas.diesler at jboss.com
- * @since 03-Jul-2008
- */
- at SuppressWarnings("serial")
-public class FrontGateServlet extends HttpServlet
-{
-  @Override
-  public void init(ServletConfig config) throws ServletException
-  {
-    super.init(config);
-    
-    try
-    {
-      config.getServletContext().getResource("airticket.bpmn");
-    }
-    catch (MalformedURLException e)
-    {
-      // TODO Auto-generated catch block
-      e.printStackTrace();
-    }
-  }
-
-  @Override
-  protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
-  {
-  }
-}

Deleted: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/jbpm-beans.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/jbpm-beans.xml	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/jbpm-beans.xml	2008-07-30 12:00:16 UTC (rev 1774)
@@ -1,57 +0,0 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
- 
-  <!-- The KernelLocator -->
-  <bean name="KernelLocator" class="org.jboss.kernel.plugins.util.KernelLocator"/>
-  
-  <!-- The Builder Factories -->
-  <bean name="jBPMProcessBuilderFactory" class="org.jboss.bpm.model.internal.ProcessBuilderFactoryImpl"/>
-  <bean name="jBPMMessageBuilderFactory" class="org.jboss.bpm.model.internal.MessageBuilderFactoryImpl"/>
-  <bean name="jBPMPropertyBuilderFactory" class="org.jboss.bpm.model.internal.PropertyBuilderFactoryImpl"/>
-  
-  <!-- The ProcessEngine -->
-  <bean name="jBPMProcessEngine" class="org.jboss.bpm.client.internal.ProcessEngineImpl">
-    <property name="processManager"><inject bean="jBPMProcessManager"/></property>
-    <property name="executionManager"><inject bean="jBPMExecutionManager"/></property>
-    <property name="signalManager"><inject bean="jBPMSignalManager"/></property>
-    <property name="messageManager"><inject bean="jBPMMessageManager"/></property>
-  </bean>
-
-  <!-- The Managers -->
-  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl"/>
-  <bean name="jBPMSignalManager" class="org.jboss.bpm.client.internal.SignalManagerImpl"/>
-  <bean name="jBPMMessageManager" class="org.jboss.bpm.client.internal.MessageManagerImpl"/>
-  
-  <!-- The ProcessManager -->
-  <bean name="jBPMProcessManager" class="org.jboss.bpm.client.internal.ProcessManagerImpl">
-    <property name="dialectRegistry"><inject bean="jBPMDialectRegistry"/></property>
-    <property name="dialectHandlers">
-      <map keyClass="java.lang.String" valueClass="org.jboss.bpm.client.DialectHandler">
-        <!-- 
-        <entry><key>api10</key><value><inject bean="jBPMDialectHandlerAPI10"/></value></entry>
-        <entry><key>jpdl32</key><value><inject bean="jBPMDialectHandlerJPDL32"/></value></entry>
-        <entry><key>stp</key><value><inject bean="jBPMDialectHandlerSTP"/></value></entry>
-        <entry><key>xpdl21</key><value><inject bean="jBPMDialectHandlerXPDL21"/></value></entry>
-        -->
-      </map>
-    </property>
-  </bean>
-  <!-- 
-  <bean name="jBPMDialectHandlerAPI10" class="org.jboss.bpm.dialect.api10.DialectHandlerImpl"/>
-  <bean name="jBPMDialectHandlerJPDL32" class="org.jboss.bpm.dialect.jpdl32.DialectHandlerImpl"/>
-  <bean name="jBPMDialectHandlerSTP" class="org.jboss.bpm.dialect.stp.DialectHandlerImpl"/>
-  <bean name="jBPMDialectHandlerXPDL21" class="org.jboss.bpm.dialect.xpdl21.DialectHandlerImpl"/>
-  -->
-
-  <!-- The DialectRegistry -->
-  <bean name="jBPMDialectRegistry" class="org.jboss.bpm.client.DialectRegistry">
-    <property name="registry">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry><key>urn:api.bpm.jboss:jpdl-0.1</key><value>api10</value></entry>
-        <entry><key>urn:jbpm.org:jpdl-3.2</key><value>jpdl32</value></entry>
-        <entry><key>http://stp.eclipse.org/bpmn</key><value>stp</value></entry>
-        <entry><key>http://www.wfmc.org/2008/XPDL2.1</key><value>xpdl21</value></entry>
-      </map>
-    </property>
-  </bean>
-  
-</deployment>
\ No newline at end of file

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java	2008-07-30 11:25:20 UTC (rev 1773)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java	2008-07-30 12:00:16 UTC (rev 1774)
@@ -30,7 +30,7 @@
 
   public void testLocateProcessEngine() throws Exception
   {
-    SignalManager engine = SignalManager.locateSignalManager();
+    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
     assertNotNull(engine);
   }
 }




More information about the jbpm-commits mailing list