[jboss-svn-commits] JBL Code SVN: r18294 - labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 4 02:52:05 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-04 02:52:05 -0500 (Mon, 04 Feb 2008)
New Revision: 18294

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/ExplorerNodeConfig.java
Log:
adding in snapshots

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-04 06:20:09 UTC (rev 18293)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-02-04 07:52:05 UTC (rev 18294)
@@ -10,9 +10,11 @@
 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.rpc.PackageConfigData;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import org.drools.brms.client.rpc.SnapshotInfo;
 import org.drools.brms.client.ruleeditor.NewAssetWizard;
 import org.drools.brms.client.rulelist.AssetItemGrid;
 import org.drools.brms.client.rulelist.AssetItemGridDataLoader;
@@ -21,6 +23,7 @@
 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.gwtext.client.core.EventObject;
 import com.gwtext.client.core.Ext;
@@ -34,6 +37,7 @@
 import com.gwtext.client.widgets.ToolbarButton;
 import com.gwtext.client.widgets.ToolbarMenuButton;
 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;
@@ -48,6 +52,7 @@
 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;
@@ -61,6 +66,7 @@
 
     private BorderLayout layout;
     private boolean packagesLoaded = false;
+	private boolean deploymentPackagesLoaded = false;
 
     ExplorerViewCenterPanel centertabbedPanel;
 
@@ -75,21 +81,13 @@
         QuickTips.init();
 
         layout = createBorderLayout();
-
         centertabbedPanel = new ExplorerViewCenterPanel();
 
         ContentPanel ncp = new ContentPanel("north", "North Title");
 
-
         // setup the main / center panel
         ContentPanel centerPanel = new ContentPanel("center-panel");
-        /*
-        VerticalPanel contentPanel = new VerticalPanel();
-        contentPanel.setWidth("100%");
-        contentPanel.setHeight("100%");
 
-        contentPanel.add(centertabbedPanel);
-        */
         centerPanel.add(centertabbedPanel);
 
         layout.add(LayoutRegionConfig.CENTER, centerPanel);
@@ -117,20 +115,18 @@
 
         TabPanelItem tpCategory = tp.addTab("tpi1", "Rules", false);
         TabPanelItem tpPackageExplorer = tp.addTab("tpi2", "Packages", false);
-        TabPanelItem tpArchivedAssetManager = tp.addTab("tpi3", "Deployment",
+        TabPanelItem tpDeployment = tp.addTab("tpi3", "Deployment",
                 false);
-        TabPanelItem tpBackupManager = tp.addTab("tpi4", "Admin", false);
+        TabPanelItem tpAdmin = tp.addTab("tpi4", "Admin", false);
 
         VerticalPanel rulesPanel = new VerticalPanel();
         packagesPanel = new VerticalPanel();
-        VerticalPanel vp3 = new VerticalPanel();
+        final VerticalPanel deploymentPanel = new VerticalPanel();
         VerticalPanel vp4 = new VerticalPanel();
 
-        // vp1.add(categoriesExplorer(layout, "drools-rules"));
 
         /** **************************** */
-        ContentPanel baseCategory = new ContentPanel("eg-explorer",
-                "BRMS Explorer");
+        ContentPanel baseCategory = new ContentPanel("eg-explorer", "BRMS Explorer");
         baseCategory.setWidth(" 100%");
 
         TreePanel categoryTree = basicTreeStructure(ExplorerNodeConfig
@@ -201,8 +197,6 @@
         packagesPanel.add(pkgToolbar);
         packagesPanel.setWidth("100%");
 
-        vp3.add(createExamplesExplorer(layout, "drools-deployment"));
-
         /** ****************** */
         ContentPanel cp = new ContentPanel("eg-explorer", "BRMS Explorer");
         cp.setWidth(" 100%");
@@ -244,8 +238,10 @@
 
 
         tpPackageExplorer.setContent(packagesPanel);
-        tpArchivedAssetManager.setContent(vp3);
-        tpBackupManager.setContent(vp4);
+        tpDeployment.setContent(deploymentPanel);
+        tpAdmin.setContent(vp4);
+
+        //these panels are lazy loaded to easy startup wait time.
         tpPackageExplorer.addTabPanelItemListener(new TabPanelItemListenerAdapter() {
 			public void onActivate(TabPanelItem tab) {
         		if (!packagesLoaded) {
@@ -255,7 +251,18 @@
         	}
         });
 
+        tpDeployment.addTabPanelItemListener(new TabPanelItemListenerAdapter() {
 
+
+			public void onActivate(TabPanelItem tab) {
+        		if (!deploymentPackagesLoaded) {
+        			deploymentPanel.add(deploymentExplorer(centertabbedPanel));
+        			deploymentPackagesLoaded = true;
+        		}
+        	}
+        });
+
+
         tp.activate(0);
 
 
@@ -291,7 +298,7 @@
 
         m.addItem(new Item("New DRL (Technical rule)", new ItemConfig() {
         	{
-        		setIcon("images/technical_rule_assets.gif");
+        		setIcon("images/rule_asset.gif");
         		setBaseItemListener(new BaseItemListenerAdapter() {
         			public void onClick(BaseItem item, EventObject e) {
         				launchWizard(AssetFormats.DRL, "New DRL", true);
@@ -479,96 +486,93 @@
         return new BorderLayout("100%", "100%", north, null, west, null, center );
     }
 
-    private ContentPanel createExamplesExplorer(final BorderLayout layout,
-            final String menuconfig) {
+    private ContentPanel deploymentExplorer(final ExplorerViewCenterPanel tabPanel) {
+        final ContentPanel cp = new ContentPanel(Ext.generateId(), "Deployment Explorer");
+        cp.setWidth("100%");
 
-        // create and configure the main tree
-        final TreePanel menuTree = new TreePanel("eg-tree",
-                new TreePanelConfig() {
-                    {
-                        setAnimate(true);
-                        setEnableDD(true);
-                        setContainerScroll(true);
-                        setRootVisible(true);
+        final TreeNode root = new TreeNode("Package snapshots", new TreeNodeConfig() {
+        	{
+        		setIcon("images/silk/chart_organisation.gif");
+        	}
+        });
+
+		final TreePanel panel = genericExplorerWidget(root);
+        cp.add(panel);
+
+		RepositoryServiceFactory.getService().listPackages(
+                new GenericCallback() {
+                    public void onSuccess(Object data) {
+                        PackageConfigData value[] = (PackageConfigData[]) data;
+                        for (int i = 0; i < value.length; i++) {
+                        	TreeNode pkg = new TreeNode(value[i].name, new TreeNodeConfig() {
+                        		{
+                        			setIcon("images/package.gif");
+                        		}
+                        	});
+                        	pkg.setUserObject(value[i]);
+                        	pkg.appendChild(new TreeNode("Please wait..."));
+                            root.appendChild(pkg);
+                        }
+                        root.expand();
                     }
                 });
 
+		panel.addTreePanelListener(new TreePanelListenerAdapter() {
 
+			public void onCollapse(TreeNode node) {
+				Node[] children = node.getChildNodes();
+				for (int i = 0; i < children.length; i++) {
+					node.removeChild(children[i]);
+				}
+				node.appendChild(new TreeNode("Please wait..."));
+;			}
 
-        final XMLTreeLoader loader = new XMLTreeLoader(
-                new XMLTreeLoaderConfig() {
-                    {
+			public void onExpand(final TreeNode node) {
 
-                        setDataUrl("site-nav.xml");
-                        setMethod("get");
-                        setRootTag(menuconfig);
-                        setFolderTag("node");
-                        setFolderTitleMapping("@title");
-                        setLeafTitleMapping("@title");
-                        setLeafTag("leaf");
-                    }
-                });
+				PackageConfigData conf = (PackageConfigData) node.getUserObject();
+				RepositoryServiceFactory.getService().listSnapshots(conf.name, new GenericCallback() {
+					public void onSuccess(Object data) {
+						final SnapshotInfo[] snaps = (SnapshotInfo[]) data;
+						for (int i = 0; i < snaps.length; i++) {
+							final SnapshotInfo snapInfo = snaps[i];
+							TreeNode snap = new TreeNode(new TreeNodeConfig() {
+								{
+									setQtip(snapInfo.comment);
+									setText(snapInfo.name);
+								}
+							});
+							snap.setUserObject(snapInfo);
 
-        AsyncTreeNode root = new AsyncTreeNode("", new AsyncTreeNodeConfig() {
-            {
-                setLoader(loader);
-            }
-        });
+							node.appendChild(snap);
 
-        // setup a tree listener that reads the content panel associated with
-        // the
-        // node that is clicked and then displays it in the main / center panel
-        TreePanelListener treePanelListener = new TreePanelListenerAdapter() {
-            public void onClick(TreeNode self, EventObject e) {
-                String screenName = BRMSContentManager.getScreenName(self, self
-                        .getText());
-                if (screens.containsKey(screenName)) {
-                    BRMSContentManager panel = (BRMSContentManager) screens
-                            .get(screenName);
-                    LayoutRegion region = layout
-                            .getRegion(LayoutRegionConfig.CENTER);
-                    region.removeAll(true);
-                    ContentPanel[] panels = panel.getPanels();
-                    for (int i = 0; i < panels.length; i++) {
-                        ContentPanel contentPanel = panels[i];
-                        layout.add(contentPanel);
-                    }
-                    region.showPanel(0);
-                }
-                System.out.println("Clicked on Node: " + self.getText());
-                System.out.println("Clicked on Node: "
-                        + self.getAttribute("id"));
-            }
-        };
+						}
+						node.removeChild(node.getFirstChild());
 
-        // register listener
-        menuTree.addTreePanelListener(treePanelListener);
 
-        menuTree.setRootNode(root);
-        // menuTree.getRootNode().appendChild( child )
-        menuTree.render();
+					}
+				});
 
-        // loads tree data asynchronously
-        root.expand();
+			}
 
-        menuTree.expandAll();
 
-        ContentPanel cp = new ContentPanel("eg-explorer", "BRMS Explorer");
+			public void onClick(TreeNode node, EventObject e) {
+				if (node.getUserObject() instanceof SnapshotInfo) {
+					SnapshotInfo snap = (SnapshotInfo) node.getUserObject();
+				}
+			}
+		});
 
-        cp.setWidth(" 100%");
-        cp.add(menuTree);
-
         return cp;
     }
 
+
     /**
      * Build the package explorer panel.
      */
-    private ContentPanel packageExplorer(
-            final ExplorerViewCenterPanel tabPanel) {
+    private ContentPanel packageExplorer(final ExplorerViewCenterPanel tabPanel) {
 
         final ContentPanel cp = new ContentPanel(Ext.generateId(), "Package Explorer");
-        cp.setWidth(" 100%");
+        cp.setWidth("100%");
 
         TreeNode root = new TreeNode("Packages");
         root.setAttribute("icon", "images/silk/chart_organisation.gif");

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-04 06:20:09 UTC (rev 18293)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerNodeConfig.java	2008-02-04 07:52:05 UTC (rev 18294)
@@ -153,10 +153,8 @@
 								childNode.setUserObject((path.equals("/")) ? current : path + "/" + current);
 								childNode.appendChild(new TreeNode("Please wait..."));
 								childNode.addTreeNodeListener(new TreeNodeListenerAdapter() {
-
 									boolean expanding = false;
 
-
 									public void onExpand(Node node) {
 
 										if (!expanding) {
@@ -179,8 +177,9 @@
 	}
 
 	private static void infanticide(final TreeNode treeNode) {
-		for (int i = 0; i < treeNode.getChildNodes().length; i++) {
-			treeNode.removeChild(treeNode.getChildNodes()[i]);
+		Node[] children = treeNode.getChildNodes();
+		for (int i = 0; i < children.length; i++) {
+			treeNode.removeChild(children[i]);
 		}
 	}
 




More information about the jboss-svn-commits mailing list