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

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jul 30 15:18:38 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-07-30 15:18:37 -0400 (Wed, 30 Jul 2008)
New Revision: 1777

Added:
   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/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/InvalidDataMessage.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/NotAvailableMessage.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/client/OrderMessage.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/RequestMessage.java
Removed:
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java
Modified:
   jbossbpm/spec/trunk/modules/samples/airticket/server/pom.xml
   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/AirticketService.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketServiceAsync.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
Log:
GWT App ok

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/pom.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/pom.xml	2008-07-30 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/pom.xml	2008-07-30 19:18:37 UTC (rev 1777)
@@ -1,3 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!--  JBoss, the OpenSource J2EE webOS                                      -->
+<!--                                                                        -->
+<!--  Distributable under LGPL license.                                     -->
+<!--  See terms of license at http://www.gnu.org.                           -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ 
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
@@ -14,11 +27,6 @@
   
   <!-- Dependencies -->
   <dependencies>
-    <dependency>
-      <groupId>org.jboss.bpm</groupId>
-      <artifactId>bpm-sample-airticket-rpc</artifactId>
-      <version>${version}</version>
-    </dependency>
   </dependencies>
   
   <!-- Build -->

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-07-30 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -69,7 +69,8 @@
 
     // Build the ValidateTask
     taskBuilder = procBuilder.addTask("ValidateTask", TaskType.None);
-    taskBuilder.addInputSet().
+    taskBuilder.addExecutionHandler(ValidationHandler.class).
+    addInputSet().
     addPropertyInput("Name", null).
     addPropertyInput("From", null).
     addPropertyInput("To", null).
@@ -77,7 +78,6 @@
     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

Added: 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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/ValidationHandler.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.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, OutputSet outputSet)
+  {
+    String name = inputSet.getProperty("Name").getValue().getExpressionBody();
+    String from = inputSet.getProperty("From").getValue().getExpressionBody();
+    String to = inputSet.getProperty("To").getValue().getExpressionBody();
+    String date = inputSet.getProperty("Date").getValue().getExpressionBody();
+    String seats = inputSet.getProperty("Seats").getValue().getExpressionBody();
+    
+    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("isReqDataValid", "" + isValid));
+  }
+}


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

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketService.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketService.java	2008-07-30 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketService.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -4,5 +4,7 @@
 
 public interface AirticketService extends RemoteService
 {
-  void sendUserRequest(String name, String from, String to, String date, String seats);
+  GwtMessage getMessage();
+
+  void sendMessage(GwtMessage message);
 }

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketServiceAsync.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketServiceAsync.java	2008-07-30 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/AirticketServiceAsync.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -4,5 +4,7 @@
 
 public interface AirticketServiceAsync
 {
-  void sendUserRequest(String name, String from, String to, String date, String seats, AsyncCallback callback);
+  void getMessage(AsyncCallback callback);
+
+  void sendMessage(GwtMessage message, AsyncCallback callback);
 }

Added: 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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/ConfirmMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,29 @@
+/*
+ * 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.client;
+
+// $Id$
+
+public class ConfirmMessage extends GwtMessage
+{
+  public String price;
+}
\ No newline at end of file


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

Added: 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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/GwtMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.samples.airticket.client;
+
+// $Id$
+
+import java.io.Serializable;
+
+public class GwtMessage implements Serializable
+{
+  public String name;
+  public String from;
+  public String to;
+  public String date;
+  public String seats;
+}
\ No newline at end of file


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

Added: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/InvalidDataMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/InvalidDataMessage.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/InvalidDataMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,28 @@
+/*
+ * 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.client;
+
+// $Id$
+
+public class InvalidDataMessage extends GwtMessage
+{
+}
\ No newline at end of file


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

Added: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/NotAvailableMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/NotAvailableMessage.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/NotAvailableMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,28 @@
+/*
+ * 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.client;
+
+// $Id$
+
+public class NotAvailableMessage extends GwtMessage
+{
+}
\ No newline at end of file


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

Added: 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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OfferMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,29 @@
+/*
+ * 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.client;
+
+// $Id$
+
+public class OfferMessage extends GwtMessage
+{
+  public String price;
+}
\ No newline at end of file


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

Added: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OrderMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OrderMessage.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/OrderMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,31 @@
+/*
+ * 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.client;
+
+// $Id$
+
+public class OrderMessage extends GwtMessage
+{
+  public String creditCard;
+  public String expire;
+  public boolean acceptOffer;
+}
\ No newline at end of file


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

Added: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/RequestMessage.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/RequestMessage.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/client/RequestMessage.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -0,0 +1,33 @@
+/*
+ * 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.client;
+
+// $Id$
+
+public class RequestMessage extends GwtMessage
+{
+  public String name;
+  public String from;
+  public String to;
+  public String date;
+  public String seats;
+}
\ No newline at end of file


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

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 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -5,16 +5,27 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.bpm.NotImplementedException;
 import org.jboss.bpm.client.MessageListener;
 import org.jboss.bpm.client.MessageManager;
 import org.jboss.bpm.client.ObjectNameFactory;
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.client.SignalListener;
+import org.jboss.bpm.client.SignalManager;
 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.model.Signal;
 import org.jboss.bpm.samples.airticket.AirticketProcessBuilder;
 import org.jboss.bpm.samples.airticket.client.AirticketService;
-import org.jboss.bpm.samples.airticket.client.RequestData;
+import org.jboss.bpm.samples.airticket.client.ConfirmMessage;
+import org.jboss.bpm.samples.airticket.client.GwtMessage;
+import org.jboss.bpm.samples.airticket.client.InvalidDataMessage;
+import org.jboss.bpm.samples.airticket.client.NotAvailableMessage;
+import org.jboss.bpm.samples.airticket.client.OfferMessage;
+import org.jboss.bpm.samples.airticket.client.OrderMessage;
+import org.jboss.bpm.samples.airticket.client.RequestMessage;
 
 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
@@ -23,36 +34,130 @@
 {
   private ObjectName listenerID = ObjectNameFactory.create("mydomain:type=MessageListener");
   private List<Message> messageQueue = new ArrayList<Message>();
+  private ObjectName procID;
   
-  public void sendUserRequest(String name, String from, String to, String date, String seats)
+  public GwtMessage getMessage()
   {
-    AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(listenerID);
-    Process proc = procBuilder.buildProcess();
-    
+    GwtMessage returnMsg = null;
+    if (messageQueue.size() > 0)
+    {
+      Message bpmMsg = messageQueue.remove(0);
+      String msgName = bpmMsg.getName();
+      if (msgName.equals("OfferMsg"))
+      {
+        OfferMessage gwtMsg = new OfferMessage();
+        gwtMsg.name = bpmMsg.getProperty("Name").getValue().getExpressionBody();
+        gwtMsg.from = bpmMsg.getProperty("From").getValue().getExpressionBody();
+        gwtMsg.to = bpmMsg.getProperty("To").getValue().getExpressionBody();
+        gwtMsg.date = bpmMsg.getProperty("Date").getValue().getExpressionBody();
+        gwtMsg.seats = bpmMsg.getProperty("Seats").getValue().getExpressionBody();
+        gwtMsg.price = bpmMsg.getProperty("Price").getValue().getExpressionBody();
+        returnMsg = gwtMsg;
+      }
+      else if (msgName.equals("InvalidDataMsg"))
+      {
+        InvalidDataMessage gwtMsg = new InvalidDataMessage();
+        gwtMsg.name = bpmMsg.getProperty("Name").getValue().getExpressionBody();
+        gwtMsg.from = bpmMsg.getProperty("From").getValue().getExpressionBody();
+        gwtMsg.to = bpmMsg.getProperty("To").getValue().getExpressionBody();
+        gwtMsg.date = bpmMsg.getProperty("Date").getValue().getExpressionBody();
+        gwtMsg.seats = bpmMsg.getProperty("Seats").getValue().getExpressionBody();
+        returnMsg = gwtMsg;
+      }
+      else if (msgName.equals("NotAvailableMsg"))
+      {
+        NotAvailableMessage gwtMsg = new NotAvailableMessage();
+        gwtMsg.name = bpmMsg.getProperty("Name").getValue().getExpressionBody();
+        gwtMsg.from = bpmMsg.getProperty("From").getValue().getExpressionBody();
+        gwtMsg.to = bpmMsg.getProperty("To").getValue().getExpressionBody();
+        gwtMsg.date = bpmMsg.getProperty("Date").getValue().getExpressionBody();
+        gwtMsg.seats = bpmMsg.getProperty("Seats").getValue().getExpressionBody();
+        returnMsg = gwtMsg;
+      }
+      else if (msgName.equals("ConfirmMsg"))
+      {
+        ConfirmMessage gwtMsg = new ConfirmMessage();
+        gwtMsg.name = bpmMsg.getProperty("Name").getValue().getExpressionBody();
+        gwtMsg.from = bpmMsg.getProperty("From").getValue().getExpressionBody();
+        gwtMsg.to = bpmMsg.getProperty("To").getValue().getExpressionBody();
+        gwtMsg.date = bpmMsg.getProperty("Date").getValue().getExpressionBody();
+        gwtMsg.seats = bpmMsg.getProperty("Seats").getValue().getExpressionBody();
+        gwtMsg.price = bpmMsg.getProperty("Price").getValue().getExpressionBody();
+        returnMsg = gwtMsg;
+      }
+      else
+      {
+        throw new NotImplementedException(msgName);
+      }
+    }
+    return returnMsg;
+  }
+
+  public void sendMessage(GwtMessage gwtMsg)
+  {
     MessageManager mm = MessageManager.locateMessageManager();
-    mm.addMessageListener(new AirticketMessageListener());
-   
-    proc.startProcess();
-    new RequestData(name, from, to, date, seats);
+    SignalManager sm = SignalManager.locateSignalManager();
     
-    Message msg = getRequestMessage(name, from, to, date, seats);
-    mm.sendMessage(proc.getID(), "ReceiveReqTask", msg);
+    System.out.println(gwtMsg);
+    
+    if (gwtMsg instanceof RequestMessage)
+    {
+      // Create/Start the process
+      if (procID == null)
+      {
+        AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(listenerID);
+        Process proc = procBuilder.buildProcess();
+        procID = proc.startProcess();
+        
+        mm.addMessageListener(new AirticketMessageListener());
+        sm.addSignalListener(proc.getName(), new AirticketSignalListener());
+      }
+      else
+      {
+        ProcessManager pm = ProcessManager.locateProcessManager();
+        procID = pm.startProcess("Airticket", null);
+      }
+      
+      Message msg = getRequestMessage((RequestMessage)gwtMsg);
+      mm.sendMessage(procID, "ReceiveReqTask", msg);
+    }
+    else if (gwtMsg instanceof OrderMessage)
+    {
+      Message msg = getOrderMessage((OrderMessage)gwtMsg);
+      mm.sendMessage(procID, "ReceiveOrderTask", msg);
+    }
+    else
+    {
+      throw new NotImplementedException(gwtMsg.getClass().getName());
+    }
   }
   
-  private Message getRequestMessage(String name, String from, String to, String date, String seats)
+  private Message getRequestMessage(RequestMessage gwtMsg)
   {
     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).
+    addProperty("Name", gwtMsg.name).
+    addProperty("From", gwtMsg.from).
+    addProperty("To", gwtMsg.to).
+    addProperty("Date", gwtMsg.date).
+    addProperty("Seats", gwtMsg.seats).
     getMessage();
     return msg;
   }
   
+  private Message getOrderMessage(OrderMessage gwtMsg)
+  {
+    MessageBuilderFactory msgFactory = MessageBuilderFactory.newInstance();
+    MessageBuilder msgBuilder = msgFactory.newMessageBuilder();
+    Message msg = msgBuilder.newMessage("AcceptOfferMsg", null).
+    addProperty("CreditCard", gwtMsg.creditCard).
+    addProperty("Expire", gwtMsg.expire).
+    addProperty("isOfferAccepted", "" + gwtMsg.acceptOffer).
+    getMessage();
+    return msg;
+  }
+  
   class AirticketMessageListener implements MessageListener
   {
     public void catchMessage(Message message)
@@ -65,6 +170,13 @@
     {
       return listenerID;
     }
-    
   }
+  
+  class AirticketSignalListener implements SignalListener
+  {
+    public void catchSignal(Signal signal)
+    {
+      System.out.println(signal);
+    }
+  }
 }

Deleted: 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	2008-07-30 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/RequestData.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -1,22 +0,0 @@
-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;
-  }
-
-
-}

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-07-30 19:18:21 UTC (rev 1776)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-07-30 19:18:37 UTC (rev 1777)
@@ -47,40 +47,6 @@
  */
 public class AirticketTest extends DefaultEngineTestCase
 {
-  private final class AirticketMessageListener implements MessageListener
-  {
-    private Process proc;
-    private ObjectName targetID;
-    private Message confirmMessage;
-
-    private AirticketMessageListener(Process proc, ObjectName listenerID)
-    {
-      this.proc = proc;
-      this.targetID = listenerID;
-    }
-
-    public Message getConfirmMessage()
-    {
-      return confirmMessage;
-    }
-
-    public void catchMessage(Message message)
-    {
-      MessageManager mm = MessageManager.locateMessageManager();
-      if (message.getName().equals("InvalidDataMsg"))
-        mm.sendMessage(proc.getID(), "ReceiveReqTask", getValidRequestMessage());
-      else if (message.getName().equals("OfferMsg"))
-        mm.sendMessage(proc.getID(), "ReceiveOrderTask", getAcceptOfferMessage());
-      else if (message.getName().equals("ConfirmMsg"))
-        confirmMessage = message;
-    }
-
-    public ObjectName getMessageListenerID()
-    {
-      return targetID;
-    }
-  }
-
   @Override
   protected void setUp() throws Exception
   {
@@ -190,4 +156,38 @@
     getMessage();
     return msg;
   }
+
+  class AirticketMessageListener implements MessageListener
+  {
+    private Process proc;
+    private ObjectName targetID;
+    private Message confirmMessage;
+
+    private AirticketMessageListener(Process proc, ObjectName listenerID)
+    {
+      this.proc = proc;
+      this.targetID = listenerID;
+    }
+
+    public Message getConfirmMessage()
+    {
+      return confirmMessage;
+    }
+
+    public void catchMessage(Message message)
+    {
+      MessageManager mm = MessageManager.locateMessageManager();
+      if (message.getName().equals("InvalidDataMsg"))
+        mm.sendMessage(proc.getID(), "ReceiveReqTask", getValidRequestMessage());
+      else if (message.getName().equals("OfferMsg"))
+        mm.sendMessage(proc.getID(), "ReceiveOrderTask", getAcceptOfferMessage());
+      else if (message.getName().equals("ConfirmMsg"))
+        confirmMessage = message;
+    }
+
+    public ObjectName getMessageListenerID()
+    {
+      return targetID;
+    }
+  }
 }
\ No newline at end of file




More information about the jbpm-commits mailing list