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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 5 19:45:58 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-05 19:45:58 -0500 (Tue, 05 Feb 2008)
New Revision: 18334

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/snapshot_small.gif
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/packages/PackageBuilderWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/SnapshotView.java
Log:
JBRULES-1445 snapshot functionality

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-06 00:12:48 UTC (rev 18333)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-02-06 00:45:58 UTC (rev 18334)
@@ -10,7 +10,6 @@
 import org.drools.brms.client.admin.StateManager;
 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.packages.NewPackageWizard;
 import org.drools.brms.client.packages.SnapshotView;
 import org.drools.brms.client.rpc.PackageConfigData;
@@ -24,42 +23,29 @@
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.DockPanel;
 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;
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.core.Ext;
 import com.gwtext.client.data.Node;
-import com.gwtext.client.widgets.Button;
-import com.gwtext.client.widgets.ButtonConfig;
 import com.gwtext.client.widgets.QuickTips;
 import com.gwtext.client.widgets.TabPanel;
 import com.gwtext.client.widgets.TabPanelItem;
 import com.gwtext.client.widgets.Toolbar;
-import com.gwtext.client.widgets.ToolbarButton;
 import com.gwtext.client.widgets.ToolbarMenuButton;
-import com.gwtext.client.widgets.event.ButtonListener;
-import com.gwtext.client.widgets.event.ButtonListenerAdapter;
-import com.gwtext.client.widgets.event.TabPanelItemListener;
 import com.gwtext.client.widgets.event.TabPanelItemListenerAdapter;
 import com.gwtext.client.widgets.form.Field;
 import com.gwtext.client.widgets.layout.BorderLayout;
 import com.gwtext.client.widgets.layout.ContentPanel;
-import com.gwtext.client.widgets.layout.LayoutRegion;
 import com.gwtext.client.widgets.layout.LayoutRegionConfig;
 import com.gwtext.client.widgets.menu.BaseItem;
 import com.gwtext.client.widgets.menu.Item;
 import com.gwtext.client.widgets.menu.ItemConfig;
 import com.gwtext.client.widgets.menu.Menu;
 import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
-import com.gwtext.client.widgets.tree.AsyncTreeNode;
-import com.gwtext.client.widgets.tree.AsyncTreeNodeConfig;
 import com.gwtext.client.widgets.tree.TreeNode;
 import com.gwtext.client.widgets.tree.TreeNodeConfig;
 import com.gwtext.client.widgets.tree.TreePanel;
 import com.gwtext.client.widgets.tree.TreePanelConfig;
-import com.gwtext.client.widgets.tree.XMLTreeLoader;
-import com.gwtext.client.widgets.tree.XMLTreeLoaderConfig;
 import com.gwtext.client.widgets.tree.event.TreePanelListener;
 import com.gwtext.client.widgets.tree.event.TreePanelListenerAdapter;
 
@@ -200,7 +186,9 @@
         packagesPanel.add(pkgToolbar);
         packagesPanel.setWidth("100%");
 
-        //deploymentPanel.add(deploymentToolbar());
+        Toolbar deployToolbar = new Toolbar(Ext.generateId());
+        deployToolbar.addButton(new ToolbarMenuButton("Deploy...", deploymentMenu()));
+        deploymentPanel.add(deployToolbar);
 
         /** ****************** */
         ContentPanel cp = new ContentPanel("eg-explorer", "BRMS Explorer");
@@ -278,21 +266,33 @@
         layout.add(LayoutRegionConfig.WEST, tree);
     }
 
-	private Widget deploymentToolbar() {
-		Toolbar tb = new Toolbar(Ext.generateId());
-		tb.addButton(new ToolbarButton(new ButtonConfig() {
-			{
-				setText("New deployment snapshot");
-				setButtonListener(new ButtonListenerAdapter() {
-					public void onClick(Button button, EventObject e) {
+	private Menu deploymentMenu() {
 
-						super.onClick(button, e);
-					}
-				});
-			}
-		}));
-		// TODO Auto-generated method stub
-		return tb;
+		Menu m = new Menu(Ext.generateId());
+
+        m.addItem(new Item("New Deployment snapshot", new ItemConfig() {
+        	{
+        		setIcon("images/snapshot_small.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				SnapshotView.showNewSnapshot();
+        			}
+        		});
+        	}
+        }));
+
+        m.addItem(new Item("Rebuild all snapshot binaries", new ItemConfig() {
+        	{
+        		setIcon("images/refresh.gif");
+        		setBaseItemListener(new BaseItemListenerAdapter() {
+        			public void onClick(BaseItem item, EventObject e) {
+        				SnapshotView.rebuildBinaries();
+        			}
+        		});
+        	}
+        }));
+
+        return m;
 	}
 
 	private Menu rulesNewMenu() {

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java	2008-02-06 00:12:48 UTC (rev 18333)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageBuilderWidget.java	2008-02-06 00:45:58 UTC (rev 18334)
@@ -250,7 +250,7 @@
 		Button snap = new Button("Create snapshot for deployment");
 		snap.addClickListener(new ClickListener() {
 			public void onClick(Widget w) {
-				showSnapshotDialog(w);
+				showSnapshotDialog(conf.name);
 			}
 		});
 		vert.add(snap);
@@ -397,7 +397,7 @@
 	/**
 	 * This will display a dialog for creating a snapshot.
 	 */
-	private void showSnapshotDialog(Widget w) {
+	public static void showSnapshotDialog(final String packageName) {
 		LoadingPopup.showMessage("Loading existing snapshots...");
 		final FormStylePopup form = new FormStylePopup("images/snapshot.png",
 				"Create a snapshot for deployment.");
@@ -412,7 +412,7 @@
 		final TextBox newName = new TextBox();
 		final String newSnapshotText = "NEW: ";
 
-		RepositoryServiceFactory.getService().listSnapshots(conf.name,
+		RepositoryServiceFactory.getService().listSnapshots(packageName,
 				new GenericCallback() {
 					public void onSuccess(Object data) {
 						SnapshotInfo[] result = (SnapshotInfo[]) data;
@@ -476,7 +476,7 @@
 				}
 
 				RepositoryServiceFactory.getService().createPackageSnapshot(
-						conf.name, name, replace, comment.getText(),
+						packageName, name, replace, comment.getText(),
 						new GenericCallback() {
 							public void onSuccess(Object data) {
 								Window.alert("The snapshot called: " + name

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/SnapshotView.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/SnapshotView.java	2008-02-06 00:12:48 UTC (rev 18333)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/SnapshotView.java	2008-02-06 00:45:58 UTC (rev 18334)
@@ -3,7 +3,9 @@
 import org.drools.brms.client.common.FormStyleLayout;
 import org.drools.brms.client.common.FormStylePopup;
 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.common.RulePackageSelector;
 import org.drools.brms.client.explorer.ExplorerLayoutManager;
 import org.drools.brms.client.explorer.ExplorerNodeConfig;
 import org.drools.brms.client.explorer.ExplorerViewCenterPanel;
@@ -222,4 +224,38 @@
 
 	}
 
+	public static void showNewSnapshot() {
+		final FormStylePopup pop = new FormStylePopup("images/snapshot.png", "New snapshot");
+		final RulePackageSelector sel = new RulePackageSelector();
+
+		pop.addAttribute("For package:", sel);
+		Button ok = new Button("OK");
+		pop.addAttribute("", ok);
+		pop.show();
+
+		ok.addClickListener(new ClickListener() {
+			public void onClick(Widget w) {
+				pop.hide();
+				String pkg = sel.getSelectedPackage();
+				PackageBuilderWidget.showSnapshotDialog(pkg);
+			}
+		});
+
+
+	}
+
+	public static void rebuildBinaries() {
+        if (Window.confirm( "Rebuilding the snapshot binaries will take some time, and only needs to be done if" +
+                " the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew." +
+                " Are you sure you want to do this?" )) {
+            LoadingPopup.showMessage( "Rebuilding snapshots. Please wait, this may take some time..." );
+            RepositoryServiceFactory.getService().rebuildSnapshots( new GenericCallback() {
+                public void onSuccess(Object data) {
+                    LoadingPopup.close();
+                    Window.alert( "Snapshots were rebuilt successfully." );
+                }
+            });
+        }
+	}
+
 }

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/snapshot_small.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/snapshot_small.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list