[jboss-svn-commits] JBL Code SVN: r18402 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client: common and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 8 00:41:32 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-08 00:41:32 -0500 (Fri, 08 Feb 2008)
New Revision: 18402

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SmallLabel.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/ScenarioPackageView.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSEntryPoint.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java
   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/BulkRunResultWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/QAManagerWidget.java
Log:
JBRULES-1445 Scenario feature

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSEntryPoint.java	2008-02-08 00:37:03 UTC (rev 18401)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSEntryPoint.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -24,8 +24,6 @@
 import com.google.gwt.core.client.EntryPoint;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.HistoryListener;
-import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.RootPanel;
 import com.gwtext.client.widgets.QuickTips;
 import com.gwtext.client.widgets.form.Field;

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SmallLabel.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SmallLabel.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SmallLabel.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -0,0 +1,11 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.HTML;
+
+public class SmallLabel extends HTML {
+
+	public SmallLabel(String text) {
+		super("<small>" + text + "</small>");
+	}
+
+}


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

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-02-08 00:37:03 UTC (rev 18401)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -110,6 +110,7 @@
         TabPanelItem tpDeployment = tp.addTab("tpi3", "Deployment",
                 false);
         TabPanelItem tpAdmin = tp.addTab("tpi4", "Admin", false);
+        TabPanelItem tpQA = tp.addTab("tpi5", "QA", false);
 
         VerticalPanel rulesPanel = new VerticalPanel();
         packagesPanel = new VerticalPanel();
@@ -271,6 +272,17 @@
         tp.activate(0);
 
 
+        VerticalPanel qaPanel = new VerticalPanel();
+        qaPanel.setWidth("100%");
+        TreePanel qaTree = genericExplorerWidget(ExplorerNodeConfig.getQAStructure(centertabbedPanel));
+        qaPanel.add(qaTree);
+
+
+        tpQA.setContent(qaPanel);
+
+
+
+
         ContentPanel tree = new ContentPanel();
         tree.add(tp);
         layout.add(LayoutRegionConfig.WEST, tree);
@@ -509,7 +521,7 @@
 
         LayoutRegionConfig west = new LayoutRegionConfig();
         west.setSplit(true);
-        west.setInitialSize(300);
+        west.setInitialSize(315);
         west.setMinSize(175);
         west.setMaxSize(400);
         west.setTitlebar(true);
@@ -607,7 +619,7 @@
                         for (int i = 0; i < value.length; i++) {
                         	TreeNode pkg = new TreeNode(value[i].name, new TreeNodeConfig() {
                         		{
-                        			setIcon("images/package.gif");
+                        			setIcon("images/snapshot_small.gif");
                         		}
                         	});
                         	pkg.setUserObject(value[i]);

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 00:37:03 UTC (rev 18401)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerNodeConfig.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -2,8 +2,12 @@
 
 import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.common.GenericCallback;
+import org.drools.brms.client.qa.ScenarioPackageView;
+import org.drools.brms.client.rpc.PackageConfigData;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import org.drools.brms.client.rulelist.EditItemEvent;
 
+import com.gwtext.client.core.EventObject;
 import com.gwtext.client.data.Node;
 import com.gwtext.client.widgets.tree.TreeNode;
 import com.gwtext.client.widgets.tree.TreeNodeConfig;
@@ -206,6 +210,81 @@
 		return treeNode;
 	}
 
+	public static TreeNode getQAStructure(final ExplorerViewCenterPanel centerPanel) {
+		final TreeNode treeNode = new TreeNode( new TreeNodeConfig() {
+			{
+				setText("QA");
+			}
+		});
+
+
+		final TreeNode scenarios = new TreeNode(new TreeNodeConfig() {
+			{
+				setText("Test Scenarios in packages:");
+				setIcon("images/scenario_conf.gif");
+			}
+		});
+
+		final EditItemEvent edit = new EditItemEvent() {
+			public void open(String key) {centerPanel.openAsset(key);}
+		};
+
+		scenarios.appendChild(new TreeNode("Please wait..."));
+		scenarios.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");
+
+								}
+							});
+							scenarios.appendChild(pkg);
+							pkg.addTreeNodeListener(new TreeNodeListenerAdapter() {
+								public void onClick(Node node, EventObject e) {
+									if (!centerPanel.showIfOpen("scenarios" + c.uuid)) {
+										centerPanel.addTab("Scenarios for " + c.name, true, new ScenarioPackageView(
+												c.uuid, c.name, edit, centerPanel ), "scenarios" + c.uuid);
+									}
+								}
+							});
+						}
+						scenarios.removeChild(scenarios.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(scenarios);
+
+
+		TreeNode analysis = new TreeNode(new TreeNodeConfig() {
+			{
+				setText("Analysis");
+				setIcon("images/analyze.gif");
+			}
+		});
+		treeNode.appendChild(analysis);
+
+		return treeNode;
+	}
+
 }
 
 

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 00:37:03 UTC (rev 18401)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/BulkRunResultWidget.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -1,6 +1,7 @@
 package org.drools.brms.client.qa;
 
 import org.drools.brms.client.common.FormStyleLayout;
+import org.drools.brms.client.common.SmallLabel;
 import org.drools.brms.client.packages.PackageBuilderWidget;
 import org.drools.brms.client.rpc.BuilderResult;
 import org.drools.brms.client.rpc.BulkTestRunResult;
@@ -11,13 +12,12 @@
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
 import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.SimplePanel;
-import com.google.gwt.user.client.ui.TabPanel;
 import com.google.gwt.user.client.ui.Widget;
 
 /**
@@ -33,12 +33,11 @@
 	private String packageName;
 
 
-	public BulkRunResultWidget(BulkTestRunResult result, EditItemEvent editEvent, final TabPanel tab, String packageName) {
+	public BulkRunResultWidget(BulkTestRunResult result, EditItemEvent editEvent) {
 
 
 		this.result = result;
 		this.editEvent = editEvent;
-		this.packageName = packageName;
 		parent = new SimplePanel();
 
 		if (result.errors != null && result.errors.length > 0) {
@@ -47,19 +46,7 @@
 			showResult();
 		}
 
-		final BulkRunResultWidget self = this;
 
-		Button close = new Button("Close");
-		close.addClickListener(new ClickListener() {
-			public void onClick(Widget w) {
-				tab.remove(self);
-				tab.selectTab(0);
-			}
-		});
-
-
-
-		layout.addAttribute("", close);
 		initWidget(parent);
 	}
 
@@ -78,7 +65,7 @@
 			totalFailures = totalFailures + s.failures;
 
 			//now render this summary
-			summaryTable.setWidget(i, 0, new Label(s.scenarioName + ":"));
+			summaryTable.setWidget(i, 0, new SmallLabel(s.scenarioName + ":"));
 			summaryTable.getFlexCellFormatter().setHorizontalAlignment(i, 0, HasHorizontalAlignment.ALIGN_RIGHT);
 
 			if (s.failures > 0) {
@@ -87,7 +74,7 @@
 				summaryTable.setWidget(i, 1, ScenarioWidget.getBar("GREEN", 150, 100));
 			}
 
-			summaryTable.setWidget(i, 2, new Label("[" + s.failures +" failures out of " + s.total + "]"));
+			summaryTable.setWidget(i, 2, new SmallLabel("[" + s.failures +" failures out of " + s.total + "]"));
 			Button open = new Button("Open");
 			open.addClickListener(new ClickListener() {
 				public void onClick(Widget w) {
@@ -107,8 +94,12 @@
 		} else {
 			resultsH.add(ScenarioWidget.getBar("GREEN", 300, 100));
 		}
-		resultsH.add(new Label(totalFailures + " failures out of " + grandTotal + " expectations."));
+		resultsH.add(new SmallLabel("&nbsp;" + totalFailures + " failures out of " + grandTotal + " expectations."));
 
+		layout.addAttribute("Overall result:", new HTML((totalFailures==0) ? "<b>SUCCESS</b>" : "<b>FAILURE</b>"));
+
+
+
 		layout.addAttribute("Results:", resultsH);
 
 		HorizontalPanel coveredH = new HorizontalPanel();
@@ -118,7 +109,7 @@
 			coveredH.add(ScenarioWidget.getBar("GREEN", 300, 100));
 		}
 
-		coveredH.add(new Label(result.percentCovered + "% of the rules were tested."));
+		coveredH.add(new SmallLabel("&nbsp;" + result.percentCovered + "% of the rules were tested."));
 		layout.addAttribute("Rules covered:", coveredH);
 
 
@@ -147,7 +138,7 @@
 
 	private void clear() {
 		parent.clear();
-		layout = new FormStyleLayout("images/scenario_large.png", "Testing: " + packageName);
+		layout = new FormStyleLayout();
 		parent.add(layout);
 	}
 

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 00:37:03 UTC (rev 18401)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/QAManagerWidget.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -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, tab, currentlySelectedPackage);
+				BulkRunResultWidget w = new BulkRunResultWidget(d, editEvent);
 				tab.add(w, "<img src='images/tick_green.gif'/>" + currentlySelectedPackage, true);
 				tab.selectTab(tab.getWidgetIndex(w));
 				LoadingPopup.close();

Added: 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	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/qa/ScenarioPackageView.java	2008-02-08 05:41:32 UTC (rev 18402)
@@ -0,0 +1,88 @@
+package org.drools.brms.client.qa;
+
+import org.drools.brms.client.common.AssetFormats;
+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.explorer.ExplorerViewCenterPanel;
+import org.drools.brms.client.rpc.BulkTestRunResult;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import org.drools.brms.client.rulelist.AssetItemGrid;
+import org.drools.brms.client.rulelist.AssetItemGridDataLoader;
+import org.drools.brms.client.rulelist.EditItemEvent;
+
+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.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * This shows a list of scenarios in a package.
+ * And allows them to be run in bulk.
+ * @author Michael Neale
+ */
+public class ScenarioPackageView extends Composite {
+
+
+	private EditItemEvent editEvent;
+
+	private VerticalPanel layout;
+
+	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() {
+			public void loadData(int startRow, int numberOfRows,
+					GenericCallback cb) {
+				RepositoryServiceFactory.getService().listAssets(packageUUID, new String[] {AssetFormats.TEST_SCENARIO},
+						startRow, numberOfRows, cb);
+			}
+		});
+
+		layout = new VerticalPanel();
+		layout.setWidth("100%");
+		PrettyFormLayout pf = new PrettyFormLayout();
+
+		VerticalPanel vert = new VerticalPanel();
+		vert.add(new HTML("<b>Scenarios for package: </b>" + packageName));
+		Button run = new Button("Run all scenarios");
+		run.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				runAllScenarios(packageUUID);
+			}
+		});
+
+		vert.add(run);
+
+
+		pf.addHeader("images/scenario_large.png", vert);
+
+		layout.add(pf);
+		layout.add(grid);
+
+		initWidget(layout);
+
+
+
+
+	}
+
+	/**
+	 * Run all the scenarios, obviously !
+	 */
+	private void runAllScenarios(String uuid) {
+		LoadingPopup.showMessage("Building and running scenarios... ");
+		RepositoryServiceFactory.getService().runScenariosInPackage(uuid, new GenericCallback() {
+			public void onSuccess(Object data) {
+				BulkTestRunResult d = (BulkTestRunResult) data;
+				BulkRunResultWidget w = new BulkRunResultWidget(d, editEvent);
+				layout.remove(1);
+				layout.add(w);
+				LoadingPopup.close();
+			}
+		});
+	}
+
+}


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




More information about the jboss-svn-commits mailing list