[jbpm-commits] JBoss JBPM SVN: r3194 - in projects/gwt-console/trunk/war/src: main/java/org/jboss/bpm/console/client/process and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Dec 4 05:06:02 EST 2008


Author: heiko.braun at jboss.com
Date: 2008-12-04 05:06:02 -0500 (Thu, 04 Dec 2008)
New Revision: 3194

Modified:
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/Editor.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionListEditor.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/ModelListenerRegistry.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
   projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestProcessManagement.java
Log:
Fire reset model events when remote list view changes

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/Editor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/Editor.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/Editor.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -30,11 +30,9 @@
  */
 public abstract class Editor extends Panel
 {
-
    protected Editor()
    {
-      super();
-      
+      super();      
    }
 
    public abstract String getEditorId();

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -32,6 +32,7 @@
 import org.jboss.bpm.console.client.MainView;
 import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
 import org.jboss.bpm.console.client.widgets.RemoteListView;
+import org.jboss.bpm.console.client.widgets.ModelModificationCallback;
 
 import java.util.*;
 
@@ -42,9 +43,9 @@
 {
    private Map<Integer, ProcessDefinitionRef> row2ProcessMap = new HashMap<Integer, ProcessDefinitionRef>();
 
-   public ProcessDefinitionList(String titleName, final MainView view)
+   public ProcessDefinitionList(ModelModificationCallback callback, String titleName, final MainView view)
    {
-      super(titleName, view, getResourceUrl(view));
+      super(callback, titleName, view, getResourceUrl(view));
       enableAddBtn(false);
       final RowSelectionModel sm = new RowSelectionModel(true);
       setRowSelectionModel(sm);      
@@ -125,7 +126,7 @@
 
                              public void onResponseReceived(Request request, Response response)
                              {
-                                reloadStore();
+                                modelModificationCallback.onStaleModel();
                              }
 
                              public void onError(Request request, Throwable t)

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionListEditor.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionListEditor.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -21,11 +21,12 @@
  */
 package org.jboss.bpm.console.client.process;
 
-import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.core.client.GWT;
 import com.gwtext.client.core.Connection;
 import com.gwtext.client.core.EventObject;
-import com.gwtext.client.widgets.*;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.MessageBox;
+import com.gwtext.client.widgets.Panel;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.form.Form;
 import com.gwtext.client.widgets.form.FormPanel;
@@ -33,19 +34,17 @@
 import com.gwtext.client.widgets.form.event.FormListenerAdapter;
 import com.gwtext.client.widgets.layout.ColumnLayout;
 import com.gwtext.client.widgets.layout.ColumnLayoutData;
-import com.gwtext.client.widgets.layout.VerticalLayout;
-import org.jboss.bpm.console.client.util.ConsoleLog;
-import org.jboss.bpm.console.client.MainView;
 import org.jboss.bpm.console.client.Editor;
+import org.jboss.bpm.console.client.MainView;
 import org.jboss.bpm.console.client.UIConstants;
-import org.jboss.bpm.console.client.metric.MetricOverviewEditor;
 import org.jboss.bpm.console.client.model.DAOFactory;
 import org.jboss.bpm.console.client.model.HelpDAO;
-import org.jboss.bpm.console.client.widgets.*;
+import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.widgets.HelpPanel;
+import org.jboss.bpm.console.client.widgets.ModelListenerRegistry;
+import org.jboss.bpm.console.client.widgets.ModelModificationCallback;
+import org.jboss.bpm.console.client.widgets.TeaserPanel;
 
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
@@ -54,10 +53,9 @@
    public final static String ID = "org.jboss.bpm.process.ProcessDefinitionListEditor";
 
    private ProcessDefinitionList processDefinitionList;
-
    private MainView view;
-
    private Panel teaserPanel;
+   private ModelListenerRegistry modelListeners = new ModelListenerRegistry();
 
    public ProcessDefinitionListEditor(final MainView view)
    {
@@ -74,12 +72,26 @@
       final Panel leftHand = new Panel();
       leftHand.setFrame(false);
       leftHand.setHeader(false);
-      leftHand.setBorder(false);      
-      
-      processDefinitionList = new ProcessDefinitionList("Process Definitions", view);
+      leftHand.setBorder(false);
 
       // ----------------------------------
+            
+      final ModelModificationCallback modelModificationCallback = new ModelModificationCallback()
+      {
+         public void onStaleModel()
+         {
+            resetEditor();
+         }
+      };
 
+      // ----------------------------------
+
+      processDefinitionList = new ProcessDefinitionList(
+            modelModificationCallback, "Process Definitions", view
+      );
+
+      // ----------------------------------
+
       Panel outerFormPanel = new Panel();
       outerFormPanel.setBorder(false);
       outerFormPanel.setPaddings(10);
@@ -107,6 +119,7 @@
          }
       });      
       formPanel.addButton(uploadButton);
+      
       formPanel.getForm().addListener(
         new FormListenerAdapter()
         {
@@ -147,59 +160,6 @@
 
       // ----------------------------------
 
-      // TODO: introduce abstractions and integrate with DAO
-      Map chartValues = new HashMap();
-      chartValues.put("1", new Double(0.65));
-      chartValues.put("2", new Double(0.20));
-      chartValues.put("3", new Double(0.10));
-      chartValues.put("4", new Double(0.5));
-
-      PieChart pieChart = new PieChart(180, 120, "", chartValues);
-      Panel metricPanel = new Panel("Most active process", 200, 300);
-      metricPanel.setLayout(new VerticalLayout());
-      metricPanel.setIconCls("bpm-metric-icon");
-
-      metricPanel.add(pieChart);
-      HTML legend = new HTML(
-        "<ol class='piechart-types'>" +
-          "<li>1. Order Process" +
-          "<li>2. Loan application" +
-          "<li>3. Expense claim" +
-          "<li>4. Credit approval" +
-          "</ol>"
-      );
-      Panel legendPanel = new Panel();
-      legendPanel.setBorder(false);
-      legendPanel.setFrame(false);
-      legendPanel.setHideBorders(true);
-      legendPanel.setPaddings(5);
-      legendPanel.add(legend);
-      metricPanel.add(legendPanel);
-
-      // toolbar
-
-      Toolbar bottomToolbar = new Toolbar();
-      bottomToolbar.addFill();
-      bottomToolbar.addButton(
-        new ToolbarButton("More metrics", new ButtonListenerAdapter() {
-           public void onClick(Button button, EventObject e)
-           {
-              if(view.hasEditor(MetricOverviewEditor.ID))
-              {
-                 view.showEditor(MetricOverviewEditor.ID);
-              }
-              else
-              {
-                 view.addEditor( new MetricOverviewEditor(view) );
-              }
-           }
-        })
-      );
-
-      metricPanel.setBottomToolbar(bottomToolbar);
-
-      // ----------------------------------
-
       HelpPanel help = new HelpPanel(UIConstants.TEASER_PANEL_WIDTH, 180, "About process definitions");
       help.setContent( DAOFactory.createHelpDAO().getHelpByReference(HelpDAO.REF_PROCESS_DEFINITIONS));
 
@@ -207,19 +167,17 @@
 
       teaserPanel = new TeaserPanel();
       teaserPanel.add(help);
-      teaserPanel.add(metricPanel);
 
       // ----------------------------------
 
       leftHand.add(processDefinitionList);
       leftHand.add(outerFormPanel);            
-      
+
+      // ----------------------------------
+
       this.add(leftHand, new ColumnLayoutData(0.7) );
       this.add(teaserPanel , new ColumnLayoutData(0.3) );
 
-      // init gchart
-      pieChart.update();
-
    }
 
 
@@ -242,4 +200,10 @@
    {
       return processDefinitionList;
    }
+
+   public void resetEditor()
+   {
+      processDefinitionList.reloadStore();
+      modelListeners.fireResetEvent();
+   }
 }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -37,6 +37,7 @@
 import org.jboss.bpm.console.client.model.ProcessInstanceRef;
 import org.jboss.bpm.console.client.model.DTOParser;
 import org.jboss.bpm.console.client.widgets.RemoteListView;
+import org.jboss.bpm.console.client.widgets.ModelModificationCallback;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -48,11 +49,11 @@
 {
 
    private Map<Integer, ProcessInstanceRef> row2InstanceMap = new HashMap<Integer, ProcessInstanceRef>();
-   private ProcessDefinitionRef parent; 
+   private ProcessDefinitionRef parent;
    
-   public ProcessInstanceList(ProcessDefinitionRef procDef, String titleName, MainView view)
+   public ProcessInstanceList(ModelModificationCallback callback, ProcessDefinitionRef procDef, String titleName, MainView view)
    {
-      super(titleName, view, getResourceUrl(view, procDef.getProcessId()));
+      super(callback,titleName, view, getResourceUrl(view, procDef.getProcessId()));
       this.parent = procDef;
    }
 
@@ -95,7 +96,7 @@
 
                              public void onResponseReceived(Request request, Response response)
                              {
-                                reloadStore();
+                                modelModificationCallback.onStaleModel();
                              }
 
                              public void onError(Request request, Throwable t)
@@ -145,7 +146,7 @@
                                 }
                                 else
                                 {
-                                 reloadStore();
+                                 modelModificationCallback.onStaleModel();
                                  doLayout();
                                 }
                              }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -57,7 +57,7 @@
 
    private TabPanel tabPanel;
 
-   private ModelListenerRegistry modelListeners;
+   private ModelListenerRegistry modelListeners = new ModelListenerRegistry();
    private ModelModificationCallback modelModificationCallback;
 
    public ProcessInstanceListEditor(ProcessDefinitionRef proc, final MainView view)
@@ -75,17 +75,21 @@
 
       // ---------------
 
-      this.modelListeners = new ModelListenerRegistry(this);
-
-      // ---------------
-
       Panel leftHand = new Panel();
       leftHand.setFrame(false);
       leftHand.setHeader(false);
       leftHand.setBorder(false);
 
-      instanceList = new ProcessInstanceList(proc, "Process Instances", view);
+      modelModificationCallback = new ModelModificationCallback()
+      {
+         public void onStaleModel()
+         {
+            resetEditor();
+         }
+      };
 
+      instanceList = new ProcessInstanceList(modelModificationCallback, proc, "Process Instances", view);
+
       // ---------------
 
       tabPanel = new TabPanel();
@@ -98,13 +102,7 @@
 
       // ----------------------------------------
 
-      modelModificationCallback = new ModelModificationCallback()
-      {
-         public void onStaleModel()
-         {
-            resetEditor();
-         }
-      };
+
       detailsForm = new ProcessInstanceDetailForm(view, modelModificationCallback);
       modelListeners.addListener( (ModelChangeListener) detailsForm);
 

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -116,8 +116,7 @@
 
 
    public void onModelChange(ModelListenerRegistry parent, Object changeEvent)
-   {
-      TaskListEditor editor = (TaskListEditor)parent.getUnderlying();
+   {      
       selectedInstance= (TaskRef)changeEvent;
       availableActors = null;
 
@@ -231,6 +230,7 @@
 
    public void onReset()
    {
-      formPanel.getForm().reset();
+      Form form = formPanel.getForm();      
+      form.reset();
    }
 }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -229,8 +229,7 @@
 
 
    public void onRecordChange(ModelListenerRegistry parent, Record changeEvent)
-   {
-      TaskListEditor editor = (TaskListEditor)parent.getUnderlying();
+   {      
       selectedInstance = TaskList.transform(changeEvent);
 
       Form form = formPanel.getForm();

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -35,6 +35,7 @@
 import com.gwtext.client.widgets.grid.event.GridCellListener;
 import org.jboss.bpm.console.client.MainView;
 import org.jboss.bpm.console.client.UIConstants;
+import org.jboss.bpm.console.client.widgets.ModelModificationCallback;
 import org.jboss.bpm.console.client.model.DTOParser;
 import org.jboss.bpm.console.client.model.TaskRef;
 
@@ -55,10 +56,13 @@
    public static final int PAGE_SIZE = 15;
    private int selectedRowIndex = -1;
 
-   public TaskList(String titleName, final MainView view)
+   private ModelModificationCallback modelModificationCallback;
+
+   public TaskList(ModelModificationCallback callback, String titleName, final MainView view)
    {
       this.mainView = view;
       this.title = titleName;
+      this.modelModificationCallback = callback;
 
       this.setPaddings(10);
       this.setHeader(false);
@@ -86,7 +90,7 @@
             {
                public boolean doBeforeRender(Component component)
                {
-                  reloadStore();
+                  modelModificationCallback.onStaleModel();
                   return true;
                }
             }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -38,6 +38,7 @@
 import org.jboss.bpm.console.client.widgets.ModelChangeListener;
 import org.jboss.bpm.console.client.widgets.ModelListenerRegistry;
 import org.jboss.bpm.console.client.widgets.TeaserPanel;
+import org.jboss.bpm.console.client.widgets.ModelModificationCallback;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
@@ -52,7 +53,7 @@
    private boolean initialized;
    private TabPanel tabPanel;
 
-   private ModelListenerRegistry modelListeners;
+   private ModelListenerRegistry modelListeners =new ModelListenerRegistry();
 
    public TaskListEditor(MainView mainView)
    {
@@ -60,8 +61,6 @@
       this.setId(ID);
       this.mainView = mainView;
 
-      this.modelListeners = new ModelListenerRegistry(this);
-
       this.setLayout( new ColumnLayout() );
       this.setWidth(UIConstants.EDITOR_WIDTH);
 
@@ -117,7 +116,16 @@
 
          // ----------------------------------
 
-         taskList = new TaskList("Task overview", mainView);
+         ModelModificationCallback modelModificationCallback = new ModelModificationCallback()
+         {
+
+            public void onStaleModel()
+            {
+               resetEditor();
+            }
+         };
+         
+         taskList = new TaskList(modelModificationCallback, "Task overview", mainView);
          final RowSelectionModel sm = new RowSelectionModel(true);
          sm.addListener(
                new RowSelectionListenerAdapter()
@@ -165,13 +173,19 @@
       return true;
    }
 
-   public void onAssignmentDone()
+   private void resetEditor()
    {
       taskList.reloadStore();
+      modelListeners.fireResetEvent();
    }
 
+   public void onAssignmentDone()
+   {
+      resetEditor();
+   }
+
    public void onTaskEnd()
    {
-      taskList.reloadStore();
+      resetEditor();
    }
 }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/ModelListenerRegistry.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/ModelListenerRegistry.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/ModelListenerRegistry.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -34,14 +34,7 @@
 public class ModelListenerRegistry
 {
    private List<ModelChangeListener> listeners = new ArrayList<ModelChangeListener>();
-
-   private Object underlying;
-
-   public ModelListenerRegistry(Object underlying)
-   {
-      this.underlying = underlying;
-   }
-
+   
    public void addListener(ModelChangeListener listener)
    {
       this.listeners.add(listener);
@@ -70,9 +63,4 @@
          l.onReset();
       }
    }
-
-   public Object getUnderlying()
-   {
-      return underlying;
-   }
 }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -66,10 +66,13 @@
 
    protected String resourceUrl;
 
-   public RemoteListView(String titleName, MainView view, String resourceUrl)
+   protected ModelModificationCallback modelModificationCallback;
+
+   public RemoteListView(ModelModificationCallback callback, String titleName, MainView view, String resourceUrl)
    {
       super();
 
+      this.modelModificationCallback = callback;
       this.title = titleName;
       this.view = view;
       this.resourceUrl = resourceUrl;
@@ -97,7 +100,7 @@
       {
          public boolean doBeforeRender(Component component)
          {
-            reloadStore();
+            modelModificationCallback.onStaleModel();
             return true;
          }
       }
@@ -238,6 +241,7 @@
       public void onLoad(Store store, Record[] records)
       {
 
+         
          onRecordsLoaded(records);
 
          grid = assembleGrid();

Modified: projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestProcessManagement.java
===================================================================
--- projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestProcessManagement.java	2008-12-04 09:30:45 UTC (rev 3193)
+++ projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestProcessManagement.java	2008-12-04 10:06:02 UTC (rev 3194)
@@ -127,8 +127,8 @@
       public void run()
       {
          ProcessDefinitionListEditor editor = (ProcessDefinitionListEditor) context.get("editor");
+         editor.resetEditor();
          ProcessDefinitionList list = editor.getProcessDefinitionList();
-         list.reloadStore(); // trigger async load operation         
          proceedOrFinish();
       }
    }




More information about the jbpm-commits mailing list