[jboss-svn-commits] JBL Code SVN: r35494 - 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
Tue Oct 12 09:34:58 EDT 2010


Author: Rikkola
Date: 2010-10-12 09:34:57 -0400 (Tue, 12 Oct 2010)
New Revision: 35494

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
Log:
GUVNOR-667 : Clicking any item from the LHS list calls PackagesTree.onSelection() twice 

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-10-12 10:39:21 UTC (rev 35493)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java	2010-10-12 13:34:57 UTC (rev 35494)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");

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-10-12 10:39:21 UTC (rev 35493)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-10-12 13:34:57 UTC (rev 35494)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -38,330 +38,360 @@
  * This class contains static node config for BRMS' explorer widgets
  */
 public class ExplorerNodeConfig {
-    
-    private static Constants constants   = ((Constants) GWT.create( Constants.class ));
-    private static Images images = (Images) GWT.create(Images.class);
 
+    private static Constants   constants              = ((Constants) GWT.create( Constants.class ));
+    private static Images      images                 = (Images) GWT.create( Images.class );
+
     //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";
+    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";
 
     //QA
-    public static final String TEST_SCENARIOS_ID = "testScenarios";
+    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";
-        
+    public static final String ANALYSIS_ID            = "analysis";
+    public static final String ANALYSIS_ROOT_ID       = "rootanalysis";
+
     //Package snapshot
-    public static final String PACKAGE_SNAPSHOTS = "packageSnapshots";
+    public static final String PACKAGE_SNAPSHOTS      = "packageSnapshots";
 
-    
     public static TreeItem getPackageItemStructure(String packageName,
                                                    String uuid,
                                                    final Map<TreeItem, String> itemWidgets) {
-    	TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), packageName));
-        itemWidgets.put(pkg, uuid);
+        TreeItem pkg = new TreeItem( Util.getHeader( images.packages(),
+                                                     packageName ) );
+        itemWidgets.put( pkg,
+                         uuid );
 
-        TreeItem item = new TreeItem(Util.getHeader(images.ruleAsset(), constants.BusinessRuleAssets()));
-        //itemWidgets.put(item, AssetFormats.BUSINESS_RULE_FORMATS[0]);
-        item.setUserObject(AssetFormats.BUSINESS_RULE_FORMATS);
-        pkg.addItem(item);
-        
-        item = new TreeItem(Util.getHeader(images.technicalRuleAssets(), constants.TechnicalRuleAssets()));
-        itemWidgets.put(item, AssetFormats.DRL);
-        item.setUserObject(new String[]{AssetFormats.DRL});
-        pkg.addItem(item);        
-        
-        item = new TreeItem(Util.getHeader(images.functionAssets(), constants.Functions()));
-        itemWidgets.put(item, AssetFormats.FUNCTION);
-        item.setUserObject(new String[]{AssetFormats.FUNCTION});
-        pkg.addItem(item);        
-        
-        item = new TreeItem(Util.getHeader(images.modelAsset(), constants.DSLConfigurations()));
-        itemWidgets.put(item, AssetFormats.DSL);
-        item.setUserObject(new String[]{AssetFormats.DSL});
-        pkg.addItem(item);        
+        TreeItem item = new TreeItem( Util.getHeader( images.ruleAsset(),
+                                                      constants.BusinessRuleAssets() ) );
+        item.setUserObject( AssetFormats.BUSINESS_RULE_FORMATS );
+        pkg.addItem( item );
 
-        item = new TreeItem(Util.getHeader(images.modelAsset(), constants.Model()));
-        itemWidgets.put(item, AssetFormats.DRL_MODEL);
-        item.setUserObject(new String[]{AssetFormats.DRL_MODEL,AssetFormats.MODEL});
-        pkg.addItem(item);
-        
+        item = new TreeItem( Util.getHeader( images.technicalRuleAssets(),
+                                             constants.TechnicalRuleAssets() ) );
+        itemWidgets.put( item,
+                         AssetFormats.DRL );
+        item.setUserObject( new String[]{AssetFormats.DRL} );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.functionAssets(),
+                                             constants.Functions() ) );
+        itemWidgets.put( item,
+                         AssetFormats.FUNCTION );
+        item.setUserObject( new String[]{AssetFormats.FUNCTION} );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.modelAsset(),
+                                             constants.DSLConfigurations() ) );
+        itemWidgets.put( item,
+                         AssetFormats.DSL );
+        item.setUserObject( new String[]{AssetFormats.DSL} );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.modelAsset(),
+                                             constants.Model() ) );
+        itemWidgets.put( item,
+                         AssetFormats.DRL_MODEL );
+        item.setUserObject( new String[]{AssetFormats.DRL_MODEL, AssetFormats.MODEL} );
+        pkg.addItem( item );
+
         if ( Preferences.getBooleanPref( "flex-bpel-editor" ) ) {
-            item = new TreeItem(Util.getHeader(images.ruleflowSmall(), constants.RuleFlows()));
-            itemWidgets.put(item, AssetFormats.RULE_FLOW_RF);
-            item.setUserObject(new String[]{AssetFormats.RULE_FLOW_RF, AssetFormats.BPMN2_PROCESS, AssetFormats.BPEL_PACKAGE});
-            pkg.addItem(item);
+            item = new TreeItem( Util.getHeader( images.ruleflowSmall(),
+                                                 constants.RuleFlows() ) );
+            itemWidgets.put( item,
+                             AssetFormats.RULE_FLOW_RF );
+            item.setUserObject( new String[]{AssetFormats.RULE_FLOW_RF, AssetFormats.BPMN2_PROCESS, AssetFormats.BPEL_PACKAGE} );
+            pkg.addItem( item );
         } else {
-            item = new TreeItem(Util.getHeader(images.ruleflowSmall(), constants.RuleFlows()));
-            itemWidgets.put(item, AssetFormats.RULE_FLOW_RF);
-            item.setUserObject(new String[]{AssetFormats.RULE_FLOW_RF, AssetFormats.BPMN2_PROCESS});
-            pkg.addItem(item);
-            
+            item = new TreeItem( Util.getHeader( images.ruleflowSmall(),
+                                                 constants.RuleFlows() ) );
+            itemWidgets.put( item,
+                             AssetFormats.RULE_FLOW_RF );
+            item.setUserObject( new String[]{AssetFormats.RULE_FLOW_RF, AssetFormats.BPMN2_PROCESS} );
+            pkg.addItem( item );
+
         }
-        
-        item = new TreeItem(Util.getHeader(images.enumeration(), constants.Enumerations()));
-        itemWidgets.put(item, AssetFormats.ENUMERATION);
-        item.setUserObject(new String[]{AssetFormats.ENUMERATION});
-        pkg.addItem(item);
-        
-        item = new TreeItem(Util.getHeader(images.testManager(), constants.TestScenarios()));
-        itemWidgets.put(item, AssetFormats.TEST_SCENARIO);
-        item.setUserObject(new String[]{AssetFormats.TEST_SCENARIO});
-        pkg.addItem(item);
-        
-        item = new TreeItem(Util.getHeader(images.newFile(), constants.XMLProperties()));
-        itemWidgets.put(item, AssetFormats.PROPERTIES);
-        item.setUserObject(new String[]{AssetFormats.PROPERTIES});
-        pkg.addItem(item);
-        
-        item = new TreeItem(Util.getHeader(images.newFile(), constants.OtherAssetsDocumentation()));
-        itemWidgets.put(item, AssetFormats.PROPERTIES);
-        item.setUserObject(new String[0]);
-        pkg.addItem(item);      
-        
-        item = new TreeItem(Util.getHeader(images.workingset(), constants.WorkingSets()));
-        itemWidgets.put(item, AssetFormats.WORKING_SET);
-        item.setUserObject(new String[]{AssetFormats.WORKING_SET});
-        pkg.addItem(item);
 
+        item = new TreeItem( Util.getHeader( images.enumeration(),
+                                             constants.Enumerations() ) );
+        itemWidgets.put( item,
+                         AssetFormats.ENUMERATION );
+        item.setUserObject( new String[]{AssetFormats.ENUMERATION} );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.testManager(),
+                                             constants.TestScenarios() ) );
+        itemWidgets.put( item,
+                         AssetFormats.TEST_SCENARIO );
+        item.setUserObject( new String[]{AssetFormats.TEST_SCENARIO} );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.newFile(),
+                                             constants.XMLProperties() ) );
+        itemWidgets.put( item,
+                         AssetFormats.PROPERTIES );
+        item.setUserObject( new String[]{AssetFormats.PROPERTIES} );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.newFile(),
+                                             constants.OtherAssetsDocumentation() ) );
+        itemWidgets.put( item,
+                         AssetFormats.PROPERTIES );
+        item.setUserObject( new String[0] );
+        pkg.addItem( item );
+
+        item = new TreeItem( Util.getHeader( images.workingset(),
+                                             constants.WorkingSets() ) );
+        itemWidgets.put( item,
+                         AssetFormats.WORKING_SET );
+        item.setUserObject( new String[]{AssetFormats.WORKING_SET} );
+        pkg.addItem( item );
+
         return pkg;
     }
-    
-    public static void setupDeploymentTree(Tree tree, Map<TreeItem, String> itemWidgets) {
-        TreeItem root = tree.addItem(Util.getHeader(images.chartOrganisation(), constants.PackageSnapshots()));
-        root.setState(true);
-        itemWidgets.put(root, PACKAGE_SNAPSHOTS);
-        deploymentListPackages(root);
+
+    public static void setupDeploymentTree(Tree tree,
+                                           Map<TreeItem, String> itemWidgets) {
+        TreeItem root = tree.addItem( Util.getHeader( images.chartOrganisation(),
+                                                      constants.PackageSnapshots() ) );
+        root.setState( true );
+        itemWidgets.put( root,
+                         PACKAGE_SNAPSHOTS );
+        deploymentListPackages( root );
     }
-    
-	private static void deploymentListPackages(final TreeItem root) {
-		RepositoryServiceFactory.getService().listPackages(new GenericCallback<PackageConfigData[]>() {
-			public void onSuccess(PackageConfigData[] values) {
-				PackageHierarchy ph = new PackageHierarchy();
 
-				for (PackageConfigData val : values) {
-					ph.addPackage(val);
-				}
-				for (PackageHierarchy.Folder hf : ph.root.children) {
-					buildDeploymentTree(root, hf);
-				}
-				//root.expand();
-			}
-		});
-	}
+    private static void deploymentListPackages(final TreeItem root) {
+        RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+            public void onSuccess(PackageConfigData[] values) {
+                PackageHierarchy ph = new PackageHierarchy();
 
-    private static void buildDeploymentTree(TreeItem root, PackageHierarchy.Folder fldr) {
-        if (fldr.conf != null) {
-        	TreeItem pkg = new TreeItem(Util.getHeader(images.snapshotSmall(), fldr.conf.name));
-            pkg.setUserObject(fldr.conf);
-            pkg.addItem(new TreeItem(constants.PleaseWaitDotDotDot()));
-            root.addItem(pkg);
+                for ( PackageConfigData val : values ) {
+                    ph.addPackage( val );
+                }
+                for ( PackageHierarchy.Folder hf : ph.root.children ) {
+                    buildDeploymentTree( root,
+                                         hf );
+                }
+            }
+        } );
+    }
+
+    private static void buildDeploymentTree(TreeItem root,
+                                            PackageHierarchy.Folder fldr) {
+        if ( fldr.conf != null ) {
+            TreeItem pkg = new TreeItem( Util.getHeader( images.snapshotSmall(),
+                                                         fldr.conf.name ) );
+            pkg.setUserObject( fldr.conf );
+            pkg.addItem( new TreeItem( constants.PleaseWaitDotDotDot() ) );
+            root.addItem( pkg );
         } else {
-        	TreeItem tn = new TreeItem(Util.getHeader(images.emptyPackage(), fldr.name));
-            root.addItem(tn);
-            for (PackageHierarchy.Folder c : fldr.children) {
-                buildDeploymentTree(tn, c);
+            TreeItem tn = new TreeItem( Util.getHeader( images.emptyPackage(),
+                                                        fldr.name ) );
+            root.addItem( tn );
+            for ( PackageHierarchy.Folder c : fldr.children ) {
+                buildDeploymentTree( tn,
+                                     c );
             }
         }
     }
 
     public static Tree getAdminStructure(Map<TreeItem, String> itemWidgets) {
-    	Tree tree = new Tree();    	
-        tree.setAnimationEnabled(true); 
+        Tree tree = new Tree();
+        tree.setAnimationEnabled( true );
 
-        //TreeItem adminNode = new TreeItem( constants.Admin() );
-        //tree.addItem(adminNode);
-        //adminNode.setAttribute("icon", "images/managment.gif");
+        Object[][] adminStructure = new Object[][]{{constants.Category(), images.categorySmall(), "0"}, {constants.Status(), images.tag(), "2"}, {constants.Archive(), images.backupSmall(), "1"}, {constants.EventLog(), images.error(), "4"},
+                {constants.UserPermission(), images.icoUsers(), "5"}, {constants.ImportExport(), images.saveEdit(), "3"}, {constants.RulesVerification(), images.ruleVerification(), "7"}, {constants.RepositoryConfiguration(), images.config(), "8"},
+                {constants.About(), images.information(), "6"}};
 
-        Object[][] adminStructure = new Object[][] {
-				{ constants.Category(), images.categorySmall(), "0"},
-                { constants.Status(), images.tag(), "2" },
-				{ constants.Archive(), images.backupSmall(), "1" }, 
-                { constants.EventLog(), images.error(), "4" },
-                { constants.UserPermission(), images.icoUsers(), "5" },
-				{ constants.ImportExport(), images.saveEdit(), "3" },
-				{ constants.RulesVerification(), images.ruleVerification(), "7" },
-		        { constants.RepositoryConfiguration(), images.config(), "8"},
-				{ constants.About(), images.information(), "6" }};
-
         for ( int i = 0; i < adminStructure.length; i++ ) {
 
             Object[] packageData = adminStructure[i];
-            TreeItem localChildNode = new TreeItem(Util.getHeader((ImageResource)packageData[1], (String)packageData[0]));
-            itemWidgets.put(localChildNode, (String)packageData[2]);
-			//localChildNode.setAttribute("id", packageData[2]);
+            TreeItem localChildNode = new TreeItem( Util.getHeader( (ImageResource) packageData[1],
+                                                                    (String) packageData[0] ) );
+            itemWidgets.put( localChildNode,
+                             (String) packageData[2] );
 
-            tree.addItem(localChildNode);
+            tree.addItem( localChildNode );
         }
         return tree;
     }
 
-    public static void setupBrowseTree(Tree tree, Map<TreeItem, String> itemWidgets) {
-    	//TODO: TreeItem.setState(true) does not work as expected.
- 
-        TreeItem root = tree.addItem(Util.getHeader(images.ruleAsset(), constants.AssetsTreeView()));
-        //itemWidgets.put(root, constants.AssetsTreeView());
+    public static void setupBrowseTree(Tree tree,
+                                       Map<TreeItem, String> itemWidgets) {
 
-        TreeItem find = root.addItem(Util.getHeader(images.find(), constants.Find()));
-        itemWidgets.put(find, FIND_ID);
+        TreeItem root = tree.addItem( Util.getHeader( images.ruleAsset(),
+                                                      constants.AssetsTreeView() ) );
 
-        TreeItem inbox = getInboxStructure(itemWidgets);
-        inbox.setState(true);
-        root.addItem(inbox);
+        TreeItem find = root.addItem( Util.getHeader( images.find(),
+                                                      constants.Find() ) );
+        itemWidgets.put( find,
+                         FIND_ID );
 
-        if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_PACKAGE_VIEW)) {
-            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(byStatus);
+        TreeItem inbox = getInboxStructure( itemWidgets );
+        inbox.setState( true );
+        root.addItem( inbox );
+
+        if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+            final TreeItem byStatus = new TreeItem( Util.getHeader( images.statusSmall(),
+                                                                    constants.ByStatus() ) );
+            itemWidgets.put( byStatus,
+                             STATES_ROOT_ID );
+            setupStatesStructure( byStatus,
+                                  itemWidgets );
+            root.addItem( byStatus );
         }
-        
-        TreeItem byCategory = new TreeItem(Util.getHeader(images.chartOrganisation(), constants.ByCategory()));
-        itemWidgets.put(byCategory, CATEGORY_ROOT_ID);
 
-        setupCategoriesStructure(byCategory, itemWidgets);
-        //categories.setState(true);
-        root.addItem(byCategory);
+        TreeItem byCategory = new TreeItem( Util.getHeader( images.chartOrganisation(),
+                                                            constants.ByCategory() ) );
+        itemWidgets.put( byCategory,
+                         CATEGORY_ROOT_ID );
+
+        setupCategoriesStructure( byCategory,
+                                  itemWidgets );
+        root.addItem( byCategory );
     }
 
     private static TreeItem getInboxStructure(Map<TreeItem, String> itemWidgets) {
-        TreeItem inbox = new TreeItem(Util.getHeader(images.inbox(), constants.Inbox()));
-        
-        TreeItem incomingChanges = new TreeItem(Util.getHeader(images.categorySmall(), constants.IncomingChanges()));
-        itemWidgets.put(incomingChanges, INCOMING_ID);
-        inbox.addItem(incomingChanges);
+        TreeItem inbox = new TreeItem( Util.getHeader( images.inbox(),
+                                                       constants.Inbox() ) );
 
-        TreeItem recentOpened = new TreeItem(Util.getHeader(images.categorySmall(), constants.RecentlyOpened()));
-        itemWidgets.put(recentOpened, RECENT_VIEWED_ID);
-        inbox.addItem(recentOpened);
+        TreeItem incomingChanges = new TreeItem( Util.getHeader( images.categorySmall(),
+                                                                 constants.IncomingChanges() ) );
+        itemWidgets.put( incomingChanges,
+                         INCOMING_ID );
+        inbox.addItem( incomingChanges );
 
-        TreeItem recentEdited = new TreeItem(Util.getHeader(images.categorySmall(), constants.RecentlyEdited()));
-        itemWidgets.put(recentEdited, RECENT_EDITED_ID);
-        inbox.addItem(recentEdited);
-        
+        TreeItem recentOpened = new TreeItem( Util.getHeader( images.categorySmall(),
+                                                              constants.RecentlyOpened() ) );
+        itemWidgets.put( recentOpened,
+                         RECENT_VIEWED_ID );
+        inbox.addItem( recentOpened );
+
+        TreeItem recentEdited = new TreeItem( Util.getHeader( images.categorySmall(),
+                                                              constants.RecentlyEdited() ) );
+        itemWidgets.put( recentEdited,
+                         RECENT_EDITED_ID );
+        inbox.addItem( recentEdited );
+
         return inbox;
     }
 
-    public static void setupCategoriesStructure(TreeItem byCategory, final Map<TreeItem, String> itemWidgets) {
-        doCategoryNode(byCategory, "/", itemWidgets);
+    public static void setupCategoriesStructure(TreeItem byCategory,
+                                                final Map<TreeItem, String> itemWidgets) {
+        doCategoryNode( byCategory,
+                        "/",
+                        itemWidgets );
     }
 
-	private static void doCategoryNode(final TreeItem treeItem,
-			final String path, final Map<TreeItem, String> itemWidgets) {
-		infanticide(treeItem);
-		RepositoryServiceFactory.getService().loadChildCategories(path,
-				new GenericCallback() {
-					public void onSuccess(Object data) {
-						final String value[] = (String[]) data;
-						if (value.length == 0) {
-							if (path.equals("/")
-									&& ExplorerLayoutManager
-											.shouldShow(Capabilities.SHOW_ADMIN)) {
-								RepositoryServiceFactory
-										.getService()
-										.listPackages(
-												new GenericCallback<PackageConfigData[]>() {
-													public void onSuccess(
-															PackageConfigData[] result) {
-														if (result.length == 1) {
-															doNewRepoDialog();
-														}
-													}
-												});
-							}
-							infanticide(treeItem);
-						} else {
-							for (int i = 0; i < value.length; i++) {
+    private static void doCategoryNode(final TreeItem treeItem,
+                                       final String path,
+                                       final Map<TreeItem, String> itemWidgets) {
+        infanticide( treeItem );
+        RepositoryServiceFactory.getService().loadChildCategories( path,
+                                                                   new GenericCallback<String[]>() {
+                                                                       public void onSuccess(String[] value) {
+                                                                           if ( value.length == 0 ) {
+                                                                               if ( path.equals( "/" ) && ExplorerLayoutManager.shouldShow( Capabilities.SHOW_ADMIN ) ) {
+                                                                                   RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+                                                                                       public void onSuccess(PackageConfigData[] result) {
+                                                                                           if ( result.length == 1 ) {
+                                                                                               doNewRepoDialog();
+                                                                                           }
+                                                                                       }
+                                                                                   } );
+                                                                               }
+                                                                               infanticide( treeItem );
+                                                                           } else {
+                                                                               for ( int i = 0; i < value.length; i++ ) {
 
-								final String current = value[i];
-								final TreeItem childNode = new TreeItem(
-										Util.getHeader(images.categorySmall(),
-												current));
-								
-								//ID for category tabs. 
-								String widgetId = CATEGORY_ID + "-" + ((path.equals("/")) ? current : path
-										+ "/" + current);
-								itemWidgets.put(childNode, widgetId);
-								treeItem.addItem(childNode);
-								
-/*								childNode.setUserObject(path.equals("/") ? current : path
-								+ "/" + current);*/
-								childNode.addItem(new TreeItem(Util.getHeader(images.categorySmall(),
-										constants.PleaseWaitDotDotDot())));
-								childNode.getTree().addOpenHandler(
-										new OpenHandler<TreeItem>() {
-											boolean expanding = false;
+                                                                                   final String current = value[i];
+                                                                                   final TreeItem childNode = new TreeItem( Util.getHeader( images.categorySmall(),
+                                                                                                                                            current ) );
 
-											public void onOpen(
-													OpenEvent<TreeItem> event) {
-												if (!expanding && event.getTarget() == childNode) {
-													expanding = true;
-													String widgetID = itemWidgets.get(event.getTarget());
-													String path = widgetID.substring(widgetID.indexOf("-") + 1);
-													infanticide( childNode );
-													doCategoryNode(
-															childNode,
-															path,
-															itemWidgets);
-													// childNode.expand();
-													expanding = false;
-												}
-											}
-										});
-							}
-						}
-					}
+                                                                                   //ID for category tabs. 
+                                                                                   String widgetId = CATEGORY_ID + "-" + ((path.equals( "/" )) ? current : path + "/" + current);
+                                                                                   itemWidgets.put( childNode,
+                                                                                                    widgetId );
+                                                                                   treeItem.addItem( childNode );
 
-					private void doNewRepoDialog() {
-						NewRepoDialog diag = new NewRepoDialog();
-						diag.show();
-					}
+                                                                                   childNode.addItem( new TreeItem( Util.getHeader( images.categorySmall(),
+                                                                                                                                    constants.PleaseWaitDotDotDot() ) ) );
+                                                                                   childNode.getTree().addOpenHandler( new OpenHandler<TreeItem>() {
+                                                                                       boolean expanding = false;
 
-				});
-	}
+                                                                                       public void onOpen(OpenEvent<TreeItem> event) {
+                                                                                           if ( !expanding && event.getTarget() == childNode ) {
+                                                                                               expanding = true;
+                                                                                               String widgetID = itemWidgets.get( event.getTarget() );
+                                                                                               String path = widgetID.substring( widgetID.indexOf( "-" ) + 1 );
+                                                                                               infanticide( childNode );
+                                                                                               doCategoryNode( childNode,
+                                                                                                               path,
+                                                                                                               itemWidgets );
+                                                                                               expanding = false;
+                                                                                           }
+                                                                                       }
+                                                                                   } );
+                                                                               }
+                                                                           }
+                                                                       }
 
-	private static void infanticide(final TreeItem treeNode) {
-		treeNode.removeItems();
-	}
+                                                                       private void doNewRepoDialog() {
+                                                                           NewRepoDialog diag = new NewRepoDialog();
+                                                                           diag.show();
+                                                                       }
 
-    public static void setupStatesStructure(final TreeItem byStatus, final Map<TreeItem, String> itemWidgets) {
+                                                                   } );
+    }
+
+    private static void infanticide(final TreeItem treeNode) {
+        treeNode.removeItems();
+    }
+
+    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++ ) {
-                	TreeItem childNode = new TreeItem(Util.getHeader(images.categorySmall(), value[i]));
-                	
-                	//ID for state tabs. 
-                	String widgetID = STATES_ID + "-" + value[i];
-                    itemWidgets.put(childNode, widgetID);
-                    byStatus.addItem(childNode);
+                    TreeItem childNode = new TreeItem( Util.getHeader( images.categorySmall(),
+                                                                       value[i] ) );
+
+                    //ID for state tabs. 
+                    String widgetID = STATES_ID + "-" + value[i];
+                    itemWidgets.put( childNode,
+                                     widgetID );
+                    byStatus.addItem( childNode );
                 }
             }
         } );
     }
 
     public static Tree getQAStructure(final Map<TreeItem, String> itemWidgets) {
-    	Tree tree = new Tree();    	
-        tree.setAnimationEnabled(true);
+        Tree tree = new Tree();
+        tree.setAnimationEnabled( true );
 
-        final TreeItem scenarios = new TreeItem(Util.getHeader(images.testManager(), constants.TestScenariosInPackages()));
-        scenarios.addItem(new TreeItem(constants.PleaseWaitDotDotDot()));
-        tree.addItem(scenarios);
-        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);
+        final TreeItem scenarios = new TreeItem( Util.getHeader( images.testManager(),
+                                                                 constants.TestScenariosInPackages() ) );
+        scenarios.addItem( new TreeItem( constants.PleaseWaitDotDotDot() ) );
+        tree.addItem( scenarios );
+        itemWidgets.put( scenarios,
+                         TEST_SCENARIOS_ROOT_ID );
 
-        if (Preferences.getBooleanPref("verifier")) {
-        	tree.addItem(analysis);
+        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 );
         }
 
         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-10-12 10:39:21 UTC (rev 35493)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java	2010-10-12 13:34:57 UTC (rev 35494)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -41,198 +41,220 @@
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 
-
-
 public class PackagesTree extends AbstractTree {
-    private static Constants constants = GWT.create(Constants.class);
-    private static Images images = (Images) GWT.create(Images.class);       
+    private static Constants      constants      = GWT.create( Constants.class );
+    private static Images         images         = (Images) GWT.create( Images.class );
 
-    private Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
+    private Map<TreeItem, String> itemWidgets    = new HashMap<TreeItem, String>();
 
-    private boolean packagesLoaded = false;
+    private boolean               packagesLoaded = false;
 
     public PackagesTree(ExplorerViewCenterPanel tabbedPanel) {
-        super(tabbedPanel);
+        super( tabbedPanel );
         this.name = constants.KnowledgeBases();
         this.image = images.packages();
 
-    	mainTree = new Tree();    	
-    	mainTree.setAnimationEnabled(true);
-    	//lazy loaded to easy startup wait time.
+        mainTree = new Tree();
+        mainTree.setAnimationEnabled( true );
+        //lazy loaded to easy startup wait time.
         //setupPackagesTree(this.centertabbedPanel);
-        mainTree.addSelectionHandler(this);
+        mainTree.addSelectionHandler( this );
 
-
         //these panels are lazy loaded to easy startup wait time.
-/*        addListener(new PanelListenerAdapter() {
-        	public void onExpand(Panel panel) {
-                loadPackageList();
-            }
-        });
+        /*        addListener(new PanelListenerAdapter() {
+                	public void onExpand(Panel panel) {
+                        loadPackageList();
+                    }
+                });
 
-        add(packagesPanel);
-        */    
+                add(packagesPanel);
+                */
     }
 
     public void loadPackageList() {
-        if (!packagesLoaded) {
-            setupPackagesTree(this.centertabbedPanel);
-            mainTree.addSelectionHandler(this);
+        if ( !packagesLoaded ) {
+            setupPackagesTree( this.centertabbedPanel );
             packagesLoaded = true;
         }
     }
 
     public void refreshTree() {
-    	mainTree.clear(); 
-    	itemWidgets.clear();
-    	setupPackagesTree(centertabbedPanel);
+        mainTree.clear();
+        itemWidgets.clear();
+
+        setupPackagesTree( centertabbedPanel );
     }
 
     private void setupPackagesTree(final ExplorerViewCenterPanel tabPanel) {
-    	TreeItem packageRootNode = mainTree.addItem(Util.getHeader(images.chartOrganisation(), constants.Packages()));
-        packageRootNode.setState(true);
-		loadPackages(packageRootNode, itemWidgets);
-		mainTree.addItem(packageRootNode);
+        TreeItem packageRootNode = mainTree.addItem( Util.getHeader( images.chartOrganisation(),
+                                                                     constants.Packages() ) );
+        packageRootNode.setState( true );
+        loadPackages( packageRootNode,
+                      itemWidgets );
+        mainTree.addItem( packageRootNode );
 
-		loadGlobal(mainTree, itemWidgets);
+        loadGlobal( mainTree,
+                    itemWidgets );
 
-/*            @Override
-            public void onCollapseNode(final TreeItem node) {
-                if (node.getText().equals(constants.Packages())) {
-                    Node[] children = node.getChildNodes();
-                    for (Node child : children) {
-                        node.removeChild(child);
-                    }
-                    loadPackages(node, itemWidgets);
-                }
-            }*/
+        /*            @Override
+                    public void onCollapseNode(final TreeItem node) {
+                        if (node.getText().equals(constants.Packages())) {
+                            Node[] children = node.getChildNodes();
+                            for (Node child : children) {
+                                node.removeChild(child);
+                            }
+                            loadPackages(node, itemWidgets);
+                        }
+                    }*/
 
         //return mainTree;
     }
 
-    private void loadPackages(final TreeItem root, final Map<TreeItem, String> itemWidgets) {
-        RepositoryServiceFactory.getService().listPackages(
-                new GenericCallback<PackageConfigData[]>() {
-                    public void onSuccess(PackageConfigData[] value) {
-                        PackageHierarchy ph = new PackageHierarchy();
+    private void loadPackages(final TreeItem root,
+                              final Map<TreeItem, String> itemWidgets) {
+        RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+            public void onSuccess(PackageConfigData[] value) {
+                PackageHierarchy ph = new PackageHierarchy();
 
-                        for (PackageConfigData val : value) {
-                            ph.addPackage(val);
-                        }
+                for ( PackageConfigData val : value ) {
+                    ph.addPackage( val );
+                }
 
-                        for (PackageHierarchy.Folder hf : ph.root.children) {
-                            buildPkgTree(root, hf);
-                        }
+                for ( PackageHierarchy.Folder hf : ph.root.children ) {
+                    buildPkgTree( root,
+                                  hf );
+                }
 
-                        //root.expand();
-                    }
-                });
+                //root.expand();
+            }
+        } );
     }
 
-    private void loadGlobal(final Tree root, final Map<TreeItem, String> itemWidgets) {
-        RepositoryServiceFactory.getService().loadGlobalPackage(
-                new GenericCallback<PackageConfigData>() {
-                    public void onSuccess(PackageConfigData value) {
-                    	TreeItem globalRootNode = ExplorerNodeConfig.getPackageItemStructure(constants.GlobalArea(), value.uuid, itemWidgets);
-                    	globalRootNode.setHTML(Util.getHeader(images.chartOrganisation(), constants.GlobalArea()));
-                    	globalRootNode.setUserObject(value);
-                        		
-                        root.addItem(globalRootNode);
-                    }
-                });
+    private void loadGlobal(final Tree root,
+                            final Map<TreeItem, String> itemWidgets) {
+        RepositoryServiceFactory.getService().loadGlobalPackage( new GenericCallback<PackageConfigData>() {
+            public void onSuccess(PackageConfigData value) {
+                TreeItem globalRootNode = ExplorerNodeConfig.getPackageItemStructure( constants.GlobalArea(),
+                                                                                      value.uuid,
+                                                                                      itemWidgets );
+                globalRootNode.setHTML( Util.getHeader( images.chartOrganisation(),
+                                                        constants.GlobalArea() ) );
+                globalRootNode.setUserObject( value );
+
+                root.addItem( globalRootNode );
+            }
+        } );
     }
-    
-    private void buildPkgTree(TreeItem root, PackageHierarchy.Folder fldr) {
-        if (fldr.conf != null) {
-            root.addItem(loadPackage(fldr.name, fldr.conf));
-        } else {        	
-            TreeItem tn = new TreeItem(Util.getHeader(images.emptyPackage(), fldr.name));
+
+    private void buildPkgTree(TreeItem root,
+                              PackageHierarchy.Folder fldr) {
+        if ( fldr.conf != null ) {
+            root.addItem( loadPackage( fldr.name,
+                                       fldr.conf ) );
+        } else {
+            TreeItem tn = new TreeItem( Util.getHeader( images.emptyPackage(),
+                                                        fldr.name ) );
             //itemWidgets.put(item, AssetFormats.BUSINESS_RULE_FORMATS[0]);
-            root.addItem(tn);
+            root.addItem( tn );
 
-            for (PackageHierarchy.Folder c : fldr.children) {
-                buildPkgTree(tn, c);
+            for ( PackageHierarchy.Folder c : fldr.children ) {
+                buildPkgTree( tn,
+                              c );
             }
         }
     }
 
-    private TreeItem loadPackage(String name, PackageConfigData conf) {
-    	TreeItem pn = ExplorerNodeConfig.getPackageItemStructure(name, conf.uuid, itemWidgets);
-        pn.setUserObject(conf);
+    private TreeItem loadPackage(String name,
+                                 PackageConfigData conf) {
+        TreeItem pn = ExplorerNodeConfig.getPackageItemStructure( name,
+                                                                  conf.uuid,
+                                                                  itemWidgets );
+        pn.setUserObject( conf );
         return pn;
     }
 
-    public static String key(String[] fmts, PackageConfigData userObject) {
+    public static String key(String[] fmts,
+                             PackageConfigData userObject) {
         String key = userObject.uuid;
-        for (String fmt : fmts) {
+        for ( String fmt : fmts ) {
             key = key + fmt;
         }
-        if (fmts.length == 0) {
+        if ( fmts.length == 0 ) {
             key = key + "[0]";
         }
         return key;
     }
-    
 
     // Show the associated widget in the deck panel
     public void onSelection(SelectionEvent<TreeItem> event) {
         TreeItem node = event.getSelectedItem();
         //String widgetID = itemWidgets.get(node);
-        	
-		if (node.getUserObject() instanceof PackageConfigData
-				&& !"global".equals(((PackageConfigData) node.getUserObject()).name)) {
-			PackageConfigData pc = (PackageConfigData) node.getUserObject();
-			RulePackageSelector.currentlySelectedPackage = pc.name;
 
-			String uuid = pc.uuid;
-			centertabbedPanel.openPackageEditor(uuid, new Command() {
-				public void execute() {
-					// refresh the package tree.
-					refreshTree();
-				}
-			});
-		} else if (node.getUserObject() instanceof Object[]) {
-			//Object[] uo = (Object[]) node.getUserObject();
-			//final String[] fmts = (String[]) uo[0];
-			final String[] fmts = (String[]) node.getUserObject();
-			final PackageConfigData pc = (PackageConfigData) node.getParentItem().getUserObject();
-			RulePackageSelector.currentlySelectedPackage = pc.name;
-			String key = key(fmts, pc);
-			if (!centertabbedPanel.showIfOpen(key)) {
+        if ( node.getUserObject() instanceof PackageConfigData && !"global".equals( ((PackageConfigData) node.getUserObject()).name ) ) {
+            PackageConfigData pc = (PackageConfigData) node.getUserObject();
+            RulePackageSelector.currentlySelectedPackage = pc.name;
 
-				final AssetItemGrid list = new AssetItemGrid(new EditItemEvent() {
-					public void open(String uuid) {
-						centertabbedPanel.openAsset(uuid);
-					}
+            String uuid = pc.uuid;
+            centertabbedPanel.openPackageEditor( uuid,
+                                                 new Command() {
+                                                     public void execute() {
+                                                         // refresh the package tree.
+                                                         refreshTree();
+                                                     }
+                                                 } );
+        } else if ( node.getUserObject() instanceof Object[] ) {
+            //Object[] uo = (Object[]) node.getUserObject();
+            //final String[] fmts = (String[]) uo[0];
+            final String[] fmts = (String[]) node.getUserObject();
+            final PackageConfigData pc = (PackageConfigData) node.getParentItem().getUserObject();
+            RulePackageSelector.currentlySelectedPackage = pc.name;
+            String key = key( fmts,
+                              pc );
+            if ( !centertabbedPanel.showIfOpen( key ) ) {
 
-					public void open(MultiViewRow[] rows) {
-						centertabbedPanel.openAssets(rows);
-					}
-				}, AssetItemGrid.PACKAGEVIEW_LIST_TABLE_ID, new AssetItemGridDataLoader() {
-					public void loadData(int startRow, int numberOfRows, GenericCallback<TableDataResult> cb) {
-						RepositoryServiceFactory.getService().listAssets(pc.uuid, fmts, startRow, numberOfRows,
-								AssetItemGrid.PACKAGEVIEW_LIST_TABLE_ID, cb);
-					}
-				}, GWT.getModuleBaseURL() + "feed/package?name=" + pc.name + "&viewUrl="
-						+ BrowseTree.getSelfURL() + "&status=*");
-				centertabbedPanel.addTab(node.getText() + " [" + pc.name + "]", list, key);
+                final AssetItemGrid list = new AssetItemGrid( new EditItemEvent() {
+                                                                  public void open(String uuid) {
+                                                                      centertabbedPanel.openAsset( uuid );
+                                                                  }
 
-				final ServerPushNotification sub = new ServerPushNotification() {
-					public void messageReceived(PushResponse response) {
-						if (response.messageType.equals("packageChange") && response.message.equals(pc.name)) {
-							list.refreshGrid();
-						}
-					}
-				};
-				PushClient.instance().subscribe(sub);
-				list.addUnloadListener(new Command() {
-					public void execute() {
-						PushClient.instance().unsubscribe(sub);
-					}
-				});
-			}
-		}
+                                                                  public void open(MultiViewRow[] rows) {
+                                                                      centertabbedPanel.openAssets( rows );
+                                                                  }
+                                                              },
+                                                              AssetItemGrid.PACKAGEVIEW_LIST_TABLE_ID,
+                                                              new AssetItemGridDataLoader() {
+                                                                  public void loadData(int startRow,
+                                                                                       int numberOfRows,
+                                                                                       GenericCallback<TableDataResult> cb) {
+                                                                      RepositoryServiceFactory.getService().listAssets( pc.uuid,
+                                                                                                                        fmts,
+                                                                                                                        startRow,
+                                                                                                                        numberOfRows,
+                                                                                                                        AssetItemGrid.PACKAGEVIEW_LIST_TABLE_ID,
+                                                                                                                        cb );
+                                                                  }
+                                                              },
+                                                              GWT.getModuleBaseURL() + "feed/package?name=" + pc.name + "&viewUrl=" + BrowseTree.getSelfURL() + "&status=*" );
+                centertabbedPanel.addTab( node.getText() + " [" + pc.name + "]",
+                                          list,
+                                          key );
 
-    }  
-    
+                final ServerPushNotification sub = new ServerPushNotification() {
+                    public void messageReceived(PushResponse response) {
+                        if ( response.messageType.equals( "packageChange" ) && response.message.equals( pc.name ) ) {
+                            list.refreshGrid();
+                        }
+                    }
+                };
+                PushClient.instance().subscribe( sub );
+                list.addUnloadListener( new Command() {
+                    public void execute() {
+                        PushClient.instance().unsubscribe( sub );
+                    }
+                } );
+            }
+        }
+
+    }
+
 }



More information about the jboss-svn-commits mailing list