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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 6 12:17:41 EDT 2010


Author: jervisliu
Date: 2010-09-06 12:17:40 -0400 (Mon, 06 Sep 2010)
New Revision: 35026

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesNewMenu.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
Log:
GWTExt replacement: GUVNOR-618: status list is not refreshed after adding a new status


Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java	2010-09-06 15:40:01 UTC (rev 35025)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java	2010-09-06 16:17:40 UTC (rev 35026)
@@ -37,6 +37,10 @@
 		return Util.getHeaderHTML(image, name);
 	}
 
+	public void refreshTree() {
+		
+	}
+	
 	protected void launchWizard(String format, String title, boolean showCats) {
 		NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
 			public void open(String key) {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java	2010-09-06 15:40:01 UTC (rev 35025)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java	2010-09-06 16:17:40 UTC (rev 35026)
@@ -17,6 +17,7 @@
 package org.drools.guvnor.client.explorer;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 import org.drools.guvnor.client.common.GenericCallback;
@@ -28,14 +29,17 @@
 import org.drools.guvnor.client.images.Images;
 import org.drools.guvnor.client.messages.Constants;
 
+import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.logical.shared.OpenEvent;
+import com.google.gwt.event.logical.shared.OpenHandler;
 import com.google.gwt.event.logical.shared.SelectionEvent;
 
 
-public class BrowseTree extends AbstractTree {
+public class BrowseTree extends AbstractTree implements OpenHandler<TreeItem> {
     private static Constants constants = GWT.create(Constants.class);
     private static Images images = (Images) GWT.create(Images.class);       
 
@@ -74,23 +78,23 @@
         this.name = constants.Browse();
         this.image = images.ruleAsset();
         
-        mainTree = ExplorerNodeConfig.getBrowseTree(itemWidgets);
-
-        //Add Selection listener
+    	mainTree = new Tree();    	
+    	mainTree.setAnimationEnabled(true);
+    	ExplorerNodeConfig.setupBrowseTree(mainTree, itemWidgets);
         mainTree.addSelectionHandler(this);
+        mainTree.addOpenHandler((OpenHandler<TreeItem>)this);       
     }
 
+    public void refreshTree() {
+    	mainTree.clear();    	
+    	itemWidgets.clear();
+    	ExplorerNodeConfig.setupBrowseTree(mainTree, itemWidgets);
+    }
+    
     // Show the associated widget in the deck panel
     public void onSelection(SelectionEvent<TreeItem> event) {
         TreeItem item = event.getSelectedItem();
         String widgetID = itemWidgets.get(item);
-         
-/*        //this refreshes the list.
-        if (content.equals(ExplorerNodeConfig.CATEGORY_ID)) { 
-            //self.getParentNode().replaceChild(ExplorerNodeConfig.getCategoriesStructure(), self);
-        } else if (content.equals(ExplorerNodeConfig.STATES_ID)) {   
-            //self.getParentNode().replaceChild(ExplorerNodeConfig.getStatesStructure(), self);
-        } else */
         	
         if (widgetID.equals(ExplorerNodeConfig.FIND_ID)) {     
             centertabbedPanel.openFind();
@@ -105,6 +109,41 @@
         }
     }  
 
+	public void onOpen(OpenEvent<TreeItem> event) {
+		final TreeItem node = event.getTarget();
+		if (ExplorerNodeConfig.STATES_ROOT_ID.equals(itemWidgets.get(node))) { 
+			removeStateIDs(itemWidgets);
+			node.removeItems();
+			ExplorerNodeConfig.setupStatesStructure(node, itemWidgets);
+		} else if (ExplorerNodeConfig.CATEGORY_ROOT_ID.equals(itemWidgets.get(node))) { 
+			removeCategoryIDs(itemWidgets);
+			node.removeItems();
+			ExplorerNodeConfig.setupCategoriesStructure(node, itemWidgets);
+		}		
+	}
+		
+	private void removeStateIDs(Map<TreeItem, String> itemWidgets) {
+		Iterator<TreeItem> it = itemWidgets.keySet().iterator();		
+		while(it.hasNext()) {
+			TreeItem item = (TreeItem)it.next();
+		    String id = itemWidgets.get(item);
+			if(id.startsWith(ExplorerNodeConfig.STATES_ID + "-")) {
+				it.remove();
+			}			
+		}
+	}
+	
+	private void removeCategoryIDs(Map<TreeItem, String> itemWidgets) {
+		Iterator<TreeItem> it = itemWidgets.keySet().iterator();		
+		while(it.hasNext()) {
+			TreeItem item = (TreeItem)it.next();
+		    String id = itemWidgets.get(item);
+			if(id.startsWith(ExplorerNodeConfig.CATEGORY_ID + "-")) {
+				it.remove();
+			}			
+		}	
+	}
+	
     /**
      * Show the inbox of the given name.
      */

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java	2010-09-06 15:40:01 UTC (rev 35025)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java	2010-09-06 16:17:40 UTC (rev 35026)
@@ -63,6 +63,8 @@
 							RepositoryServiceFactory.getService().listSnapshots(conf.name,
 									new GenericCallback<SnapshotInfo[]>() {
 										public void onSuccess(SnapshotInfo[] snaps) {
+											node.removeItems();
+											//node.removeItem(node.getChild(0));
 											for (final SnapshotInfo snapInfo : snaps) {
 												TreeItem snap = new TreeItem(snapInfo.name);
 												//snap.setTooltip(snapInfo.comment);
@@ -70,7 +72,6 @@
 												snap.setUserObject(new Object[] { snapInfo, conf });
 												node.addItem(snap);
 											}
-											node.removeItem(node.getChild(0));
 										}
 									});
 						}

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-09-06 15:40:01 UTC (rev 35025)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-09-06 16:17:40 UTC (rev 35026)
@@ -44,8 +44,10 @@
 
     //Browse
     public static final String FIND_ID = "find";
+    public static String     CATEGORY_ROOT_ID = "rootcategory";                                 //NON-NLS
     public static String     CATEGORY_ID = "category";                                 //NON-NLS
     public static String     STATES_ID   = "states";                                   //NON-NLS
+    public static String     STATES_ROOT_ID   = "rootstates";                                   //NON-NLS
     public static final String RECENT_EDITED_ID = "recentEdited";
     public static final String RECENT_VIEWED_ID = "recentViewed";
     public static final String INCOMING_ID = "incoming";
@@ -202,11 +204,8 @@
         return tree;
     }
 
-    public static Tree getBrowseTree(Map<TreeItem, String> itemWidgets) {
+    public static void setupBrowseTree(Tree tree, Map<TreeItem, String> itemWidgets) {
     	//TODO: TreeItem.setState(true) does not work as expected.
-    	
-    	Tree tree = new Tree();    	
-        tree.setAnimationEnabled(true);
  
         TreeItem root = tree.addItem(Util.getHeader(images.ruleAsset(), constants.AssetsTreeView()));
         //itemWidgets.put(root, constants.AssetsTreeView());
@@ -219,16 +218,19 @@
         root.addItem(inbox);
 
         if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_PACKAGE_VIEW)) {
-            TreeItem states = getStatesStructure(itemWidgets);
+            final TreeItem byStatus = new TreeItem(Util.getHeader(images.statusSmall(), constants.ByStatus()));
+            itemWidgets.put(byStatus, STATES_ROOT_ID);
+            setupStatesStructure(byStatus, itemWidgets);
             //states.setState(true);
-            root.addItem(states);
+            root.addItem(byStatus);
         }
         
-        TreeItem categories = getCategoriesStructure(itemWidgets);
-        //categories.setState(true);
-        root.addItem(categories);
+        TreeItem byCategory = new TreeItem(Util.getHeader(images.chartOrganisation(), constants.ByCategory()));
+        itemWidgets.put(byCategory, CATEGORY_ROOT_ID);
 
-        return tree;
+        setupCategoriesStructure(byCategory, itemWidgets);
+        //categories.setState(true);
+        root.addItem(byCategory);
     }
 
     private static TreeItem getInboxStructure(Map<TreeItem, String> itemWidgets) {
@@ -249,10 +251,8 @@
         return inbox;
     }
 
-    public static TreeItem getCategoriesStructure(final Map<TreeItem, String> itemWidgets) {
-        TreeItem byCategory = new TreeItem(Util.getHeader(images.chartOrganisation(), constants.ByCategory()));
+    public static void setupCategoriesStructure(TreeItem byCategory, final Map<TreeItem, String> itemWidgets) {
         doCategoryNode(byCategory, "/", itemWidgets);
-        return byCategory;
     }
 
 	private static void doCategoryNode(final TreeItem treeItem,
@@ -333,9 +333,7 @@
 		treeNode.removeItems();
 	}
 
-    public static TreeItem getStatesStructure(final Map<TreeItem, String> itemWidgets) {
-        final TreeItem byStatus = new TreeItem(Util.getHeader(images.statusSmall(), constants.ByStatus()));
-        
+    public static void setupStatesStructure(final TreeItem byStatus, final Map<TreeItem, String> itemWidgets) {
         RepositoryServiceFactory.getService().listStates( new GenericCallback<String[]>() {
             public void onSuccess(String[] value) {
                 for ( int i = 0; i < value.length; i++ ) {
@@ -348,8 +346,6 @@
                 }
             }
         } );
-
-        return byStatus;
     }
 
     public static Tree getQAStructure(final Map<TreeItem, String> itemWidgets) {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesNewMenu.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesNewMenu.java	2010-09-06 15:40:01 UTC (rev 35025)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesNewMenu.java	2010-09-06 16:17:40 UTC (rev 35026)
@@ -47,7 +47,7 @@
             public void execute() {
                 NewPackageWizard wiz = new NewPackageWizard(new Command() {
                     public void execute() {
-                        //refreshPackageTree();
+                    	manager.refreshTree();
                     }
                 });
                 wiz.show();            }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java	2010-09-06 15:40:01 UTC (rev 35025)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java	2010-09-06 16:17:40 UTC (rev 35026)
@@ -19,7 +19,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.drools.guvnor.client.common.AssetFormats;
 import org.drools.guvnor.client.common.GenericCallback;
 import org.drools.guvnor.client.common.RulePackageSelector;
 import org.drools.guvnor.client.common.Util;
@@ -41,7 +40,6 @@
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
-import com.gwtext.client.widgets.tree.TreeNode;
 
 
 
@@ -68,7 +66,9 @@
 
         add(packagesPanel);
         */
-        mainTree = packageExplorer(tabbedPanel);
+    	mainTree = new Tree();    	
+    	mainTree.setAnimationEnabled(true);
+        setupPackagesTree(tabbedPanel);
         mainTree.addSelectionHandler(this);
 
     }
@@ -80,22 +80,19 @@
         }
     }
 */
-    private void refreshPackageTree() {
-    	//TODO (JLIU):
-        //packagesPanel.remove(1);
-        //packagesPanel.add(packageExplorer(centertabbedPanel));
+    public void refreshTree() {
+    	mainTree.clear(); 
+    	itemWidgets.clear();
+    	setupPackagesTree(centertabbedPanel);
     }
 
-    private Tree packageExplorer(final ExplorerViewCenterPanel tabPanel) {
-    	Tree rootNode = new Tree();    	
-    	rootNode.setAnimationEnabled(true);
- 
-    	TreeItem packageRootNode = rootNode.addItem(Util.getHeader(images.chartOrganisation(), constants.Packages()));
+    private void setupPackagesTree(final ExplorerViewCenterPanel tabPanel) {
+    	TreeItem packageRootNode = mainTree.addItem(Util.getHeader(images.chartOrganisation(), constants.Packages()));
         packageRootNode.setState(true);
 		loadPackages(packageRootNode, itemWidgets);
-		rootNode.addItem(packageRootNode);
+		mainTree.addItem(packageRootNode);
 
-		loadGlobal(rootNode, itemWidgets);
+		loadGlobal(mainTree, itemWidgets);
 
 /*            @Override
             public void onCollapseNode(final TreeItem node) {
@@ -108,7 +105,7 @@
                 }
             }*/
 
-        return rootNode;
+        //return mainTree;
     }
 
     private void loadPackages(final TreeItem root, final Map<TreeItem, String> itemWidgets) {
@@ -179,13 +176,6 @@
     public void onSelection(SelectionEvent<TreeItem> event) {
         TreeItem node = event.getSelectedItem();
         //String widgetID = itemWidgets.get(node);
-         
-/*        //this refreshes the list.
-        if (content.equals(ExplorerNodeConfig.CATEGORY_ID)) { 
-            //self.getParentNode().replaceChild(ExplorerNodeConfig.getCategoriesStructure(), self);
-        } else if (content.equals(ExplorerNodeConfig.STATES_ID)) {   
-            //self.getParentNode().replaceChild(ExplorerNodeConfig.getStatesStructure(), self);
-        } else */
         	
 		if (node.getUserObject() instanceof PackageConfigData
 				&& !"global".equals(((PackageConfigData) node.getUserObject()).name)) {
@@ -196,7 +186,7 @@
 			centertabbedPanel.openPackageEditor(uuid, new Command() {
 				public void execute() {
 					// refresh the package tree.
-					refreshPackageTree();
+					refreshTree();
 				}
 			});
 		} else if (node.getUserObject() instanceof Object[]) {



More information about the jboss-svn-commits mailing list