[jboss-svn-commits] JBL Code SVN: r34996 - in labs/jbossrules/trunk/drools-guvnor/src: main/java/org/drools/guvnor/client/common and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 3 08:16:03 EDT 2010


Author: jervisliu
Date: 2010-09-03 08:16:02 -0400 (Fri, 03 Sep 2010)
New Revision: 34996

Removed:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Inbox.java
Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java
   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/AdministrationPanel.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.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/CategoriesPanel.java
   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/ExplorerViewCenterPanel.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.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/ProcessServerPanel.java
   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/RHQPanel.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SnapshotView.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/UserInbox.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java
Log:
GWTExt replacement: several minor updates.

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -35,8 +35,8 @@
 
 import com.gwtext.client.util.CSS;
 import com.gwtext.client.widgets.QuickTips;
-import com.gwtext.client.widgets.form.Field;
 
+
 /**
  * This is the main launching/entry point for the JBRMS web console.
  * It essentially sets the initial layout.
@@ -49,7 +49,7 @@
     private LoggedInUserInfo loggedInUserInfo;
 
     public void onModuleLoad() {
-        Field.setMsgTarget("side");
+        //Field.setMsgTarget("side");
         QuickTips.init();
         CSS.swapStyleSheet("theme", "js/ext/resources/css/xtheme-gray.css");
         loggedInUserInfo = new LoggedInUserInfo();
@@ -93,7 +93,6 @@
 			public void onSuccess(Capabilities cp) {
 				Window.setStatus(" ");
 				RootLayoutPanel.get().add(createMain(cp));
-				//new Viewport(createMain(cp));
 			}
 		});
 		

Deleted: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Inbox.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Inbox.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Inbox.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -1,28 +0,0 @@
-/**
- * Copyright 2010 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.guvnor.client.common;
-
-/**
- * @author Michael Neale
- */
-public class Inbox {
-    public static final String RECENT_EDITED = "recentEdited";
-    public static final String RECENT_VIEWED = "recentViewed";
-    public static final String INCOMING = "incoming";
-
-
-}

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-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -12,7 +12,6 @@
 import org.drools.guvnor.client.rulelist.EditItemEvent;
 
 public abstract class AbstractTree implements SelectionHandler<TreeItem> {
-
 	protected String name;
 	protected ImageResource image;
 
@@ -39,7 +38,6 @@
 	}
 
 	protected void launchWizard(String format, String title, boolean showCats) {
-
 		NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
 			public void open(String key) {
 				centertabbedPanel.openAsset(key);

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationPanel.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -54,36 +54,36 @@
 				switch (id) {
 				case 0:
 					if (!centertabbedPanel.showIfOpen("catman")) //NON-NLS
-						centertabbedPanel.addTab(constants.CategoryManager(), true,
+						centertabbedPanel.addTab(constants.CategoryManager(), 
 								new CategoryManager(), "catman"); //NON-NLS
 					break;
 				case 1:
 					if (!centertabbedPanel.showIfOpen("archman"))  //NON-NLS
-						centertabbedPanel.addTab(constants.ArchivedManager(), true,
+						centertabbedPanel.addTab(constants.ArchivedManager(), 
 								new ArchivedAssetManager(centertabbedPanel),
 								"archman");      //NON-NLS
 					break;
 
 				case 2:
 					if (!centertabbedPanel.showIfOpen("stateman")) //NON-NLS
-						centertabbedPanel.addTab(constants.StateManager(), true,
+						centertabbedPanel.addTab(constants.StateManager(), 
 								new StateManager(), "stateman");
 					break;
 				case 3:
 					if (!centertabbedPanel.showIfOpen("bakman"))
-						centertabbedPanel.addTab(constants.ImportExport(), true,
+						centertabbedPanel.addTab(constants.ImportExport(), 
 								new BackupManager(), "bakman");
 					break;
 
 				case 4:
 					if (!centertabbedPanel.showIfOpen("errorLog"))
-						centertabbedPanel.addTab(constants.EventLog(), true,
+						centertabbedPanel.addTab(constants.EventLog(), 
 								new LogViewer(), "errorLog");
 					break;
 				case 5:
 					if (!centertabbedPanel.showIfOpen("securityPermissions"))
 						centertabbedPanel.addTab(constants.UserPermissionMappings(),
-								true, new PermissionViewer(),
+								new PermissionViewer(),
 								"securityPermissions");
 					break;
 				case 6:
@@ -101,12 +101,12 @@
                  case 7:
                 	 if (!centertabbedPanel.showIfOpen("ruleVerifierManager"))
                 		    centertabbedPanel.addTab(constants.RulesVerificationManager(),
-						     true, new RuleVerifierManager(),
+						     new RuleVerifierManager(),
 							 "ruleVerifierManager");
                       break;
                   case 8:
                 	  if (!centertabbedPanel.showIfOpen("repoconfig")) //NON-NLS
-                    	   centertabbedPanel.addTab(constants.RepositoryConfig(), true,
+                    	   centertabbedPanel.addTab(constants.RepositoryConfig(), 
                     	   new RepoConfigManager(), "repoconfig");
                   break;
 				}

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -33,7 +33,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.logical.shared.SelectionEvent;
 import com.google.gwt.user.client.ui.Frame;
-import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 
 import org.drools.guvnor.client.admin.RuleVerifierManager;
@@ -64,37 +63,37 @@
 		int id = Integer.parseInt(widgetID);
 		switch (id) {
 		case 0:
-			if (!centertabbedPanel.showIfOpen("catman")) //NON-NLS
-				centertabbedPanel.addTab(constants.CategoryManager(), true,
-						new CategoryManager(), "catman"); //NON-NLS
+			if (!centertabbedPanel.showIfOpen("catman"))
+				centertabbedPanel.addTab(constants.CategoryManager(), 
+						new CategoryManager(), "catman"); 
 			break;
 		case 1:
-			if (!centertabbedPanel.showIfOpen("archman"))  //NON-NLS
-				centertabbedPanel.addTab(constants.ArchivedManager(), true,
+			if (!centertabbedPanel.showIfOpen("archman")) 
+				centertabbedPanel.addTab(constants.ArchivedManager(), 
 						new ArchivedAssetManager(centertabbedPanel),
-						"archman");      //NON-NLS
+						"archman");     
 			break;
 
 		case 2:
-			if (!centertabbedPanel.showIfOpen("stateman")) //NON-NLS
-				centertabbedPanel.addTab(constants.StateManager(), true,
+			if (!centertabbedPanel.showIfOpen("stateman")) 
+				centertabbedPanel.addTab(constants.StateManager(), 
 						new StateManager(), "stateman");
 			break;
 		case 3:
 			if (!centertabbedPanel.showIfOpen("bakman"))
-				centertabbedPanel.addTab(constants.ImportExport(), true,
+				centertabbedPanel.addTab(constants.ImportExport(), 
 						new BackupManager(), "bakman");
 			break;
 
 		case 4:
 			if (!centertabbedPanel.showIfOpen("errorLog"))
-				centertabbedPanel.addTab(constants.EventLog(), true,
+				centertabbedPanel.addTab(constants.EventLog(), 
 						new LogViewer(), "errorLog");
 			break;
 		case 5:
 			if (!centertabbedPanel.showIfOpen("securityPermissions"))
 				centertabbedPanel.addTab(constants.UserPermissionMappings(),
-						true, new PermissionViewer(),
+						new PermissionViewer(),
 						"securityPermissions");
 			break;
 		case 6:
@@ -113,7 +112,7 @@
 		case 7:
             if (!centertabbedPanel.showIfOpen("ruleVerifierManager")) {
 				centertabbedPanel.addTab(constants.RulesVerificationManager(),
-						true, new RuleVerifierManager(),
+						new RuleVerifierManager(),
 						"ruleVerifierManager");
             }
             break;

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-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -20,7 +20,6 @@
 import java.util.Map;
 
 import org.drools.guvnor.client.common.GenericCallback;
-import org.drools.guvnor.client.common.Inbox;
 import org.drools.guvnor.client.rpc.*;
 import org.drools.guvnor.client.ruleeditor.MultiViewRow;
 import org.drools.guvnor.client.rulelist.AssetItemGrid;
@@ -44,31 +43,31 @@
 
 
     /** Table set up for the inboxes */
-    static {
-            TableConfig conf = new TableConfig();
-            conf.headers = new String[2];
-            conf.headers[0] = constants.Name();// "Name ";
-            conf.headers[1] = constants.Date();//"Date ";
-            conf.headerTypes = new String[2];
-            conf.headerTypes[0] = "class java.lang.String";
-            conf.headerTypes[1] = "class java.util.Calendar";
-            conf.rowsPerPage = 500;
-            AssetItemGrid.registerTableConf(conf, Inbox.RECENT_EDITED);
-            AssetItemGrid.registerTableConf(conf, Inbox.RECENT_VIEWED);
+	static {
+		TableConfig conf = new TableConfig();
+		conf.headers = new String[2];
+		conf.headers[0] = constants.Name();// "Name ";
+		conf.headers[1] = constants.Date();// "Date ";
+		conf.headerTypes = new String[2];
+		conf.headerTypes[0] = "class java.lang.String";
+		conf.headerTypes[1] = "class java.util.Calendar";
+		conf.rowsPerPage = 500;
+		AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.RECENT_EDITED_ID);
+		AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.RECENT_VIEWED_ID);
 
-            conf = new TableConfig();
-            conf.headers = new String[3];
-            conf.headers[0] = constants.Name();
-            conf.headers[1] = constants.Date();
-            conf.headers[2] = constants.From();
-            conf.headerTypes = new String[3];
-            conf.headerTypes[0] = "class java.lang.String";
-            conf.headerTypes[1] = "class java.util.Calendar";
-            conf.headerTypes[2] = "class java.lang.String";
-            conf.rowsPerPage = 500;
+		conf = new TableConfig();
+		conf.headers = new String[3];
+		conf.headers[0] = constants.Name();
+		conf.headers[1] = constants.Date();
+		conf.headers[2] = constants.From();
+		conf.headerTypes = new String[3];
+		conf.headerTypes[0] = "class java.lang.String";
+		conf.headerTypes[1] = "class java.util.Calendar";
+		conf.headerTypes[2] = "class java.lang.String";
+		conf.rowsPerPage = 500;
 
-            AssetItemGrid.registerTableConf(conf, Inbox.INCOMING);
-    }
+		AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.INCOMING_ID);
+	}
        
     public BrowseTree(ExplorerViewCenterPanel tabbedPanel) {
         super(tabbedPanel);
@@ -116,7 +115,7 @@
                     RepositoryServiceFactory.getService().loadInbox(widgetID, cb);
                 }
             });
-            centertabbedPanel.addTab(title, true, g, widgetID);
+            centertabbedPanel.addTab(title, g, widgetID);
         }
     }
 
@@ -124,7 +123,6 @@
      * open a state or category !
      */
     private void openState(String title, String widgetID) {
-
         if (!centertabbedPanel.showIfOpen(widgetID)) {
         	final String stateName = widgetID.substring(widgetID.indexOf("-") + 1);
        	    final AssetItemGrid list = new AssetItemGrid(createEditEvent(),
@@ -152,7 +150,7 @@
                 }
             });
 
-            centertabbedPanel.addTab(constants.Status() + title, true, list, widgetID);
+            centertabbedPanel.addTab(constants.Status() + title, list, widgetID);
         }
     }
 
@@ -186,7 +184,7 @@
                 }
             });
 
-            centertabbedPanel.addTab((constants.CategoryColon()) + title, true, list, widgetID);
+            centertabbedPanel.addTab((constants.CategoryColon()) + title, list, widgetID);
         }
     }
     

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -17,7 +17,6 @@
 package org.drools.guvnor.client.explorer;
 
 import org.drools.guvnor.client.common.GenericCallback;
-import org.drools.guvnor.client.common.Inbox;
 import org.drools.guvnor.client.rpc.*;
 import org.drools.guvnor.client.ruleeditor.MultiViewRow;
 import org.drools.guvnor.client.rulelist.AssetItemGrid;
@@ -58,8 +57,8 @@
             conf.headerTypes[0] = "class java.lang.String";
             conf.headerTypes[1] = "class java.util.Calendar";
             conf.rowsPerPage = 500;
-            AssetItemGrid.registerTableConf(conf, Inbox.RECENT_EDITED);
-            AssetItemGrid.registerTableConf(conf, Inbox.RECENT_VIEWED);
+            AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.RECENT_EDITED_ID);
+            AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.RECENT_VIEWED_ID);
 
             conf = new TableConfig();
             conf.headers = new String[3];
@@ -72,7 +71,7 @@
             conf.headerTypes[2] = "class java.lang.String";
             conf.rowsPerPage = 500;
 
-            AssetItemGrid.registerTableConf(conf, Inbox.INCOMING);
+            AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.INCOMING_ID);
     }
 
 
@@ -136,7 +135,7 @@
                     RepositoryServiceFactory.getService().loadInbox(inboxName, cb);
                 }
             });
-            centertabbedPanel.addTab(title, true, g, inboxName);
+            centertabbedPanel.addTab(title, g, inboxName);
         }
     }
 
@@ -184,7 +183,7 @@
                 }
             });
 
-            centertabbedPanel.addTab(((isState) ? constants.Status() : constants.CategoryColon()) + self.getText(), true, list, key);
+            centertabbedPanel.addTab(((isState) ? constants.Status() : constants.CategoryColon()) + self.getText(), list, key);
         }
     }
 

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-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -17,7 +17,6 @@
 package org.drools.guvnor.client.explorer;
 
 import org.drools.guvnor.client.LoggedInUserInfo;
-import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.security.Capabilities;
 
 import com.google.gwt.user.client.ui.DockLayoutPanel;
@@ -28,7 +27,6 @@
 import com.google.gwt.user.client.ui.SplitLayoutPanel;
 import com.google.gwt.user.client.ui.StackLayoutPanel;
 import com.google.gwt.user.client.History;
-import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Style.Unit;
 
 import com.gwtext.client.widgets.QuickTips;
@@ -38,53 +36,39 @@
  * This is the main part of the app that lays everything out. 
  */
 public class ExplorerLayoutManager {
-    private static Constants constants = GWT.create(Constants.class);
-
     /**
      * These are used to decide what to display or not.
      */
     protected static Capabilities capabilities;
 
-    private ExplorerViewCenterPanel centertabbedPanel;
-
     private DockPanel titlePanel;
     private StackLayoutPanel navigationStackLayoutPanel;
-    //private Panel mainPanel;
+    private ExplorerViewCenterPanel centertabbedPanel;
     private DockLayoutPanel mainPanel;
 
 
     public ExplorerLayoutManager(LoggedInUserInfo uif, Capabilities caps) {
-        //Field.setMsgTarget("side");
         QuickTips.init();
 
         Preferences.INSTANCE.loadPrefs(caps);
 
         String tok = History.getToken();
 
-        /**
-         * we use this to decide what to display.
-         */
+
+        //we use this to decide what to display.
         BookmarkInfo bi = handleHistoryToken(tok);
         ExplorerLayoutManager.capabilities = caps;
+                
         
-        
-        mainPanel = new DockLayoutPanel(Unit.EM);        
-        
         if (bi.showChrome) {
         	setupTitlePanel(uif);
         }
         setupExplorerViewCenterPanel();
-        setupNavigationPanels();
-      
-        
-        if (bi.showChrome) {
-            mainPanel.addNorth(titlePanel, 4);
-        }        
-        SplitLayoutPanel centerPanel = new SplitLayoutPanel();        
-        centerPanel.addWest(navigationStackLayoutPanel, 192);
-        centerPanel.add(centertabbedPanel.getPanel());        
-        mainPanel.add(centerPanel);
+        setupNavigationPanels();      
+        setupMainPanel(bi);
 
+        
+        //Open default widgets
         if (bi.loadAsset) {
             centertabbedPanel.openAsset(bi.assetId);
         }
@@ -94,7 +78,7 @@
     /**
      * Create the title bar at the top of the application.
      * 
-     * @param constants the constant values to use
+     * @param LoggedInUserInfo uif
      */
     private void setupTitlePanel(LoggedInUserInfo uif) {  
         titlePanel = new DockPanel();
@@ -108,7 +92,6 @@
     /**
      * Create the navigation panel for the west area.
      * 
-     * @param constants the constants with text
      */
     private void setupNavigationPanels() {  
         navigationStackLayoutPanel = new StackLayoutPanel(Unit.EM);
@@ -196,12 +179,27 @@
     /**
      * Create the explorer view tabbed panel 
      * 
-     * @param constants the constant values to use
      */
     private void setupExplorerViewCenterPanel() {  
     	centertabbedPanel = new ExplorerViewCenterPanel();
     }   
    
+    /**
+     * Create the main panel.
+     * 
+     */
+    private void setupMainPanel(BookmarkInfo bi) {        
+        mainPanel = new DockLayoutPanel(Unit.EM);        
+        
+        if (bi.showChrome) {
+            mainPanel.addNorth(titlePanel, 4);
+        }        
+        SplitLayoutPanel centerPanel = new SplitLayoutPanel();        
+        centerPanel.addWest(navigationStackLayoutPanel, 192);
+        centerPanel.add(centertabbedPanel.getPanel());        
+        mainPanel.add(centerPanel);
+    }
+    
     public Panel getBaseLayout() {
         return mainPanel;
     }

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-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -203,24 +203,30 @@
     }
 
     public static Tree getBrowseTree(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());
 
-        TreeItem option = root.addItem(Util.getHeader(images.find(), constants.Find()));
-        itemWidgets.put(option, FIND_ID);
+        TreeItem find = root.addItem(Util.getHeader(images.find(), constants.Find()));
+        itemWidgets.put(find, FIND_ID);
 
         TreeItem inbox = getInboxStructure(itemWidgets);
+        inbox.setState(true);
         root.addItem(inbox);
 
         if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_PACKAGE_VIEW)) {
             TreeItem states = getStatesStructure(itemWidgets);
+            //states.setState(true);
             root.addItem(states);
         }
         
-        root.addItem(getCategoriesStructure(itemWidgets));
+        TreeItem categories = getCategoriesStructure(itemWidgets);
+        //categories.setState(true);
+        root.addItem(categories);
 
         return tree;
     }
@@ -245,12 +251,7 @@
 
     public static TreeItem getCategoriesStructure(final Map<TreeItem, String> itemWidgets) {
         TreeItem byCategory = new TreeItem(Util.getHeader(images.chartOrganisation(), constants.ByCategory()));
-        //itemWidgets.put(byCategory, constants.Inbox());
-
-        doCategoryNode(byCategory,
-                        "/", 
-                        itemWidgets);
-
+        doCategoryNode(byCategory, "/", itemWidgets);
         return byCategory;
     }
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -51,14 +51,12 @@
 import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.ScrollPanel;
 import com.google.gwt.user.client.ui.TabLayoutPanel;
-import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.ui.Widget;
 
 import com.gwtext.client.core.Ext;
@@ -73,13 +71,13 @@
     private Constants constants = ((Constants)GWT.create(Constants.class));
     private static Images images = (Images)GWT.create(Images.class);       
 
-    final TabLayoutPanel                      tp;
+    final TabLayoutPanel tp;
 
-    private MultiKeyMap<Panel>          openedTabs           = new MultiKeyMap<Panel>();
-    private String                      id                   = Ext.generateId();
+    private MultiKeyMap<Panel> openedTabs = new MultiKeyMap<Panel>();
+    private String id = Ext.generateId();
 
     /** to keep track of what is dirty, filthy */
-    private Map<String, GuvnorEditor>   openedAssetEditors   = new HashMap<String, GuvnorEditor>();
+    private Map<String, GuvnorEditor> openedAssetEditors = new HashMap<String, GuvnorEditor>();
     private Map<String, PackageEditor> openedPackageEditors = new HashMap<String, PackageEditor>();
     
     private Map<Panel, String[]> itemWidgets = new HashMap<Panel, String[]>();
@@ -89,7 +87,7 @@
     public ExplorerViewCenterPanel() {
         tp = new TabLayoutPanel(2, Unit.EM);
 
-        //TODO (JLIU): 
+        //TODO: Dirtyable does not work.  
         //listener to try and stop people from forgetting to save...
 /*        tp.addListener( new TabPanelListenerAdapter() {
             @Override
@@ -113,7 +111,7 @@
         addCloseAllButton();
     }
 
-    //TODO (JLIU):
+    //TODO:
     private void addCloseAllButton() {
 /*        closeAllButton = new Button( constants.CloseAllItems() );
         closeAllButton.addListener( new ButtonListenerAdapter() {
@@ -139,40 +137,34 @@
     /**
      * Add a new tab. Should only do this if have checked showIfOpen to avoid dupes being opened.
      * @param tabname The displayed tab name.
-     * @param closeable If you can close it !
      * @param widget The contents.
      * @param key A key which is unique.
      */
     public void addTab(final String tabname,
-                       boolean closeable,
                        Widget widget,
                        final String key) {
-        addTab( tabname,
-                closeable,
-                widget,
-                new String[]{key} );
+        addTab(tabname,
+               widget,
+               new String[]{key});
     }
 
     /**
      * Add a new tab. Should only do this if have checked showIfOpen to avoid dupes being opened.
      * @param tabname The displayed tab name.
-     * @param closeable If you can close it !
      * @param widget The contents.
      * @param keys An array of keys which are unique.
      */
     public void addTab(final String tabname,
-                       boolean closeable,
                        Widget widget,
                        final String[] keys) {
-
-        final String panelId = (keys.length == 1 ? keys[0] + id : Arrays.toString( keys ) + id);
+        final String panelId = (keys.length == 1 ? keys[0] + id : Arrays.toString(keys) + id);
         
         ScrollPanel localTP = new ScrollPanel();
         localTP.add(widget);
-        //tp.add(localTP, tabname);
         tp.add(localTP, newClosableLabel(localTP, tabname));
         tp.selectTab(localTP);
 
+        //TODO: Dirtyable
 /*        localTP.ad( new PanelListenerAdapter() {
             public void onDestroy(Component component) {
                 Panel p = openedTabs.remove( keys );
@@ -184,16 +176,12 @@
             }
         } );
 */
-        if ( widget instanceof GuvnorEditor ) {
-            this.openedAssetEditors.put( panelId,
-                                         (GuvnorEditor) widget );
-        } else if ( widget instanceof PackageEditor ) {
-            this.openedPackageEditors.put( tabname,
-                                           (PackageEditor) widget );
+        if (widget instanceof GuvnorEditor) {
+            this.openedAssetEditors.put(panelId, (GuvnorEditor)widget);
+        } else if (widget instanceof PackageEditor) {
+            this.openedPackageEditors.put( tabname,(PackageEditor)widget);
         }
 
-        //tp.activate( localTP.getId() );
-
         openedTabs.put(keys, localTP);
         itemWidgets.put(localTP, keys);
     }
@@ -205,17 +193,15 @@
 		//ImageButton closeBtn = new ImageButton(images.backupSmall().getURL());
 		Button closeBtn = new Button("x");
 		closeBtn.addClickHandler(new ClickHandler() {
-
 			public void onClick(ClickEvent arg0) {
 				int widgetIndex = tp.getWidgetIndex(panel);
 				if (widgetIndex == tp.getSelectedIndex()) {
 					tp.selectTab(widgetIndex - 1);
 				}
 				tp.remove(widgetIndex);
-				String[] keys = itemWidgets.get(panel);
+				String[] keys = itemWidgets.remove(panel);
 				openedTabs.remove(keys);				
-			}
-			
+			}			
 		});
 
 		hPanel.add(label);
@@ -245,8 +231,9 @@
         if (widgetIndex == tp.getSelectedIndex()) {
             tp.selectTab(widgetIndex - 1);
         }
-        tp.remove(widgetIndex);      
-        //if (tpi != null ) tpi.destroy();
+        
+        tp.remove(widgetIndex);
+		itemWidgets.remove(tpi);
     }
 
     /**
@@ -260,7 +247,7 @@
 
 		if (!showIfOpen(uuid)) {
 
-			final boolean[] loading = { true };
+			final boolean[] loading = {true};
 
 			Timer t = new Timer() {
 				public void run() {
@@ -288,15 +275,14 @@
 								}
 							};
 							RuleViewer rv = new RuleViewer(a, edit);
-							addTab(a.metaData.name, true, rv, uuid);
+							addTab(a.metaData.name, rv, uuid);
 							rv.setCloseCommand(new Command() {
 								public void execute() {
 									close(uuid);
 								}
 							});
 
-							// When model is saved update the package view if it is
-							// opened.
+							// When model is saved update the package view if it is opened.
 							if (a.metaData.format.equals(AssetFormats.MODEL)) {
 							    Command command =new Command() {
                                     public void execute() {
@@ -306,14 +292,13 @@
                                         }
                                     }
                                 };
-								rv.setCheckedInCommand( command );
-								rv.setArchiveCommand( command );
+								rv.setCheckedInCommand(command);
+								rv.setArchiveCommand(command);
 							}
 
 							LoadingPopup.close();
 						}
 					});
-
 				}
 			});
 		}
@@ -325,9 +310,9 @@
         final String[] uuids = new String[rows.length];
         final String[] names = new String[rows.length];
 
-        for ( int i = 0; i < rows.length; i++ ) {
+        for (int i = 0; i < rows.length; i++) {
             // Check if any of these assets are already opened.
-            if ( showIfOpen( rows[i].uuid ) ) {
+            if (showIfOpen(rows[i].uuid)) {
                 blockingAssetName = rows[i].name;
                 break;
             }
@@ -335,37 +320,36 @@
             names[i] = rows[i].name;
         }
 
-        if ( blockingAssetName != null ) {
-            FormStylePopup popup = new FormStylePopup( "images/information.gif", //NON-NLS
-                                                       Format.format( constants.Asset0IsAlreadyOpenPleaseCloseItBeforeOpeningMultiview(),
-                                                                      blockingAssetName ) );
+        if (blockingAssetName != null) {
+            FormStylePopup popup = new FormStylePopup("images/information.gif", //NON-NLS
+                                                      Format.format( constants.Asset0IsAlreadyOpenPleaseCloseItBeforeOpeningMultiview(),
+                                                                      blockingAssetName));
             popup.show();
             return;
         }
 
-        MultiViewEditor multiview = new MultiViewEditor( rows,
-                                                         new EditItemEvent() {
-                                                             public void open(String key) {
-                                                                 openAsset( key );
-                                                             }
+        MultiViewEditor multiview = new MultiViewEditor(rows,
+                                                        new EditItemEvent() {
+                                                            public void open(String key) {
+                                                                openAsset(key);
+                                                            }
 
                                                              public void open(MultiViewRow[] rows) {
-                                                                 for ( MultiViewRow row : rows ) {
-                                                                     openAsset( row.uuid );
+                                                                 for (MultiViewRow row : rows) {
+                                                                     openAsset(row.uuid);
                                                                  }
                                                              }
                                                          } );
 
-        multiview.setCloseCommand( new Command() {
+        multiview.setCloseCommand(new Command() {
             public void execute() {
-                close( Arrays.toString( uuids ) );
+                close(Arrays.toString(uuids));
             }
-        } );
+        });
 
-        addTab( Arrays.toString( names ),
-                true,
-                multiview,
-                uuids );
+        addTab(Arrays.toString(names),
+               multiview,
+               uuids );
 
     }
 
@@ -393,7 +377,7 @@
 							}
 						}
 					});
-					addTab(conf.name, true, ed, conf.uuid);
+					addTab(conf.name, ed, conf.uuid);
 					LoadingPopup.close();
 				}
 			});
@@ -403,7 +387,6 @@
     public void openFind() {
         if ( !showIfOpen( "FIND" ) ) { //NON-NLS
             this.addTab( constants.Find(),
-                         true,
                          new QueryWidget( new EditItemEvent() {
                              public void open(String uuid) {
                                  openAsset( uuid );
@@ -429,16 +412,15 @@
                                                                     new GenericCallback<PackageConfigData>() {
                                                                         public void onSuccess(PackageConfigData conf) {
                                                                              addTab(Format.format(constants.SnapshotLabel(),
-                                                                                                   snap.name),
-                                                                                     true,
-                                                                                     new SnapshotView(snap,
-                                                                                                      conf,
-                                                                                                      new Command() {
-                                                                                                          public void execute() {
-                                                                                                              close( snap.name + snap.uuid );
-                                                                                                          }
-                                                                                                      },
-                                                                                                      ExplorerViewCenterPanel.this),
+                                                                                                  snap.name),
+                                                                                                  new SnapshotView(snap,
+                                                                                                  conf,
+                                                                                                  new Command() {
+                                                                                                      public void execute() {
+                                                                                                          close( snap.name + snap.uuid );
+                                                                                                      }
+                                                                                                  },
+                                                                                                  ExplorerViewCenterPanel.this),
                                                                                      snap.name + snap.uuid);
                                                                              LoadingPopup.close();
                                                                          }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -290,7 +290,7 @@
 							}
 						}, GWT.getModuleBaseURL() + "feed/package?name=" + pc.name + "&viewUrl="
 								+ CategoriesPanel.getSelfURL() + "&status=*");
-						tabPanel.addTab(uo[1] + " [" + pc.name + "]", true, list, key);
+						tabPanel.addTab(uo[1] + " [" + pc.name + "]", list, key);
 
 						final ServerPushNotification sub = new ServerPushNotification() {
 							public void messageReceived(PushResponse response) {

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-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -41,6 +41,7 @@
 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;
 
 
 
@@ -56,23 +57,8 @@
         super(tabbedPanel);
         this.name = constants.KnowledgeBases();
         this.image = images.packages();
-/*
-        Toolbar pkgToolbar = new Toolbar();
-        final ToolbarMenuButton menuButton = new ToolbarMenuButton(constants.CreateNew(), packageNewMenu());
-        pkgToolbar.addButton( menuButton );
 
-        menuButton.addListener( new SplitButtonListenerAdapter() {
 
-            public void onClick(Button button,
-                                EventObject e) {
-                menuButton.showMenu();
-            }
-        } );
-        
-        packagesPanel = new VerticalPanel();
-        packagesPanel.setWidth("100%");
-        packagesPanel.add(pkgToolbar);*/
-
         //these panels are lazy loaded to easy startup wait time.
 /*        addListener(new PanelListenerAdapter() {
         	public void onExpand(Panel panel) {
@@ -104,25 +90,12 @@
     	Tree rootNode = new Tree();    	
     	rootNode.setAnimationEnabled(true);
  
-		//Tree rootNode = new Tree(constants.Admin());
-
-        TreeItem packageRootNode = rootNode.addItem(Util.getHeader(images.chartOrganisation(), constants.Packages()));
-        //itemWidgets.put(root, constants.AssetsTreeView());
-        //Tree packageRootNode = new Tree(constants.Packages());
-		//packageRootNode.setAttribute("icon", "images/silk/chart_organisation.gif"); // NON-NLS
+    	TreeItem packageRootNode = rootNode.addItem(Util.getHeader(images.chartOrganisation(), constants.Packages()));
+        packageRootNode.setState(true);
 		loadPackages(packageRootNode, itemWidgets);
-
-		/*
-		 * TreeNode globalRootNode = new TreeNode("Global area");
-		 * globalRootNode.setAttribute("icon",
-		 * "images/silk/chart_organisation.gif"); //NON-NLS
-		 * globalRootNode.setAttribute("id", "globalarea");
-		 */
-		//loadGlobal(rootNode);
-
 		rootNode.addItem(packageRootNode);
-		// rootNode.appendChild(globalRootNode);
 
+		loadGlobal(rootNode, itemWidgets);
 
 /*            @Override
             public void onCollapseNode(final TreeItem node) {
@@ -135,13 +108,6 @@
                 }
             }*/
 
-
-         // register listener
-/*        panel.addListener(treePanelListener);
-
-        final ScrollPanel scp = wrapScroll(panel);*/
-
-
         return rootNode;
     }
 
@@ -164,38 +130,27 @@
                 });
     }
 
-    //TODO (JLIU):
-/*    private void loadGlobal(final TreeNode root) {
+    private void loadGlobal(final Tree root, final Map<TreeItem, String> itemWidgets) {
         RepositoryServiceFactory.getService().loadGlobalPackage(
                 new GenericCallback<PackageConfigData>() {
                     public void onSuccess(PackageConfigData value) {
-
-                                TreeNode globalRootNode = ExplorerNodeConfig.getPackageItemStructure("Global Area", value.uuid);
-                                globalRootNode.setUserObject(value);
-                                
-                                globalRootNode.setAttribute("icon", "images/silk/chart_organisation.gif");   //NON-NLS
-                                globalRootNode.setAttribute("id", "globalarea");
+                    	TreeItem globalRootNode = ExplorerNodeConfig.getPackageItemStructure(constants.GlobalArea(), value.uuid, itemWidgets);
+                    	globalRootNode.setHTML(Util.getHeader(images.chartOrganisation(), constants.GlobalArea()));
+                    	globalRootNode.setUserObject(value);
                         		
-                                root.appendChild(globalRootNode);
-
+                        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.ruleAsset(), fldr.name));
-        	
-            TreeItem item = new TreeItem(Util.getHeader(images.emptyPackage(), constants.BusinessRuleAssets()));
-            itemWidgets.put(item, AssetFormats.BUSINESS_RULE_FORMATS[0]);
-            root.addItem(item);
+        } else {        	
+            TreeItem tn = new TreeItem(Util.getHeader(images.emptyPackage(), fldr.name));
+            //itemWidgets.put(item, AssetFormats.BUSINESS_RULE_FORMATS[0]);
+            root.addItem(tn);
 
-            
-/*            tn.setText(fldr.name);
-            tn.setIcon("images/empty_package.gif"); //NON-NLS
-            root.addItem(tn);*/
             for (PackageHierarchy.Folder c : fldr.children) {
                 buildPkgTree(tn, c);
             }
@@ -204,9 +159,6 @@
 
     private TreeItem loadPackage(String name, PackageConfigData conf) {
     	TreeItem pn = ExplorerNodeConfig.getPackageItemStructure(name, conf.uuid, itemWidgets);
-//        TreeNode wsNode = new TreeNode(constants.WorkingSets(), "images/workingset.gif");
-//        ExplorerNodeConfig.getWorkingSetItemsStructure(wsNode, conf.workingsets);
-//        pn.appendChild(wsNode);
         pn.setUserObject(conf);
         return pn;
     }
@@ -271,7 +223,7 @@
 					}
 				}, GWT.getModuleBaseURL() + "feed/package?name=" + pc.name + "&viewUrl="
 						+ CategoriesPanel.getSelfURL() + "&status=*");
-				centertabbedPanel.addTab(node.getText() + " [" + pc.name + "]", true, list, key);
+				centertabbedPanel.addTab(node.getText() + " [" + pc.name + "]", list, key);
 
 				final ServerPushNotification sub = new ServerPushNotification() {
 					public void messageReceived(PushResponse response) {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ProcessServerPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ProcessServerPanel.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ProcessServerPanel.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -57,7 +57,7 @@
                 @Override
                 public void onClick(Node node, EventObject eventObject) {
                   if (!centertabbedPanel.showIfOpen(tn.getId())) {
-                      centertabbedPanel.addTab(tn.getText(), true, openEmbedded(tn.getAttribute("url")), tn.getId());
+                      centertabbedPanel.addTab(tn.getText(), openEmbedded(tn.getAttribute("url")), tn.getId());
                   }
                 }
             });

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-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -73,7 +73,7 @@
 
 					String m = Format.format(constants.ScenariosForPackage(),
 							pc.name);
-					centertabbedPanel.addTab(m, true, new ScenarioPackageView(
+					centertabbedPanel.addTab(m, new ScenarioPackageView(
 							pc.uuid, pc.name, edit, centertabbedPanel),
 							"scenarios" + pc.uuid);
 				}
@@ -94,7 +94,6 @@
                     String m = Format.format(constants.AnalysisForPackage(),
                                               pc.name);
                     centertabbedPanel.addTab(m,
-                                        true,
                                         new AnalysisView(pc.uuid,
                                         		         pc.name,
                                         		         edit),

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/RHQPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/RHQPanel.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/RHQPanel.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -58,7 +58,7 @@
 
 			public void onClick(Node node, EventObject e) {
 				if (!centertabbedPanel.showIfOpen(title)) {
-					centertabbedPanel.addTab(title, true, content, title);
+					centertabbedPanel.addTab(title, content, title);
 				}
 			}
 		});

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -2133,4 +2133,6 @@
     String SaveRepoInfo();
 
     String Inbox();
+    
+    String GlobalArea();
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-09-03 12:16:02 UTC (rev 34996)
@@ -1051,4 +1051,5 @@
 SaveRepo=Save Configuration
 SaveTheRepositoryConfig=Save the configuration?
 SaveRepoInfo=Save the repository configuration to a file. Alternatively you can cut/paste it from this page. Don't forget to back up your repository (Import/Export) before replacing your existing repository.xml and restart your server for changes to take effect.
-Inbox=Inbox
\ No newline at end of file
+Inbox=Inbox
+GlobalArea=Global Area
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SnapshotView.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SnapshotView.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SnapshotView.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -444,7 +444,6 @@
             vp.add( new HTML( "<i><small>" + constants.SnapshotListingFor() + this.snapInfo.name + "</small></i>" ) );
             vp.add( grid );
             centerPanel.addTab( constants.SnapshotItems(),
-                                true,
                                 vp,
                                 key );
         }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -45,6 +45,7 @@
 import java.util.jar.JarInputStream;
 
 import javax.jcr.ItemExistsException;
+import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
 
 import org.apache.commons.io.IOUtils;
@@ -65,7 +66,7 @@
 import org.drools.factconstraints.client.ConstraintConfiguration;
 import org.drools.factconstraints.server.factory.ConstraintsFactory;
 import org.drools.guvnor.client.common.AssetFormats;
-import org.drools.guvnor.client.common.Inbox;
+import org.drools.guvnor.client.explorer.ExplorerNodeConfig;
 import org.drools.guvnor.client.rpc.AnalysisReport;
 import org.drools.guvnor.client.rpc.BuilderResult;
 import org.drools.guvnor.client.rpc.BuilderResultLine;
@@ -2015,6 +2016,36 @@
     }
 
     @WebRemote
+    @Restrict("#{identity.loggedIn}")
+    public byte[] exportPackages(String packageName) {
+        if ( Contexts.isSessionContextActive() ) {
+            Identity.instance().checkPermission( new PackageNameType( packageName ),
+                                                 RoleTypes.PACKAGE_ADMIN );
+        }
+        log.info( "USER:" + getCurrentUserName() + " export package [name: " + packageName + "] ");
+   	
+        byte[] result = null;
+        
+        try {
+			result =  repository.dumpPackageFromRepositoryXml( packageName);
+		} catch (PathNotFoundException e) {
+			throw new RulesRepositoryException(e);
+		} catch (IOException e) {
+			throw new RulesRepositoryException(e);
+		} catch (RepositoryException e) {
+			throw new RulesRepositoryException(e);
+		}
+        return result;
+    }
+    
+    @WebRemote
+    @Restrict("#{identity.loggedIn}")
+    //TODO: Not working. GUVNOR-475
+    public void importPackages(byte[] byteArray,  boolean importAsNew) {
+    	repository.importPackageToRepository( byteArray, importAsNew);
+    }
+    
+    @WebRemote
     public void rebuildSnapshots() throws SerializationException {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new AdminType(),
@@ -2751,10 +2782,10 @@
     public TableDataResult loadInbox(String inboxName) throws DetailedSerializationException {
         try {
             UserInbox ib = new UserInbox( repository );
-            if ( inboxName.equals( Inbox.RECENT_VIEWED ) ) {
+            if ( inboxName.equals( ExplorerNodeConfig.RECENT_VIEWED_ID ) ) {
                 return UserInbox.toTable( ib.loadRecentOpened(),
                                           false );
-            } else if ( inboxName.equals( Inbox.RECENT_EDITED ) ) {
+            } else if ( inboxName.equals( ExplorerNodeConfig.RECENT_EDITED_ID ) ) {
                 return UserInbox.toTable( ib.loadRecentEdited(),
                                           false );
             } else {

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/UserInbox.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/UserInbox.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/UserInbox.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -20,8 +20,8 @@
 import org.drools.repository.UserInfo;
 import org.drools.repository.AssetItem;
 import org.drools.repository.UserInfo.InboxEntry;
-import static org.drools.guvnor.client.common.Inbox.*;
 import org.drools.guvnor.client.common.AssetFormats;
+import org.drools.guvnor.client.explorer.ExplorerNodeConfig;
 import org.drools.guvnor.client.rpc.TableDataResult;
 import org.drools.guvnor.client.rpc.TableDataRow;
 
@@ -60,21 +60,21 @@
      * Simply adds to the list...
      */
     public void addToRecentEdited(String assetId, String note) {
-        addToInbox(RECENT_EDITED, assetId, note, "self");
+        addToInbox(ExplorerNodeConfig.RECENT_EDITED_ID, assetId, note, "self");
     }
 
 
     public void addToRecentOpened(String assetId, String note) {
-        addToInbox(RECENT_VIEWED, assetId, note, "self");
+        addToInbox(ExplorerNodeConfig.RECENT_VIEWED_ID, assetId, note, "self");
     }
 
     public void addToIncoming(String assetId, String note, String userFrom) {
-        addToInbox(INCOMING, assetId, note, userFrom);
+        addToInbox(ExplorerNodeConfig.INCOMING_ID, assetId, note, userFrom);
     }
 
 
     private void addToInbox(String boxName, String assetId, String note, String userFrom) {
-        assert boxName.equals(RECENT_EDITED) || boxName.equals(RECENT_VIEWED) || boxName.equals(INCOMING);
+        assert boxName.equals(ExplorerNodeConfig.RECENT_EDITED_ID) || boxName.equals(ExplorerNodeConfig.RECENT_VIEWED_ID) || boxName.equals(ExplorerNodeConfig.INCOMING_ID);
         List<InboxEntry> entries =  removeAnyExisting(assetId, userInfo.readEntries(INBOX, boxName));     
 
         if (entries.size() >= MAX_RECENT_EDITED) {
@@ -99,28 +99,28 @@
     }
 
     public List<InboxEntry> loadRecentEdited() {
-        return userInfo.readEntries(INBOX, RECENT_EDITED);
+        return userInfo.readEntries(INBOX, ExplorerNodeConfig.RECENT_EDITED_ID);
     }
 
     public List<InboxEntry> loadRecentOpened() {
-        return userInfo.readEntries(INBOX, RECENT_VIEWED);
+        return userInfo.readEntries(INBOX, ExplorerNodeConfig.RECENT_VIEWED_ID);
     }
 
     public List<InboxEntry> loadIncoming() {
-        return userInfo.readEntries(INBOX, INCOMING);
+        return userInfo.readEntries(INBOX, ExplorerNodeConfig.INCOMING_ID);
     }
 
     /**
      * Wipe them out, all of them.
      */
     public void clearAll() {
-        userInfo.clear(INBOX, RECENT_EDITED);
-        userInfo.clear(INBOX, RECENT_VIEWED);
-        userInfo.clear(INBOX, INCOMING);
+        userInfo.clear(INBOX, ExplorerNodeConfig.RECENT_EDITED_ID);
+        userInfo.clear(INBOX, ExplorerNodeConfig.RECENT_VIEWED_ID);
+        userInfo.clear(INBOX, ExplorerNodeConfig.INCOMING_ID);
     }
 
     public void clearIncoming() {
-        userInfo.clear(INBOX, INCOMING);
+        userInfo.clear(INBOX, ExplorerNodeConfig.INCOMING_ID);
     }
 
 
@@ -159,7 +159,7 @@
 		ib.addToRecentOpened(item.getUUID(), item.getName());
 		List<InboxEntry> unreadIncoming = ib.removeAnyExisting(item.getUUID(),
 				ib.loadIncoming());
-		ib.userInfo.writeEntries(INBOX, INCOMING, unreadIncoming);
+		ib.userInfo.writeEntries(INBOX, ExplorerNodeConfig.INCOMING_ID, unreadIncoming);
 
 		ib.save();
 	}

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java	2010-09-03 11:13:27 UTC (rev 34995)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java	2010-09-03 12:16:02 UTC (rev 34996)
@@ -33,6 +33,9 @@
  */
 
 import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
@@ -42,6 +45,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.jcr.PathNotFoundException;
+
 import junit.framework.TestCase;
 
 import org.drools.Person;
@@ -51,7 +56,7 @@
 import org.drools.core.util.DateUtils;
 import org.drools.core.util.DroolsStreamUtils;
 import org.drools.guvnor.client.common.AssetFormats;
-import org.drools.guvnor.client.common.Inbox;
+import org.drools.guvnor.client.explorer.ExplorerNodeConfig;
 import org.drools.guvnor.client.rpc.AnalysisReport;
 import org.drools.guvnor.client.rpc.BuilderResult;
 import org.drools.guvnor.client.rpc.BulkTestRunResult;
@@ -135,14 +140,14 @@
 
     public void testInboxEvents() throws Exception {
         ServiceImplementation impl = getService();
-        assertNotNull( impl.loadInbox( Inbox.RECENT_EDITED ) );
+        assertNotNull( impl.loadInbox( ExplorerNodeConfig.RECENT_EDITED_ID ) );
 
         //this should trigger the fact that the original user edited something
         RulesRepository repo1 = impl.repository;
         AssetItem as = impl.repository.loadDefaultPackage().addAsset( "testLoadInbox",
                                                                       "" );
         as.checkin( "" );
-        TableDataResult res = impl.loadInbox( Inbox.RECENT_EDITED );
+        TableDataResult res = impl.loadInbox( ExplorerNodeConfig.RECENT_EDITED_ID );
         boolean found = false;
         for ( TableDataRow row : res.data ) {
             if ( row.id.equals( as.getUUID() ) ) found = true;
@@ -151,7 +156,7 @@
 
         //but should not be in "incoming" yet
         found = false;
-        res = impl.loadInbox( Inbox.INCOMING );
+        res = impl.loadInbox( ExplorerNodeConfig.INCOMING_ID );
         for ( TableDataRow row : res.data ) {
             if ( row.id.equals( as.getUUID() ) ) found = true;
         }
@@ -167,7 +172,7 @@
 
         //now check that it is in the first users inbox
         TableDataRow rowMatch = null;
-        res = impl.loadInbox( Inbox.INCOMING );
+        res = impl.loadInbox( ExplorerNodeConfig.INCOMING_ID );
         for ( TableDataRow row : res.data ) {
             if ( row.id.equals( as.getUUID() ) ) {
                 rowMatch = row;
@@ -202,7 +207,7 @@
 
         //and also still in the original user...
         found = false;
-        res = impl.loadInbox( Inbox.INCOMING );
+        res = impl.loadInbox( ExplorerNodeConfig.INCOMING_ID );
         for ( TableDataRow row : res.data ) {
             if ( row.id.equals( as.getUUID() ) ) found = true;
         }
@@ -211,7 +216,7 @@
         //now lets open it with first user, and check that it disappears from the incoming...
         impl.loadRuleAsset( as.getUUID() );
         found = false;
-        res = impl.loadInbox( Inbox.INCOMING );
+        res = impl.loadInbox( ExplorerNodeConfig.INCOMING_ID );
         for ( TableDataRow row : res.data ) {
             if ( row.id.equals( as.getUUID() ) ) found = true;
         }
@@ -1762,7 +1767,60 @@
         assertEquals( n,
                       impl.listPackages().length );
     }
+    
+    public void xtestImportPackage() throws Exception {
+        ServiceImplementation impl = getService();
+        
+        try {
+			PackageItem item = impl.repository.loadPackage("testExportPackage");
+			fail();
+			assertNull(item);
+		} catch (Exception e) {
+			// expected
+		}
 
+        //impl.createCategory( "/", "testExportPackageCat1", "desc" );
+        //impl.createCategory( "/", "testExportPackageCat2", "desc" );
+
+		File file = new File("d:\\testExportPackage.xml");
+		
+		FileInputStream fis = new FileInputStream(file);
+		byte[] byteArray = new byte[fis.available()];
+		fis.read(byteArray);
+		
+		impl.importPackages(byteArray, true);
+		
+		PackageItem item = impl.repository.loadPackage( "testExportPackage" );
+        assertNotNull( item );
+        assertEquals( "desc",
+                      item.getDescription() );
+    }
+    
+    public void xtestExportPackage() throws Exception {
+        ServiceImplementation impl = getService();
+        int n = impl.listPackages().length;
+        impl.createCategory( "/", "testExportPackageCat1", "desc" );
+        impl.createCategory( "/", "testExportPackageCat2", "desc" );
+        PackageItem p = impl.repository.createPackage("testExportPackage", "");
+
+		String uuid1 = impl.createNewRule("testExportPackageAsset1", "desc",
+				"testExportPackageCat1", "testExportPackage", "dsl");
+
+		String uuid2 = impl.createNewRule("testExportPackageAsset2", "desc",
+				"testExportPackageCat2", "testExportPackage", "dsl");
+
+		byte[] exportedPackage = impl.exportPackages("testExportPackage");
+		
+	    assertNotNull(exportedPackage);
+
+		File file = new File("d:\\testExportPackage.xml");
+		
+		FileOutputStream fos = new FileOutputStream(file);
+		
+		fos.write(exportedPackage);
+		fos.close();
+    }
+
     public void testArchiveAsset() throws Exception {
         RepositoryService impl = getService();
         String cat = "testArchiveAsset";



More information about the jboss-svn-commits mailing list