[jbpm-commits] JBoss JBPM SVN: r4595 - in projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client: process and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Apr 21 11:02:50 EDT 2009
Author: heiko.braun at jboss.com
Date: 2009-04-21 11:02:50 -0400 (Tue, 21 Apr 2009)
New Revision: 4595
Modified:
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/common/AbstractDataRequestAction.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadDefinitionsAction.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadInstancesAction.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java
Log:
lazy init InstanceListView
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/common/AbstractDataRequestAction.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/common/AbstractDataRequestAction.java 2009-04-21 14:41:11 UTC (rev 4594)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/common/AbstractDataRequestAction.java 2009-04-21 15:02:50 UTC (rev 4595)
@@ -42,10 +42,10 @@
this.appContext = appContetext;
}
- abstract String getId();
- abstract String getUrl(Object event);
- abstract RequestBuilder.Method getRequestMethod();
- abstract void handleSuccessfulResponse(final Controller controller, final Object event, Response response);
+ public abstract String getId();
+ public abstract String getUrl(Object event);
+ public abstract RequestBuilder.Method getRequestMethod();
+ public abstract void handleSuccessfulResponse(final Controller controller, final Object event, Response response);
public void execute(final Controller controller, final Object object)
{
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java 2009-04-21 14:41:11 UTC (rev 4594)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java 2009-04-21 15:02:50 UTC (rev 4595)
@@ -36,13 +36,15 @@
import org.gwt.mosaic.ui.client.list.DefaultListModel;
import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.v2.LazyPanel;
import java.util.List;
/**
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
-class InstanceListView extends LayoutPanel implements ViewInterface
+class InstanceListView extends LayoutPanel
+ implements ViewInterface, LazyPanel
{
public final static String ID = InstanceListView.class.getName();
@@ -54,116 +56,137 @@
private ProcessDefinitionRef currentDefinition;
+ private boolean isInitialized;
+
+ private List<ProcessInstanceRef> cachedInstances = null;
+
public InstanceListView()
{
super();
setTitle("Process Instances");
- instanceList = new LayoutPanel( new BoxLayout(BoxLayout.Orientation.VERTICAL));
- instanceList.setPadding(0);
- instanceList.setWidgetSpacing(0);
+ }
- listBox =
- new ListBox<ProcessInstanceRef>(
- new String[] {
- "Instance ID", "State", "Start Date"}
- );
+ public boolean isInitialized()
+ {
+ return isInitialized;
+ }
+ public void initialize()
+ {
+ if(!isInitialized)
+ {
+ instanceList = new LayoutPanel( new BoxLayout(BoxLayout.Orientation.VERTICAL));
+ instanceList.setPadding(0);
+ instanceList.setWidgetSpacing(0);
- listBox.setCellRenderer(new ListBox.CellRenderer<ProcessInstanceRef>() {
- public void renderCell(ListBox<ProcessInstanceRef> listBox, int row, int column,
- ProcessInstanceRef item) {
- switch (column) {
- case 0:
- listBox.setText(row, column, item.getId());
- break;
- case 1:
- listBox.setText(row, column, item.getState().toString());
- break;
- case 2:
- listBox.setText(row, column, item.getStartDate().toString());
- break;
- default:
- throw new RuntimeException("Unexpected column size");
- }
- }
- });
+ listBox =
+ new ListBox<ProcessInstanceRef>(
+ new String[] {
+ "Instance ID", "State", "Start Date"}
+ );
- // toolbar
-
- final LayoutPanel toolBox = new LayoutPanel();
- toolBox.setPadding(0);
- toolBox.setWidgetSpacing(5);
- //toolBox.setLayout(new BoxLayout(BoxLayout.Orientation.VERTICAL));
-
- final ToolBar toolBar = new ToolBar();
- toolBar.add(
- new ToolButton("Refresh", new ClickListener() {
- public void onClick(Widget sender) {
- controller.handleEvent(
- new Event(
- LoadInstancesAction.ID,
- getCurrentDefinition()
- )
- );
+ listBox.setCellRenderer(new ListBox.CellRenderer<ProcessInstanceRef>() {
+ public void renderCell(ListBox<ProcessInstanceRef> listBox, int row, int column,
+ ProcessInstanceRef item) {
+ switch (column) {
+ case 0:
+ listBox.setText(row, column, item.getId());
+ break;
+ case 1:
+ listBox.setText(row, column, item.getState().toString());
+ break;
+ case 2:
+ listBox.setText(row, column, item.getStartDate().toString());
+ break;
+ default:
+ throw new RuntimeException("Unexpected column size");
}
}
- )
- );
+ });
- toolBar.addSeparator();
+ // toolbar
+ final LayoutPanel toolBox = new LayoutPanel();
+ toolBox.setPadding(0);
+ toolBox.setWidgetSpacing(5);
- toolBar.add(
- new ToolButton("Start new instance", new ClickListener()
- {
- public void onClick(Widget sender)
- {
- controller.handleEvent(
- new Event(
- StartNewInstanceAction.ID,
- getCurrentDefinition()
- )
- );
+ final ToolBar toolBar = new ToolBar();
+ toolBar.add(
+ new ToolButton("Refresh", new ClickListener() {
+ public void onClick(Widget sender) {
+ controller.handleEvent(
+ new Event(
+ LoadInstancesAction.ID,
+ getCurrentDefinition()
+ )
+ );
+ }
}
- }
- )
- );
+ )
+ );
- toolBar.addSeparator();
+ toolBar.addSeparator();
- toolBar.add(
- new ToolButton("Cancel execution", new ClickListener()
- {
- public void onClick(Widget sender)
+ toolBar.add(
+ new ToolButton("Start new instance", new ClickListener()
{
- ProcessInstanceRef selection = getSelection();
- if(selection!=null)
+ public void onClick(Widget sender)
{
- selection.setState(ProcessInstanceRef.STATE.ENDED);
-
controller.handleEvent(
new Event(
- StateChangeAction.ID,
- selection
+ StartNewInstanceAction.ID,
+ getCurrentDefinition()
)
);
}
- else
+ }
+ )
+ );
+
+ toolBar.addSeparator();
+
+ toolBar.add(
+ new ToolButton("Cancel execution", new ClickListener()
+ {
+ public void onClick(Widget sender)
{
- MessageBox.alert("Missing selection", "Please select an instance");
+ ProcessInstanceRef selection = getSelection();
+ if(selection!=null)
+ {
+ selection.setState(ProcessInstanceRef.STATE.ENDED);
+
+ controller.handleEvent(
+ new Event(
+ StateChangeAction.ID,
+ selection
+ )
+ );
+ }
+ else
+ {
+ MessageBox.alert("Missing selection", "Please select an instance");
+ }
}
}
- }
- )
- );
+ )
+ );
- toolBox.add(toolBar, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
+ toolBox.add(toolBar, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
- instanceList.add(toolBox, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
- instanceList.add(listBox, new BoxLayoutData(BoxLayoutData.FillStyle.BOTH));
+ instanceList.add(toolBox, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
+ instanceList.add(listBox, new BoxLayoutData(BoxLayoutData.FillStyle.BOTH));
- this.add(instanceList);
-
+ // cached data?
+ if(this.cachedInstances!=null)
+ bindData(this.cachedInstances);
+
+ this.add(instanceList);
+
+
+
+ isInitialized = true;
+
+ }
}
public ProcessInstanceRef getSelection()
@@ -188,7 +211,16 @@
public void update(final ProcessDefinitionRef def, List<ProcessInstanceRef> instances)
{
this.currentDefinition = def;
+ this.cachedInstances = instances;
+ if(isInitialized())
+ {
+ bindData(instances);
+ }
+ }
+
+ private void bindData(List<ProcessInstanceRef> instances)
+ {
final DefaultListModel<ProcessInstanceRef> model =
(DefaultListModel<ProcessInstanceRef>) listBox.getModel();
model.clear();
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadDefinitionsAction.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadDefinitionsAction.java 2009-04-21 14:41:11 UTC (rev 4594)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadDefinitionsAction.java 2009-04-21 15:02:50 UTC (rev 4595)
@@ -47,23 +47,22 @@
super(appContext);
}
-
- String getId()
+ public String getId()
{
return ID;
}
- String getUrl(Object event)
+ public String getUrl(Object event)
{
return appContext.getUrlBuilder().getProcessDefinitionsURL();
}
- RequestBuilder.Method getRequestMethod()
+ public RequestBuilder.Method getRequestMethod()
{
return RequestBuilder.GET;
}
- void handleSuccessfulResponse(final Controller controller, final Object event, Response response)
+ public void handleSuccessfulResponse(final Controller controller, final Object event, Response response)
{
if (200 == response.getStatusCode())
{
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadInstancesAction.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadInstancesAction.java 2009-04-21 14:41:11 UTC (rev 4594)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/LoadInstancesAction.java 2009-04-21 15:02:50 UTC (rev 4595)
@@ -49,23 +49,23 @@
super(appContext);
}
- String getId()
+ public String getId()
{
return ID;
}
- String getUrl(Object event)
+ public String getUrl(Object event)
{
final ProcessDefinitionRef def = (ProcessDefinitionRef)event;
return appContext.getUrlBuilder().getProcessInstancesURL(def.getId());
}
- RequestBuilder.Method getRequestMethod()
+ public RequestBuilder.Method getRequestMethod()
{
return RequestBuilder.GET;
}
- protected void handleSuccessfulResponse(final Controller controller, final Object event, Response response)
+ public void handleSuccessfulResponse(final Controller controller, final Object event, Response response)
{
final ProcessDefinitionRef def = (ProcessDefinitionRef)event;
JSONValue json = JSONParser.parse(response.getText());
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java 2009-04-21 14:41:11 UTC (rev 4594)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java 2009-04-21 15:02:50 UTC (rev 4595)
@@ -35,6 +35,7 @@
import org.jboss.bpm.console.client.ApplicationContext;
import org.jboss.bpm.console.client.Editor;
import org.jboss.bpm.console.client.MenuSection;
+import org.jboss.bpm.console.client.v2.LazyPanel;
/**
* @author Heiko.Braun <heiko.braun at jboss.com>
@@ -57,6 +58,26 @@
// create inner tab layout
tabPanel = new DecoratedTabLayoutPanel();
tabPanel.setPadding(5);
+ tabPanel.addTabListener(
+ new TabListener()
+ {
+ public boolean onBeforeTabSelected(SourcesTabEvents sourcesTabEvents, int i)
+ {
+ return true;
+ }
+
+ public void onTabSelected(SourcesTabEvents sourcesTabEvents, int i)
+ {
+ LazyPanel lazyPanel = (LazyPanel) tabPanel.getWidget(i);
+ if(!lazyPanel.isInitialized())
+ {
+ lazyPanel.initialize();
+ refreshView(); // TODO: hack around rendering problems
+ }
+ }
+ }
+ );
+
this.add(tabPanel, new BorderLayoutData(Region.CENTER));
// create and register views
More information about the jbpm-commits
mailing list