[jboss-svn-commits] JBL Code SVN: r18407 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client: qa and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 8 01:54:37 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-08 01:54:37 -0500 (Fri, 08 Feb 2008)
New Revision: 18407

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisView.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerNodeConfig.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisResultWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/BulkRunResultWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/QAManagerWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/ScenarioPackageView.java
Log:
JBRULES-1445 Analysis feature

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerNodeConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerNodeConfig.java	2008-02-08 06:25:19 UTC (rev 18406)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerNodeConfig.java	2008-02-08 06:54:37 UTC (rev 18407)
@@ -2,6 +2,7 @@
 
 import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.common.GenericCallback;
+import org.drools.brms.client.qa.AnalysisView;
 import org.drools.brms.client.qa.ScenarioPackageView;
 import org.drools.brms.client.rpc.PackageConfigData;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
@@ -14,7 +15,7 @@
 import com.gwtext.client.widgets.tree.event.TreeNodeListenerAdapter;
 
 /*
- * This class contains static node config for BRMS' explorer widget
+ * This class contains static node config for BRMS' explorer widgets
  */
 public class ExplorerNodeConfig {
 
@@ -274,12 +275,58 @@
 		treeNode.appendChild(scenarios);
 
 
-		TreeNode analysis = new TreeNode(new TreeNodeConfig() {
+		final TreeNode analysis = new TreeNode(new TreeNodeConfig() {
 			{
 				setText("Analysis");
 				setIcon("images/analyze.gif");
+				setExpanded(false);
 			}
 		});
+
+		analysis.appendChild(new TreeNode("Please wait..."));
+
+		analysis.addTreeNodeListener(new TreeNodeListenerAdapter() {
+
+
+			public void onExpand(Node node) {
+				RepositoryServiceFactory.getService().listPackages(new GenericCallback() {
+					public void onSuccess(Object data) {
+						PackageConfigData[] conf = (PackageConfigData[]) data;
+
+						for (int i = 0; i < conf.length; i++) {
+							final PackageConfigData c = conf[i];
+							TreeNode pkg = new TreeNode(new TreeNodeConfig() {
+								{
+									setText(c.name);
+									setIcon("images/package.gif");
+
+								}
+							});
+							analysis.appendChild(pkg);
+							pkg.addTreeNodeListener(new TreeNodeListenerAdapter() {
+								public void onClick(Node node, EventObject e) {
+									if (!centerPanel.showIfOpen("analysis" + c.uuid)) {
+										centerPanel.addTab("Analysis for " + c.name, true, new AnalysisView(c.uuid, c.name), "analysis" + c.uuid);
+									}
+								}
+							});
+						}
+						analysis.removeChild(analysis.getFirstChild());
+
+					}
+				});
+			}
+
+			public void onCollapse(Node node) {
+				Node[] cs = node.getChildNodes();
+				for (int i = 0; i < cs.length; i++) {
+					node.removeChild(cs[i]);
+				}
+				node.appendChild(new TreeNode("Please wait..."));
+			}
+		});
+
+
 		treeNode.appendChild(analysis);
 
 		return treeNode;

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisResultWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisResultWidget.java	2008-02-08 06:25:19 UTC (rev 18406)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisResultWidget.java	2008-02-08 06:54:37 UTC (rev 18407)
@@ -19,8 +19,8 @@
  */
 public class AnalysisResultWidget extends Composite {
 
-	public AnalysisResultWidget(String packageName, AnalysisReport report) {
-		FormStyleLayout layout = new FormStyleLayout("images/analyse_large.png", "Analysis of package: " + packageName);
+	public AnalysisResultWidget(AnalysisReport report) {
+		FormStyleLayout layout = new FormStyleLayout();
 
 		Tree t = new Tree();
 
@@ -59,6 +59,8 @@
 
 
 		for (int i = 0; i < factUsages.length; i++) {
+
+			System.err.println("fact usage !");
 			AnalysisFactUsage fu = factUsages[i];
 			TreeItem fact = new TreeItem(new HTML("<img src='images/fact.gif'/>" + fu.name));
 

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisView.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisView.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisView.java	2008-02-08 06:54:37 UTC (rev 18407)
@@ -0,0 +1,70 @@
+package org.drools.brms.client.qa;
+
+import org.drools.brms.client.common.GenericCallback;
+import org.drools.brms.client.common.LoadingPopup;
+import org.drools.brms.client.common.PrettyFormLayout;
+import org.drools.brms.client.rpc.AnalysisReport;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * Viewer for, well, analysis !
+ *
+ * @author Michael Neale
+ */
+public class AnalysisView extends Composite {
+
+	private VerticalPanel layout;
+	private String packageUUID;
+
+	public AnalysisView(String packageUUID, String packageName) {
+		this.layout = new VerticalPanel();
+		this.packageUUID = packageUUID;
+
+		PrettyFormLayout pf = new PrettyFormLayout();
+
+		VerticalPanel vert = new VerticalPanel();
+		vert.add(new HTML("<b>Analysing package: " + packageName + "</b>"));
+		Button run = new Button("Run analysis");
+		run.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				runAnalysis();
+			}
+		});
+		vert.add(run);
+
+
+		pf.addHeader("images/analyse_large.png", vert);
+		layout.add(pf);
+
+		layout.add(new Label());
+
+		layout.setWidth("100%");
+
+		initWidget(layout);
+	}
+
+	private void runAnalysis() {
+		LoadingPopup.showMessage("Analysing package...");
+		RepositoryServiceFactory.getService().analysePackage(packageUUID, new GenericCallback() {
+			public void onSuccess(Object data) {
+				AnalysisReport rep = (AnalysisReport) data;
+				AnalysisResultWidget w = new AnalysisResultWidget(rep);
+				w.setWidth("100%");
+				layout.remove(1);
+				layout.add(w);
+				LoadingPopup.close();
+			}
+		});
+
+	}
+
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/AnalysisView.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/BulkRunResultWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/BulkRunResultWidget.java	2008-02-08 06:25:19 UTC (rev 18406)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/BulkRunResultWidget.java	2008-02-08 06:54:37 UTC (rev 18407)
@@ -1,6 +1,6 @@
 package org.drools.brms.client.qa;
 
-import org.drools.brms.client.common.FormStyleLayout;
+import org.drools.brms.client.common.PrettyFormLayout;
 import org.drools.brms.client.common.SmallLabel;
 import org.drools.brms.client.packages.PackageBuilderWidget;
 import org.drools.brms.client.rpc.BuilderResult;
@@ -8,6 +8,7 @@
 import org.drools.brms.client.rpc.ScenarioResultSummary;
 import org.drools.brms.client.rulelist.EditItemEvent;
 
+import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.Composite;
@@ -28,14 +29,14 @@
 
 	private BulkTestRunResult result;
 	private EditItemEvent editEvent;
-	private FormStyleLayout layout;
+	private PrettyFormLayout layout;
 	private SimplePanel parent;
-	private String packageName;
+	private Command close;
 
 
-	public BulkRunResultWidget(BulkTestRunResult result, EditItemEvent editEvent) {
+	public BulkRunResultWidget(BulkTestRunResult result, EditItemEvent editEvent, Command close) {
 
-
+		this.close = close;
 		this.result = result;
 		this.editEvent = editEvent;
 		parent = new SimplePanel();
@@ -96,6 +97,8 @@
 		}
 		resultsH.add(new SmallLabel("&nbsp;" + totalFailures + " failures out of " + grandTotal + " expectations."));
 
+		layout.startSection();
+
 		layout.addAttribute("Overall result:", new HTML((totalFailures==0) ? "<b>SUCCESS</b>" : "<b>FAILURE</b>"));
 
 
@@ -110,6 +113,7 @@
 		}
 
 		coveredH.add(new SmallLabel("&nbsp;" + result.percentCovered + "% of the rules were tested."));
+
 		layout.addAttribute("Rules covered:", coveredH);
 
 
@@ -130,16 +134,30 @@
 		}
 
 
+		layout.endSection();
 
-		layout.addAttribute("Scenarios:", summaryTable);
+		layout.startSection("Scenarios");
 
+		layout.addAttribute("", summaryTable);
+
+		Button c = new Button("Close");
+		c.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				close.execute();
+			}
+		});
+		layout.addRow(c);
+
+		layout.endSection();
+
 	}
 
 
 	private void clear() {
 		parent.clear();
-		layout = new FormStyleLayout();
+		layout = new PrettyFormLayout();
 		parent.add(layout);
+
 	}
 
 	private void showErrors() {

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/QAManagerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/QAManagerWidget.java	2008-02-08 06:25:19 UTC (rev 18406)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/QAManagerWidget.java	2008-02-08 06:54:37 UTC (rev 18407)
@@ -136,7 +136,7 @@
 		RepositoryServiceFactory.getService().analysePackage(this.currentUUID, new GenericCallback() {
 			public void onSuccess(Object data) {
 				AnalysisReport rep = (AnalysisReport) data;
-				AnalysisResultWidget w = new AnalysisResultWidget(currentlySelectedPackage, rep);
+				AnalysisResultWidget w = new AnalysisResultWidget(rep);
 				tab.add(w, "<img src='images/package_build.gif'/>" + currentlySelectedPackage, true);
 				tab.selectTab(tab.getWidgetIndex(w));
 				LoadingPopup.close();
@@ -153,7 +153,7 @@
 		RepositoryServiceFactory.getService().runScenariosInPackage(currentUUID, new GenericCallback() {
 			public void onSuccess(Object data) {
 				BulkTestRunResult d = (BulkTestRunResult) data;
-				BulkRunResultWidget w = new BulkRunResultWidget(d, editEvent);
+				BulkRunResultWidget w = new BulkRunResultWidget(d, editEvent, null);
 				tab.add(w, "<img src='images/tick_green.gif'/>" + currentlySelectedPackage, true);
 				tab.selectTab(tab.getWidgetIndex(w));
 				LoadingPopup.close();

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/ScenarioPackageView.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/ScenarioPackageView.java	2008-02-08 06:25:19 UTC (rev 18406)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/ScenarioPackageView.java	2008-02-08 06:54:37 UTC (rev 18407)
@@ -11,6 +11,7 @@
 import org.drools.brms.client.rulelist.AssetItemGridDataLoader;
 import org.drools.brms.client.rulelist.EditItemEvent;
 
+import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.Composite;
@@ -30,10 +31,12 @@
 
 	private VerticalPanel layout;
 
+	private AssetItemGrid grid;
+
 	public ScenarioPackageView(final String packageUUID, String packageName, EditItemEvent editEvent, ExplorerViewCenterPanel centerPanel) {
 		this.editEvent = editEvent;
 
-		AssetItemGrid grid = new AssetItemGrid(editEvent, AssetItemGrid.RULE_LIST_TABLE_ID, new AssetItemGridDataLoader() {
+		grid = new AssetItemGrid(editEvent, AssetItemGrid.RULE_LIST_TABLE_ID, new AssetItemGridDataLoader() {
 			public void loadData(int startRow, int numberOfRows,
 					GenericCallback cb) {
 				RepositoryServiceFactory.getService().listAssets(packageUUID, new String[] {AssetFormats.TEST_SCENARIO},
@@ -69,6 +72,12 @@
 
 	}
 
+	private void refreshShowGrid() {
+		layout.remove(1);
+		layout.add(grid);
+	}
+
+
 	/**
 	 * Run all the scenarios, obviously !
 	 */
@@ -77,7 +86,12 @@
 		RepositoryServiceFactory.getService().runScenariosInPackage(uuid, new GenericCallback() {
 			public void onSuccess(Object data) {
 				BulkTestRunResult d = (BulkTestRunResult) data;
-				BulkRunResultWidget w = new BulkRunResultWidget(d, editEvent);
+				BulkRunResultWidget w = new BulkRunResultWidget(d, editEvent, new Command() {
+					public void execute() {
+						refreshShowGrid();
+					}
+
+				});
 				layout.remove(1);
 				layout.add(w);
 				LoadingPopup.close();




More information about the jboss-svn-commits mailing list