[jboss-svn-commits] JBL Code SVN: r35036 - 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 13:54:01 EDT 2010


Author: jervisliu
Date: 2010-09-06 13:54:00 -0400 (Mon, 06 Sep 2010)
New Revision: 35036

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.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/PackagesTree.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java
Log:
GWTExt replacement: GUVNOR-618: refresh tree properly. 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java	2010-09-06 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java	2010-09-06 17:54:00 UTC (rev 35036)
@@ -26,6 +26,8 @@
 import com.google.gwt.user.client.ui.ScrollPanel;
 import com.google.gwt.user.client.ui.SplitLayoutPanel;
 import com.google.gwt.user.client.ui.StackLayoutPanel;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
 import com.google.gwt.user.client.History;
 import com.google.gwt.dom.client.Style.Unit;
 
@@ -112,7 +114,7 @@
         //Knowledge Bases (Packages)
         if (shouldShow(Capabilities.SHOW_PACKAGE_VIEW)) {
         	DockLayoutPanel packageDockLayoutPanel = new DockLayoutPanel(Unit.EM);
-            PackagesTree packagesTreeItem = new PackagesTree(centertabbedPanel);
+            final PackagesTree packagesTreeItem = new PackagesTree(centertabbedPanel);
             ScrollPanel packagesTreeItemPanel = new ScrollPanel(packagesTreeItem.getTree());
             
             if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_CREATE_NEW_ASSET)) {
@@ -121,18 +123,13 @@
             packageDockLayoutPanel.add(packagesTreeItemPanel);
             
             navigationStackLayoutPanel.add(packageDockLayoutPanel, packagesTreeItem.getHeaderHTML(), 2);
-                  	
-        	
-            //final PackagesPanel pp = new PackagesPanel(centertabbedPanel);
-            //accordion.add(createMailItem(images), mailHeader, true);
-            /*
+  
+            //lazy loaded to easy startup wait time.
             DeferredCommand.addCommand(new Command() {
                 public void execute() {
-                    pp.loadPackageList();
+                	packagesTreeItem.loadPackageList();
                 }
-            });
-            */
-
+            });         
         }
 
         //QA

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 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-09-06 17:54:00 UTC (rev 35036)
@@ -53,8 +53,10 @@
     public static final String INCOMING_ID = "incoming";
 
     //QA
-    public static final String TEST_SCENARIOS = "testScenarios";
-    public static final String ANALYSIS = "analysis";
+    public static final String TEST_SCENARIOS_ID = "testScenarios";
+    public static final String TEST_SCENARIOS_ROOT_ID = "roottestScenarios";
+    public static final String ANALYSIS_ID = "analysis";
+    public static final String ANALYSIS_ROOT_ID = "rootanalysis";
         
     //Package snapshot
     public static final String PACKAGE_SNAPSHOTS = "packageSnapshots";
@@ -355,53 +357,14 @@
         final TreeItem scenarios = new TreeItem(Util.getHeader(images.testManager(), constants.TestScenariosInPackages()));
         scenarios.addItem(new TreeItem(constants.PleaseWaitDotDotDot()));
         tree.addItem(scenarios);
-        tree.addOpenHandler(
-				new OpenHandler<TreeItem>() {
-					public void onOpen(
-							OpenEvent<TreeItem> event) {
-		                RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
-		                    public void onSuccess(PackageConfigData[] conf) {
-		                        for ( int i = 0; i < conf.length; i++ ) {
-		                            final PackageConfigData c = conf[i];
-		                            TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
-
-		                            scenarios.addItem(pkg);
-		                            pkg.setUserObject(c);	
-		                            itemWidgets.put(pkg, TEST_SCENARIOS);
-		                        }
-		                        scenarios.removeItem(scenarios.getChild(0));
-		                    }
-		                } );
-					}
-		});
-
+        itemWidgets.put(scenarios, TEST_SCENARIOS_ROOT_ID);
 		
         final TreeItem analysis = new TreeItem(Util.getHeader(images.analyze(), constants.Analysis()));
         analysis.addItem(new TreeItem(constants.PleaseWaitDotDotDot()));
+        itemWidgets.put(analysis, ANALYSIS_ROOT_ID);
 
         if (Preferences.getBooleanPref("verifier")) {
         	tree.addItem(analysis);
-            tree.addOpenHandler(
-    				new OpenHandler<TreeItem>() {
-    					public void onOpen(
-    							OpenEvent<TreeItem> event) {
-    				           RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
-    				                public void onSuccess(PackageConfigData[] conf) {
-
-    				                    for ( int i = 0; i < conf.length; i++ ) {
-    				                        final PackageConfigData c = conf[i];
-    			                            TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
-
-    				                        analysis.addItem(pkg);
-    			                            pkg.setUserObject(c);	
-    			                            itemWidgets.put(pkg, ANALYSIS);
-     				                    }
-    				                    analysis.removeItem(analysis.getChild(0));
-    				                }
-    				            } );
-    					}
-    		});        
-        	
         }
 
         return tree;

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 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java	2010-09-06 17:54:00 UTC (rev 35036)
@@ -56,7 +56,13 @@
         this.name = constants.KnowledgeBases();
         this.image = images.packages();
 
+    	mainTree = new Tree();    	
+    	mainTree.setAnimationEnabled(true);
+    	//lazy loaded to easy startup wait time.
+        //setupPackagesTree(this.centertabbedPanel);
+        mainTree.addSelectionHandler(this);
 
+
         //these panels are lazy loaded to easy startup wait time.
 /*        addListener(new PanelListenerAdapter() {
         	public void onExpand(Panel panel) {
@@ -65,21 +71,17 @@
         });
 
         add(packagesPanel);
-        */
-    	mainTree = new Tree();    	
-    	mainTree.setAnimationEnabled(true);
-        setupPackagesTree(tabbedPanel);
-        mainTree.addSelectionHandler(this);
+        */    
+    }
 
-    }
-/*
     public void loadPackageList() {
         if (!packagesLoaded) {
-            packagesPanel.add(packageExplorer(centertabbedPanel));
+            setupPackagesTree(this.centertabbedPanel);
+            mainTree.addSelectionHandler(this);
             packagesLoaded = true;
         }
     }
-*/
+
     public void refreshTree() {
     	mainTree.clear(); 
     	itemWidgets.clear();

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java	2010-09-06 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java	2010-09-06 17:54:00 UTC (rev 35036)
@@ -17,23 +17,29 @@
 package org.drools.guvnor.client.explorer;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 import com.google.gwt.user.client.ui.TreeItem;
 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;
 
 import com.gwtext.client.util.Format;
 
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.common.Util;
 import org.drools.guvnor.client.images.Images;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.qa.AnalysisView;
 import org.drools.guvnor.client.qa.ScenarioPackageView;
 import org.drools.guvnor.client.rpc.PackageConfigData;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
 import org.drools.guvnor.client.ruleeditor.MultiViewRow;
 import org.drools.guvnor.client.rulelist.EditItemEvent;
 
-public class QATree extends AbstractTree {
+public class QATree extends AbstractTree implements OpenHandler<TreeItem> {
     private static Constants constants = GWT.create(Constants.class);
     private static Images images = (Images) GWT.create(Images.class);       
 
@@ -48,6 +54,7 @@
 
         //Add Selection listener
         mainTree.addSelectionHandler(this);
+        mainTree.addOpenHandler((OpenHandler<TreeItem>)this);       
     }
     
     public void onSelection(SelectionEvent<TreeItem> event) {
@@ -57,8 +64,8 @@
 			PackageConfigData pc = (PackageConfigData) item.getUserObject();
 			String id = itemWidgets.get(item);
 			
-			if (ExplorerNodeConfig.TEST_SCENARIOS.equals(id)) {
-				if (!centertabbedPanel.showIfOpen("scenarios" + pc.uuid)) { // NON-NLS
+			if (ExplorerNodeConfig.TEST_SCENARIOS_ID.equals(id)) {
+				if (!centertabbedPanel.showIfOpen("scenarios" + pc.uuid)) { 
 					final EditItemEvent edit = new EditItemEvent() {
 						public void open(String key) {
 							centertabbedPanel.openAsset(key);
@@ -77,7 +84,7 @@
 							pc.uuid, pc.name, edit, centertabbedPanel),
 							"scenarios" + pc.uuid);
 				}
-			} else if (ExplorerNodeConfig.ANALYSIS.equals(id)) {
+			} else if (ExplorerNodeConfig.ANALYSIS_ID.equals(id)) {
                 if (!centertabbedPanel.showIfOpen("analysis" + pc.uuid)) { //NON-NLS
                     final EditItemEvent edit = new EditItemEvent() {
                         public void open(String key) {
@@ -102,4 +109,64 @@
 			}
         }
     }  
+    
+	public void onOpen(OpenEvent<TreeItem> event) {
+		final TreeItem node = event.getTarget();
+		if (ExplorerNodeConfig.TEST_SCENARIOS_ROOT_ID.equals(itemWidgets.get(node))) { 
+            RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+                public void onSuccess(PackageConfigData[] conf) {
+                    node.removeItems();
+                    removeTestScenarioIDs(itemWidgets);
+
+                    for ( int i = 0; i < conf.length; i++ ) {
+                        final PackageConfigData c = conf[i];
+                        TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
+
+                        node.addItem(pkg);
+                        pkg.setUserObject(c);	
+                        itemWidgets.put(pkg, ExplorerNodeConfig.TEST_SCENARIOS_ID);
+                    }
+                    //scenarios.removeItem(scenarios.getChild(0));
+                }
+            } );
+		} else if (ExplorerNodeConfig.ANALYSIS_ROOT_ID.equals(itemWidgets.get(node))) { 
+	           RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+	                public void onSuccess(PackageConfigData[] conf) {
+	                    node.removeItems();
+	                    removeAnalysisIDs(itemWidgets);
+	                    for ( int i = 0; i < conf.length; i++ ) {
+	                        final PackageConfigData c = conf[i];
+                           TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
+
+                           node.addItem(pkg);
+                           pkg.setUserObject(c);	
+                           itemWidgets.put(pkg, ExplorerNodeConfig.ANALYSIS_ID);
+	                    }
+	                }
+	            } );
+		}		
+	}
+	
+	private void removeTestScenarioIDs(Map<TreeItem, String> itemWidgets) {
+		Iterator<TreeItem> it = itemWidgets.keySet().iterator();		
+		while(it.hasNext()) {
+			TreeItem item = (TreeItem)it.next();
+		    String id = itemWidgets.get(item);
+			if(ExplorerNodeConfig.TEST_SCENARIOS_ID.equals(id)) {
+				it.remove();
+			}			
+		}
+	}
+	
+	
+	private void removeAnalysisIDs(Map<TreeItem, String> itemWidgets) {
+		Iterator<TreeItem> it = itemWidgets.keySet().iterator();		
+		while(it.hasNext()) {
+			TreeItem item = (TreeItem)it.next();
+		    String id = itemWidgets.get(item);
+			if(ExplorerNodeConfig.ANALYSIS_ID.equals(id)) {
+				it.remove();
+			}			
+		}
+	}
 }



More information about the jboss-svn-commits mailing list