Author: thomas.diesler(a)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(a)jboss.com
+ * @since 04-Jul-2008
+ */
+@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