[jbpm-commits] JBoss JBPM SVN: r1779 - in jbossbpm/spec/trunk/modules/samples/airticket/client: src/main/java/org/jboss/bpm/samples/airticket/client and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Jul 30 15:18:53 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-07-30 15:18:52 -0400 (Wed, 30 Jul 2008)
New Revision: 1779
Modified:
jbossbpm/spec/trunk/modules/samples/airticket/client/pom.xml
jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java
jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/resources/org/jboss/bpm/samples/airticket/public/Application.html
Log:
GWT App ok
Modified: jbossbpm/spec/trunk/modules/samples/airticket/client/pom.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/client/pom.xml 2008-07-30 19:18:44 UTC (rev 1778)
+++ jbossbpm/spec/trunk/modules/samples/airticket/client/pom.xml 2008-07-30 19:18:52 UTC (rev 1779)
@@ -1,5 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- 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>
<name>JBossBPM - Spec Samples Airticket (Client)</name>
<groupId>org.jboss.bpm</groupId>
Modified: jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java 2008-07-30 19:18:44 UTC (rev 1778)
+++ jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/java/org/jboss/bpm/samples/airticket/client/Application.java 2008-07-30 19:18:52 UTC (rev 1779)
@@ -5,9 +5,13 @@
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.DockPanel;
+import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
@@ -17,101 +21,258 @@
*/
public class Application implements EntryPoint
{
- private Button buttonSubmit = new Button("Submit");
- private Button buttonPull = new Button("Pull");
+ private AirticketServiceAsync sampleRemoteService;
private Label labelMessage = new Label();
- private Label labelState = new Label("SendRequest");
private Label labelName = new Label("Name:");
private Label labelFrom = new Label("From:");
private Label labelTo = new Label("To:");
private Label labelDate = new Label("Date:");
private Label labelSeats = new Label("Seats:");
+ private Label labelPrice = new Label("Price:");
+ private Label labelCreditCard = new Label("CreditCard:");
+ private Label labelExpire = new Label("Expire:");
+ private Label labelAccept = new Label("Accept:");
+ private Label labelNameRO = new Label();
+ private Label labelFromRO = new Label();
+ private Label labelToRO = new Label();
+ private Label labelDateRO = new Label();
+ private Label labelSeatsRO = new Label();
+ private Label labelPriceRO = new Label();
+
private TextBox textName = new TextBox();
private TextBox textFrom = new TextBox();
private TextBox textTo = new TextBox();
private TextBox textDate = new TextBox();
private TextBox textSeats = new TextBox();
-
+ private TextBox textCreditCard = new TextBox();
+ private TextBox textExpire = new TextBox();
+ private CheckBox checkAccept = new CheckBox();
+
+ private Button buttonSubmitRequest = new Button("Submit");
+ private Button buttonSubmitOrder = new Button("Submit");
+ private Button buttonSubmitConfirm = new Button("Submit");
+
/**
* This is the entry point method.
*/
public void onModuleLoad()
{
// image bundle
- final SampleImageBundle sampleImageBundle = (SampleImageBundle)GWT.create(SampleImageBundle.class);
- final Image logoImage = sampleImageBundle.getGWTLogo().createImage();
+ SampleImageBundle sampleImageBundle = (SampleImageBundle)GWT.create(SampleImageBundle.class);
+ Image logoImage = sampleImageBundle.getGWTLogo().createImage();
+ RootPanel.get("gwtLogo").add(logoImage);
- textName.setText("Kermit");
- textFrom.setText("MUC");
- textTo.setText("NYC");
- textDate.setText("30-Jul-2008");
- textSeats.setText("2");
+ sampleRemoteService = (AirticketServiceAsync)GWT.create(AirticketService.class);
+ ServiceDefTarget endpoint = (ServiceDefTarget)sampleRemoteService;
+ String moduleRelativeURL = GWT.getModuleBaseURL() + "airticketService";
+ endpoint.setServiceEntryPoint(moduleRelativeURL);
- setupSubmitListener();
+ buttonSubmitRequest.addClickListener(new MyClickListener());
+ buttonSubmitOrder.addClickListener(new MyClickListener());
+ buttonSubmitConfirm.addClickListener(new MyClickListener());
- RootPanel.get("bpmLogo").add(logoImage);
- RootPanel.get("labelMessage").add(labelMessage);
- RootPanel.get("labelState").add(labelState);
- RootPanel.get("labelName").add(labelName);
- RootPanel.get("labelFrom").add(labelFrom);
- RootPanel.get("labelTo").add(labelTo);
- RootPanel.get("labelDate").add(labelDate);
- RootPanel.get("labelSeats").add(labelSeats);
- RootPanel.get("textName").add(textName);
- RootPanel.get("textFrom").add(textFrom);
- RootPanel.get("textTo").add(textTo);
- RootPanel.get("textDate").add(textDate);
- RootPanel.get("textSeats").add(textSeats);
- RootPanel.get("buttonSubmit").add(buttonSubmit);
- RootPanel.get("buttonPull").add(buttonPull);
+ Panel panel = getRequestPanel();
+ RootPanel.get("gwtPanel").add(panel);
+ RootPanel.get("gwtMessage").add(labelMessage);
+
+ initRequestPanel(getDefaultData());
}
- private void setupSubmitListener()
+ private GwtMessage getDefaultData()
{
- buttonSubmit.addClickListener(new ClickListener()
+ GwtMessage gwtMsg = new GwtMessage();
+ gwtMsg.name = "Kermit";
+ gwtMsg.from = "MUC";
+ gwtMsg.to = "NYC";
+ gwtMsg.date = "30-Oct-2008";
+ gwtMsg.seats = "2";
+ return gwtMsg;
+ }
+
+ private Panel getRequestPanel()
+ {
+ DockPanel panel = new DockPanel();
+ Grid grid = new Grid(5, 2);
+ grid.setWidget(0, 0, labelName);
+ grid.setWidget(0, 1, textName);
+ grid.setWidget(1, 0, labelFrom);
+ grid.setWidget(1, 1, textFrom);
+ grid.setWidget(2, 0, labelTo);
+ grid.setWidget(2, 1, textTo);
+ grid.setWidget(3, 0, labelDate);
+ grid.setWidget(3, 1, textDate);
+ grid.setWidget(4, 0, labelSeats);
+ grid.setWidget(4, 1, textSeats);
+ panel.add(grid, DockPanel.CENTER);
+ panel.add(buttonSubmitRequest, DockPanel.SOUTH);
+ return panel;
+ }
+
+ private void initRequestPanel(GwtMessage gwtMsg)
+ {
+ textName.setText(gwtMsg.name);
+ textFrom.setText(gwtMsg.from);
+ textTo.setText(gwtMsg.to);
+ textDate.setText(gwtMsg.date);
+ textSeats.setText(gwtMsg.seats);
+ }
+
+ private Panel getOfferPanel()
+ {
+ DockPanel panel = new DockPanel();
+ Grid grid = new Grid(9, 2);
+ grid.setWidget(0, 0, labelName);
+ grid.setWidget(0, 1, labelNameRO);
+ grid.setWidget(1, 0, labelFrom);
+ grid.setWidget(1, 1, labelFromRO);
+ grid.setWidget(2, 0, labelTo);
+ grid.setWidget(2, 1, labelToRO);
+ grid.setWidget(3, 0, labelDate);
+ grid.setWidget(3, 1, labelDateRO);
+ grid.setWidget(4, 0, labelSeats);
+ grid.setWidget(4, 1, labelSeatsRO);
+ grid.setWidget(5, 0, labelPrice);
+ grid.setWidget(5, 1, labelPriceRO);
+ grid.setWidget(6, 0, labelCreditCard);
+ grid.setWidget(6, 1, textCreditCard);
+ grid.setWidget(7, 0, labelExpire);
+ grid.setWidget(7, 1, textExpire);
+ grid.setWidget(8, 0, labelAccept);
+ grid.setWidget(8, 1, checkAccept);
+ panel.add(grid, DockPanel.CENTER);
+ panel.add(buttonSubmitOrder, DockPanel.SOUTH);
+ return panel;
+ }
+
+ private void initOfferPanel(OfferMessage gwtMsg)
+ {
+ labelNameRO.setText(gwtMsg.name);
+ labelFromRO.setText(gwtMsg.from);
+ labelToRO.setText(gwtMsg.to);
+ labelDateRO.setText(gwtMsg.date);
+ labelSeatsRO.setText(gwtMsg.seats);
+ labelPriceRO.setText(gwtMsg.price);
+
+ textCreditCard.setText("1234-1234-1234-1234");
+ textExpire.setText("30-Jul-2012");
+ checkAccept.setChecked(true);
+ }
+
+ private Panel getConfirmPanel()
+ {
+ DockPanel panel = new DockPanel();
+ Grid grid = new Grid(6, 2);
+ grid.setWidget(0, 0, labelName);
+ grid.setWidget(0, 1, labelNameRO);
+ grid.setWidget(1, 0, labelFrom);
+ grid.setWidget(1, 1, labelFromRO);
+ grid.setWidget(2, 0, labelTo);
+ grid.setWidget(2, 1, labelToRO);
+ grid.setWidget(3, 0, labelDate);
+ grid.setWidget(3, 1, labelDateRO);
+ grid.setWidget(4, 0, labelSeats);
+ grid.setWidget(4, 1, labelSeatsRO);
+ grid.setWidget(5, 0, labelPrice);
+ grid.setWidget(5, 1, labelPriceRO);
+ panel.add(grid, DockPanel.CENTER);
+ panel.add(buttonSubmitConfirm, DockPanel.SOUTH);
+ return panel;
+ }
+
+ private void initConfirmPanel(ConfirmMessage gwtMsg)
+ {
+ labelNameRO.setText(gwtMsg.name);
+ labelFromRO.setText(gwtMsg.from);
+ labelToRO.setText(gwtMsg.to);
+ labelDateRO.setText(gwtMsg.date);
+ labelSeatsRO.setText(gwtMsg.seats);
+ labelPriceRO.setText(gwtMsg.price);
+ }
+
+ private void setVisiblePanel(Panel panel)
+ {
+ RootPanel.get("gwtPanel").remove(0);
+ RootPanel.get("gwtPanel").add(panel);
+ }
+
+ class MyClickListener implements ClickListener
+ {
+ public void onClick(Widget sender)
{
- public void onClick(Widget sender)
+ if (sender == buttonSubmitRequest)
{
- AirticketServiceAsync sampleRemoteService = (AirticketServiceAsync)GWT.create(AirticketService.class);
- ServiceDefTarget endpoint = (ServiceDefTarget)sampleRemoteService;
- String moduleRelativeURL = GWT.getModuleBaseURL() + "airticketService";
- endpoint.setServiceEntryPoint(moduleRelativeURL);
-
- final String state = labelState.getText();
- AsyncCallback callback = new AsyncCallback()
+ RequestMessage gwtMsg = new RequestMessage();
+ gwtMsg.name = textName.getText();
+ gwtMsg.from = textFrom.getText();
+ gwtMsg.to = textTo.getText();
+ gwtMsg.date = textDate.getText();
+ gwtMsg.seats = textSeats.getText();
+ sampleRemoteService.sendMessage(gwtMsg, new MessageCallback());
+ }
+ if (sender == buttonSubmitOrder)
+ {
+ OrderMessage gwtMsg = new OrderMessage();
+ gwtMsg.creditCard = textCreditCard.getText();
+ gwtMsg.expire = textExpire.getText();
+ if (gwtMsg.acceptOffer = checkAccept.isChecked())
{
- public void onSuccess(Object result)
- {
- if (state.equals("SendRequest"))
- {
- textName.setReadOnly(true);
- textFrom.setReadOnly(true);
- textTo.setReadOnly(true);
- textDate.setReadOnly(true);
- textSeats.setReadOnly(true);
- }
- }
+ sampleRemoteService.sendMessage(gwtMsg, new MessageCallback());
+ }
+ else
+ {
+ setVisiblePanel(getRequestPanel());
+ labelMessage.setText(null);
+ }
+ }
+ if (sender == buttonSubmitConfirm)
+ {
+ setVisiblePanel(getRequestPanel());
+ initRequestPanel(getDefaultData());
+ labelMessage.setText(null);
+ }
+ }
+ }
- public void onFailure(Throwable caught)
- {
- labelMessage.setText("Error: " + caught.getMessage());
- }
- };
-
- String name = textName.getText();
- String from = textFrom.getText();
- String to = textTo.getText();
- String date = textDate.getText();
- String seats = textSeats.getText();
-
- if (state.equals("SendRequest"))
+ class MessageCallback implements AsyncCallback
+ {
+ public void onSuccess(Object result)
+ {
+ sampleRemoteService.getMessage(this);
+ if (result instanceof GwtMessage)
+ {
+ if (result instanceof OfferMessage)
{
- sampleRemoteService.sendUserRequest(name, from , to, date, seats, callback);
+ labelMessage.setText("Airline Offer");
+ setVisiblePanel(getOfferPanel());
+ initOfferPanel((OfferMessage)result);
}
+ else if (result instanceof ConfirmMessage)
+ {
+ labelMessage.setText("Order Confirmation");
+ setVisiblePanel(getConfirmPanel());
+ initConfirmPanel((ConfirmMessage)result);
+ }
+ else if (result instanceof InvalidDataMessage)
+ {
+ labelMessage.setText("Invalid Request Data");
+ }
+ else if (result instanceof NotAvailableMessage)
+ {
+ labelMessage.setText("Seats not Available");
+ }
+ else
+ {
+ throw new IllegalStateException("Not Implemented: " + result);
+ }
}
- });
+ }
+
+ public void onFailure(Throwable caught)
+ {
+ labelMessage.setText("Error: " + caught.getMessage());
+ }
}
}
Modified: jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/resources/org/jboss/bpm/samples/airticket/public/Application.html
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/resources/org/jboss/bpm/samples/airticket/public/Application.html 2008-07-30 19:18:44 UTC (rev 1778)
+++ jbossbpm/spec/trunk/modules/samples/airticket/client/src/main/resources/org/jboss/bpm/samples/airticket/public/Application.html 2008-07-30 19:18:52 UTC (rev 1779)
@@ -29,39 +29,15 @@
<iframe src="javascript:''" id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
<table align=center>
<tr>
- <td id="bpmLogo"></td>
+ <td id="gwtLogo"></td>
<td><h2>JBossBPM - AirTicket Sample</h2></td>
</tr>
<tr>
- <td colspan="2" id="labelMessage"></td>
+ <td colspan="2" id="gwtMessage"></td>
</tr>
<tr>
- <td colspan="2" id="labelState"></td>
+ <td colspan="2" id="gwtPanel"></td>
</tr>
- <tr>
- <td id="labelName"></td>
- <td id="textName"></td>
- </tr>
- <tr>
- <td id="labelFrom"></td>
- <td id="textFrom"></td>
- </tr>
- <tr>
- <td id="labelTo"></td>
- <td id="textTo"></td>
- </tr>
- <tr>
- <td id="labelDate"></td>
- <td id="textDate"></td>
- </tr>
- <tr>
- <td id="labelSeats"></td>
- <td id="textSeats"></td>
- </tr>
- <tr align="center">
- <td id="buttonSubmit"></td>
- <td id="buttonPull"></td>
- </tr>
</table>
</body>
</html>
More information about the jbpm-commits
mailing list