[jbpm-commits] JBoss JBPM SVN: r4556 - in projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client: v2 and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Apr 15 08:43:05 EDT 2009


Author: heiko.braun at jboss.com
Date: 2009-04-15 08:43:05 -0400 (Wed, 15 Apr 2009)
New Revision: 4556

Added:
   projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/
   projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java
Modified:
   projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java
   projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java
   projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java
   projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java
Log:
Added bootstrap event: authentication, config, urlBuilder

Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java	2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java	2009-04-15 12:43:05 UTC (rev 4556)
@@ -40,6 +40,7 @@
  */
 public class MainView extends Composite implements ApplicationContext
 {
+  
   private HTML status = new HTML();
   private Header header;
   private Menu menu;

Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java	2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java	2009-04-15 12:43:05 UTC (rev 4556)
@@ -41,6 +41,7 @@
 import org.jboss.bpm.console.client.Authentication;
 import org.jboss.bpm.console.client.ConsoleConfig;
 import org.jboss.bpm.console.client.URLBuilder;
+import org.jboss.bpm.console.client.v2.events.BootstrapEvent;
 import org.jboss.bpm.console.client.util.ConsoleLog;
 
 /**
@@ -149,7 +150,9 @@
                 window.hide();
 
                 // assemble main view                
-                controller.handleEvent( new Event("loginSuccessful", auth) );
+                controller.handleEvent( new Event("loginSuccessful",
+                    new BootstrapEvent(auth, urlBuilder, config)) 
+                );
               }
 
               public void onLoginFailed(Request request, Throwable t)

Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java	2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java	2009-04-15 12:43:05 UTC (rev 4556)
@@ -21,18 +21,193 @@
  */
 package org.jboss.bpm.console.client.v2;
 
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.RootPanel;
 import com.mvc4g.client.ViewInterface;
 import com.mvc4g.client.Controller;
+import org.gwt.mosaic.ui.client.MessageBox;
+import org.gwt.mosaic.ui.client.Viewport;
+import org.gwt.mosaic.ui.client.layout.BorderLayout;
+import static org.gwt.mosaic.ui.client.layout.BorderLayout.Region;
+import org.gwt.mosaic.ui.client.layout.BorderLayoutData;
+import org.gwt.mosaic.ui.client.layout.LayoutPanel;
+import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.*;
 
 /**
+ * The main composite that assembles the gwt console application.
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
-public class MainView implements ViewInterface
+public class MainView extends Composite implements ApplicationContext, ViewInterface
 {
+  
+  public final static String NAME = "mainView";
+
+  private HTML status = new HTML();
+  private Header header;
+  private Menu menu;
+  private Workspace workspace;
+
+  private URLBuilder urlBuilder;
+  private Authentication auth;
+
+  private ConsoleConfig config;
+
   private Controller controller;
 
+  private boolean isInitialized;
+
+  public void init(Authentication auth, URLBuilder urlBuilder, ConsoleConfig config)
+  {
+    this.auth = auth;
+    this.config = config;
+    this.urlBuilder = urlBuilder;
+
+    isInitialized = true;
+  }
+
+  public void display()
+  {
+    if(!isInitialized)
+      throw new IllegalStateException("Not initalized");
+    
+    Viewport viewport = new Viewport();
+
+    LayoutPanel layout = createLayout();
+    viewport.add(layout);
+
+    RootPanel.get().add(viewport);
+  }
+  
   public void setController(Controller controller)
   {
     this.controller = controller;
   }
+
+  private LayoutPanel createLayout()
+  {
+    final LayoutPanel layoutPanel = new LayoutPanel(new BorderLayout());
+
+    // header
+    header = new Header(this, auth.getUsername(), auth.getRolesAssigned());
+    layoutPanel.add(header, new BorderLayoutData(Region.NORTH, 50));
+
+    // menu
+    menu = new Menu(this);
+    layoutPanel.add(menu, new BorderLayoutData(Region.WEST, 200));
+
+    // workspace
+    workspace = createWorkspace(layoutPanel);
+    layoutPanel.add(workspace, new BorderLayoutData(Region.CENTER, false));
+
+    //layoutPanel.add(b2, new BorderLayoutData(Region.SOUTH, 10, 200));
+    //layoutPanel.add(b3, new BorderLayoutData(Region.EAST, 10, 200));
+
+    return layoutPanel;
+  }
+
+  private Workspace createWorkspace(LayoutPanel layoutPanel)
+  {
+    Workspace workspace = new Workspace(menu);
+    WorkspaceLauncher launcher = GWT.create(WorkspaceLauncher.class);
+    launcher.launch(this, workspace);
+    return workspace;
+  }
+
+  /*private Panel createMainPanel()
+  {
+    Panel mainPanel = new Panel();
+    mainPanel.setBorder(false);
+    mainPanel.setPaddings(5); // outer most padding
+    mainPanel.setLayout(new FitLayout());
+    mainPanel.setWidth(UIConstants.OVERALL_WIDTH);
+    mainPanel.setHeight(UIConstants.OVERALL_WIDTH);
+    mainPanel.setAutoWidth(false);
+    return mainPanel;
+  }
+
+  private void assembleMainApplication(Panel mainPanel)
+  {
+    Panel borderPanel = new Panel();
+    borderPanel.setBorder(false);
+    borderPanel.setLayout(new BorderLayout());
+
+    // ------------------------------------------
+
+    header = new Header(this);
+    borderPanel.add(header, new BorderLayoutData(RegionPosition.NORTH));
+    header.setUserInfo(auth.getUsername(), auth.getRolesAssigned());
+
+    // ------------------------------------------
+
+    menu = new Menu(this);
+    BorderLayoutData menuData = new BorderLayoutData(RegionPosition.WEST);
+    menuData.setSplit(false);
+    menuData.setMinSize(UIConstants.MAIN_MENU_MIN);
+    menuData.setMaxSize(UIConstants.MAIN_MENU_MAX);
+    menuData.setMargins(new Margins(0, 5, 0, 0));
+    borderPanel.add(menu, menuData);
+
+    // ------------------------------------------
+
+    workspace = new Workspace(menu);
+    WorkspaceLauncher launcher = GWT.create(WorkspaceLauncher.class);
+    launcher.launch(this, workspace);
+
+    borderPanel.add(workspace, new BorderLayoutData(RegionPosition.CENTER));
+
+    // ------------------------------------------
+
+    mainPanel.add(borderPanel);
+  }  */
+
+  public void addEditor(Editor editor)
+  {
+    ConsoleLog.debug("Add editor " + editor.getEditorId());
+    workspace.addEditor(editor, true);
+  }
+
+  public boolean hasEditor(String id)
+  {
+    return workspace.hasEditor(id);
+  }
+
+  public void showEditor(String id)
+  {
+    workspace.showEditor(id);
+  }
+
+  public URLBuilder getUrlBuilder()
+  {
+    return this.urlBuilder;
+  }
+
+  public void displayMessage(final String message, final boolean isError)
+  {
+    status.setText(message);
+
+    if(isError)
+      MessageBox.error("Error", message);
+    else
+      MessageBox.alert("Alert", message);
+  }
+
+  public Authentication getAuthentication()
+  {
+    return auth;
+  }
+
+  public ConsoleConfig getConfig()
+  {
+    return config;
+  }
+
+  public Workspace getWorkpace()
+  {
+    return workspace;
+  }
 }
+

Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java	2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java	2009-04-15 12:43:05 UTC (rev 4556)
@@ -23,6 +23,7 @@
 
 import com.mvc4g.client.ActionInterface;
 import com.mvc4g.client.Controller;
+import org.jboss.bpm.console.client.v2.events.BootstrapEvent;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
@@ -31,6 +32,14 @@
 {
   public void execute(Controller controller, Object object)
   {
-    System.out.println("MainViewAction:" + object);
+    BootstrapEvent bootstrap = (BootstrapEvent)object;
+    MainView mainView = (MainView)controller.getView(MainView.NAME);
+    mainView.init(
+        bootstrap.getAuth(),
+        bootstrap.getUrlBuilder(),
+        bootstrap.getConfig()
+    );
+
+    mainView.display();
   }
 }

Added: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java	                        (rev 0)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java	2009-04-15 12:43:05 UTC (rev 4556)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.console.client.v2.events;
+
+import org.jboss.bpm.console.client.Authentication;
+import org.jboss.bpm.console.client.URLBuilder;
+import org.jboss.bpm.console.client.ConsoleConfig;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public final class BootstrapEvent
+{
+  Authentication auth;
+  URLBuilder urlBuilder;
+  ConsoleConfig config;
+
+  public BootstrapEvent(Authentication auth, URLBuilder urlBuilder, ConsoleConfig config)
+  {
+    this.auth = auth;
+    this.urlBuilder = urlBuilder;
+    this.config = config;
+  }
+
+  public Authentication getAuth()
+  {
+    return auth;
+  }
+
+  public URLBuilder getUrlBuilder()
+  {
+    return urlBuilder;
+  }
+
+  public ConsoleConfig getConfig()
+  {
+    return config;
+  }
+}




More information about the jbpm-commits mailing list