[overlord-commits] Overlord SVN: r1007 - in activity-monitor/trunk: gui/war/src/main/java/org/jboss/bpm/monitor/gui and 1 other directories.
overlord-commits at lists.jboss.org
overlord-commits at lists.jboss.org
Fri Mar 12 10:44:57 EST 2010
Author: heiko.braun at jboss.com
Date: 2010-03-12 10:44:56 -0500 (Fri, 12 Mar 2010)
New Revision: 1007
Added:
activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/RefillStockProcess.java
activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/DefinitionHistoryView.java
Removed:
activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/RecentActivityView.java
Modified:
activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/Emulation.java
activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/App.gwt.xml
activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/MonitorUI.java
Log:
Enable process selection and chart updates
Modified: activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/Emulation.java
===================================================================
--- activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/Emulation.java 2010-03-12 14:26:06 UTC (rev 1006)
+++ activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/Emulation.java 2010-03-12 15:44:56 UTC (rev 1007)
@@ -46,9 +46,9 @@
private boolean suspend = false;
private EventHandler eventHandler;
- /*private static Class[] processDefinitions = new Class[] {
- OrderCheckoutProcess.class
- };*/
+ private static Class[] processDefinitions = new Class[] {
+ OrderCheckoutProcess.class, RefillStockProcess.class
+ };
public Emulation(EventHandler handler)
{
@@ -68,13 +68,14 @@
if(!suspend)
{
- OrderCheckoutProcess p = new OrderCheckoutProcess();
+ Process p = Math.random()<0.8 ? new OrderCheckoutProcess() : new RefillStockProcess();
+
ProcessRunnable process = new ProcessRunnable(p, eventHandler);
try
{
pool.execute(process);
- System.out.println("\tStart new process");
+ System.out.println("\tStart new process: "+ p.getClass().getSimpleName());
}
catch (RejectedExecutionException e)
Added: activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/RefillStockProcess.java
===================================================================
--- activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/RefillStockProcess.java (rev 0)
+++ activity-monitor/trunk/emu/src/main/java/org/jboss/bpm/monitor/emu/RefillStockProcess.java 2010-03-12 15:44:56 UTC (rev 1007)
@@ -0,0 +1,109 @@
+/* jboss.org */
+package org.jboss.bpm.monitor.emu;
+
+import java.util.UUID;
+
+/**
+ * @author: Heiko Braun <hbraun at redhat.com>
+ * @date: Mar 12, 2010
+ */
+public class RefillStockProcess implements Process
+{
+ private final String correlationId;
+
+ public enum Activity {
+ None,
+ CheckStock,
+ PlaceOrder,
+ VerifyReceit,
+ NotifyWarehouse,
+ Ended
+ };
+
+ private Activity current = Activity.None;
+
+ private long start;
+ private long end;
+
+ public RefillStockProcess()
+ {
+ this.correlationId = UUID.randomUUID().toString();
+ }
+
+ public String getName()
+ {
+ return getClass().getSimpleName();
+ }
+
+ public long getStarted()
+ {
+ return start;
+ }
+
+ public long getEnded()
+ {
+ return end;
+ }
+
+ public String getInstanceId()
+ {
+ return this.correlationId;
+ }
+
+ public String getActivity()
+ {
+ return current.toString();
+ }
+
+ public String invoke()
+ {
+ Activity next = null;
+
+ switch (current)
+ {
+ case None:
+ start = System.currentTimeMillis();
+ next = Activity.CheckStock;
+ break;
+ case CheckStock:
+ next = Activity.PlaceOrder;
+ break;
+ case PlaceOrder:
+ next = Activity.VerifyReceit;
+ break;
+ case VerifyReceit:
+ next = Activity.NotifyWarehouse;
+ break;
+ case NotifyWarehouse:
+ next = Activity.Ended;
+ end = System.currentTimeMillis();
+ break;
+ default:
+ throw new IllegalStateException("Unknown state "+ current);
+ }
+
+ current = next;
+ return current.toString();
+ }
+
+ public boolean isActive()
+ {
+ return (current!=Activity.Ended && current!=Activity.None);
+ }
+
+ public long getExectime()
+ {
+ if(0==start)
+ throw new IllegalArgumentException("No start time recorded");
+
+ return end - start;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "RefillStockProcess{" +
+ "activity=" + current +
+ '}';
+ }
+}
\ No newline at end of file
Modified: activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/App.gwt.xml
===================================================================
--- activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/App.gwt.xml 2010-03-12 14:26:06 UTC (rev 1006)
+++ activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/App.gwt.xml 2010-03-12 15:44:56 UTC (rev 1007)
@@ -6,7 +6,7 @@
<inherits name="com.google.gwt.resources.Resources" />
<inherits name='org.timepedia.chronoscope.Chronoscope'/>
-
+
<inherits name="org.jboss.errai.common.ErraiCommon"/>
<inherits name="org.jboss.errai.bus.ErraiBus"/>
<inherits name="org.jboss.errai.workspaces.ErraiWorkspaces" />
Copied: activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/DefinitionHistoryView.java (from rev 1006, activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/RecentActivityView.java)
===================================================================
--- activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/DefinitionHistoryView.java (rev 0)
+++ activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/DefinitionHistoryView.java 2010-03-12 15:44:56 UTC (rev 1007)
@@ -0,0 +1,134 @@
+/* jboss.org */
+package org.jboss.bpm.monitor.gui.client;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.user.client.ui.ListBox;
+import org.gwt.mosaic.ui.client.layout.BoxLayout;
+import org.gwt.mosaic.ui.client.layout.LayoutPanel;
+import org.jboss.errai.bus.client.api.RemoteCallback;
+import org.jboss.errai.bus.client.api.base.MessageBuilder;
+import org.jboss.errai.workspaces.client.api.ProvisioningCallback;
+import org.jboss.errai.workspaces.client.api.WidgetProvider;
+import org.jboss.errai.workspaces.client.api.annotations.LoadTool;
+import org.timepedia.chronoscope.client.Dataset;
+import org.timepedia.chronoscope.client.Datasets;
+import org.timepedia.chronoscope.client.browser.ChartPanel;
+import org.timepedia.chronoscope.client.browser.Chronoscope;
+import org.timepedia.chronoscope.client.browser.json.GwtJsonDataset;
+import org.timepedia.chronoscope.client.browser.json.JsonDatasetJSO;
+import org.timepedia.chronoscope.client.data.tuple.Tuple2D;
+
+import java.util.List;
+
+/**
+ * @author: Heiko Braun <hbraun at redhat.com>
+ * @date: Mar 11, 2010
+ */
+ at LoadTool(name="Process Activity", group = "History")
+public class DefinitionHistoryView implements WidgetProvider
+{
+
+ private static final String TIMEPEDIA_FONTBOOK_SERVICE = "http://api.timepedia.org/fr";
+
+ private static volatile double GOLDEN__RATIO = 1.618;
+
+ private LayoutPanel panel;
+ private ListBox listBox;
+ private ChartPanel chartPanel;
+
+ public void provideWidget(ProvisioningCallback callback)
+ {
+ panel = new LayoutPanel(new BoxLayout(BoxLayout.Orientation.VERTICAL));
+
+ listBox = new ListBox();
+ panel.add(listBox);
+ listBox.addItem("Select a process");
+ listBox.addChangeHandler(new ChangeHandler()
+ {
+ public void onChange(ChangeEvent changeEvent)
+ {
+ ChartData rpcService = MessageBuilder.createCall(
+ new RemoteCallback<String>()
+ {
+ public void callback(String response)
+ {
+ renderChart(response);
+ }
+ },
+ ChartData.class
+ );
+
+ if(listBox.getSelectedIndex()>0)
+ {
+ String processDefinitionID = listBox.getItemText(listBox.getSelectedIndex());
+ rpcService.getDefinitionActivity(processDefinitionID, "Last 7 Days");
+ }
+ }
+ });
+
+ loadDefinitions();
+
+ callback.onSuccess(panel);
+ }
+
+
+ private void loadDefinitions()
+ {
+ HistoryRecords rpcService = MessageBuilder.createCall(
+ new RemoteCallback<List<String>>()
+ {
+
+ public void callback(List<String> response)
+ {
+ for(String s : response)
+ listBox.addItem(s);
+ }
+ },
+ HistoryRecords.class
+ );
+
+ rpcService.getProcessDefinitionKeys();
+
+ }
+
+ private void renderChart(String jsonData)
+ {
+ try
+ {
+ final Datasets<Tuple2D> datasets = new Datasets<Tuple2D>();
+ datasets.add(MonitorUI.chronoscope.getDatasetReader().createDatasetFromJson(
+ new GwtJsonDataset(JSOModel.fromJson(jsonData)))
+ );
+ Dataset[] dsArray = datasets.toArray();
+
+ // if exists remove. I don't know how to update at this point
+ if(chartPanel!=null)
+ panel.remove(chartPanel);
+
+ initChartPanel(dsArray);
+
+ panel.layout();
+ }
+ catch (Exception e)
+ {
+ GWT.log("Failed to create chart", e);
+ }
+ }
+
+ private void initChartPanel(Dataset[] datasets)
+ {
+ int chartWidth = 450;
+ int chartHeight = (int) (chartWidth / GOLDEN__RATIO);
+
+ chartPanel = Chronoscope
+ .createTimeseriesChart(datasets, chartWidth, chartHeight);
+
+ panel.add(chartPanel);
+ }
+
+ private static native JsonDatasetJSO getJson(String varName) /*-{
+ return $wnd[varName];
+ }-*/;
+}
Modified: activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/MonitorUI.java
===================================================================
--- activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/MonitorUI.java 2010-03-12 14:26:06 UTC (rev 1006)
+++ activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/MonitorUI.java 2010-03-12 15:44:56 UTC (rev 1007)
@@ -29,6 +29,8 @@
import org.jboss.errai.bus.client.ErraiBus;
import org.jboss.errai.bus.client.api.base.MessageBuilder;
import org.jboss.errai.bus.client.framework.MessageBus;
+import org.timepedia.chronoscope.client.ChronoscopeOptions;
+import org.timepedia.chronoscope.client.browser.Chronoscope;
public class MonitorUI implements EntryPoint
{
@@ -37,7 +39,18 @@
*/
private MessageBus bus = ErraiBus.get();
+ public static Chronoscope chronoscope;
+
public void onModuleLoad() {
-
+
+ // Chronoscope.enableHistorySupport(true);
+ Chronoscope.setFontBookRendering(true);
+ ChronoscopeOptions.setErrorReporting(true);
+ Chronoscope.setMicroformatsEnabled(false);
+ Chronoscope.setShowCredits(false);
+ Chronoscope.initialize();
+
+
+ chronoscope = Chronoscope.getInstance();
}
}
Deleted: activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/RecentActivityView.java
===================================================================
--- activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/RecentActivityView.java 2010-03-12 14:26:06 UTC (rev 1006)
+++ activity-monitor/trunk/gui/war/src/main/java/org/jboss/bpm/monitor/gui/client/RecentActivityView.java 2010-03-12 15:44:56 UTC (rev 1007)
@@ -1,92 +0,0 @@
-/* jboss.org */
-package org.jboss.bpm.monitor.gui.client;
-
-import com.google.gwt.core.client.GWT;
-import org.gwt.mosaic.ui.client.layout.LayoutPanel;
-import org.jboss.errai.bus.client.api.RemoteCallback;
-import org.jboss.errai.bus.client.api.base.MessageBuilder;
-import org.jboss.errai.workspaces.client.api.ProvisioningCallback;
-import org.jboss.errai.workspaces.client.api.WidgetProvider;
-import org.jboss.errai.workspaces.client.api.annotations.LoadTool;
-import org.timepedia.chronoscope.client.ChronoscopeOptions;
-import org.timepedia.chronoscope.client.Dataset;
-import org.timepedia.chronoscope.client.Datasets;
-import org.timepedia.chronoscope.client.browser.ChartPanel;
-import org.timepedia.chronoscope.client.browser.Chronoscope;
-import org.timepedia.chronoscope.client.browser.json.GwtJsonDataset;
-import org.timepedia.chronoscope.client.browser.json.JsonDatasetJSO;
-import org.timepedia.chronoscope.client.data.tuple.Tuple2D;
-
-/**
- * @author: Heiko Braun <hbraun at redhat.com>
- * @date: Mar 11, 2010
- */
- at LoadTool(name="Recent Activity", group = "Process History")
-public class RecentActivityView implements WidgetProvider
-{
-
- private static final String TIMEPEDIA_FONTBOOK_SERVICE = "http://api.timepedia.org/fr";
-
- private static volatile double GOLDEN__RATIO = 1.618;
-
- private LayoutPanel panel;
-
- public void provideWidget(ProvisioningCallback callback)
- {
- panel = new LayoutPanel();
-
- ChartData rpcService = MessageBuilder.createCall(
- new RemoteCallback<String>()
- {
- public void callback(String response)
- {
- renderChart(response);
- }
- },
- ChartData.class
- );
-
- rpcService.getDefinitionActivity("OrderCheckoutProcess", "Last 7 Days");
-
- callback.onSuccess(panel);
- }
-
- private void renderChart(String jsonData)
- {
- // Chronoscope.enableHistorySupport(true);
- Chronoscope.setFontBookRendering(true);
- ChronoscopeOptions.setErrorReporting(true);
- Chronoscope.setMicroformatsEnabled(false);
- Chronoscope.setShowCredits(false);
- Chronoscope.initialize();
-
- Chronoscope chronoscope = Chronoscope.getInstance();
-
- try
- {
- int chartWidth = 450;
- int chartHeight = (int) (chartWidth / GOLDEN__RATIO);
-
- final Datasets<Tuple2D> datasets = new Datasets<Tuple2D>();
- datasets.add(chronoscope.getDatasetReader().createDatasetFromJson(
- new GwtJsonDataset(JSOModel.fromJson(jsonData)))
- );
-
- Dataset[] dsArray = datasets.toArray();
-
- final ChartPanel chartPanel = Chronoscope
- .createTimeseriesChart(dsArray, chartWidth, chartHeight);
-
- panel.add(chartPanel);
- }
- catch (Exception e)
- {
- GWT.log("Failed to create chart", e);
- }
-
- }
-
- private static native JsonDatasetJSO getJson(String varName) /*-{
- return $wnd[varName];
- }-*/;
-}
More information about the overlord-commits
mailing list