[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