[jboss-svn-commits] JBL Code SVN: r35646 - 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
Thu Oct 21 09:51:20 EDT 2010


Author: ge0ffrey
Date: 2010-10-21 09:51:20 -0400 (Thu, 21 Oct 2010)
New Revision: 35646

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
Log:
fail fast when the impossible happens (but don't do an NPE on a label click)

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-21 13:32:36 UTC (rev 35645)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java	2010-10-21 13:51:20 UTC (rev 35646)
@@ -181,37 +181,38 @@
     // Show the associated widget in the deck panel
     public void onSelection(SelectionEvent<TreeItem> event) {
         TreeItem node = event.getSelectedItem();
+        Object userObject = node.getUserObject();
 
         TabOpener opener = TabOpener.getInstance();
 
-        Object userObject = node.getUserObject();
-        if ( userObject instanceof PackageConfigData && !"global".equals( ((PackageConfigData) userObject).name ) ) {
-            PackageConfigData pc = (PackageConfigData) userObject;
-            RulePackageSelector.currentlySelectedPackage = pc.name;
+        if ( userObject != null) {
+            if ( userObject instanceof PackageConfigData && !"global".equals( ((PackageConfigData) userObject).name ) ) {
+                PackageConfigData pc = (PackageConfigData) userObject;
+                RulePackageSelector.currentlySelectedPackage = pc.name;
 
-            String uuid = pc.uuid;
-            opener.openPackageEditor( uuid,
-                                      new Command() {
-                                          public void execute() {
-                                              // refresh the package tree.
-                                              refreshTree();
-                                          }
-                                      } );
-        } else if ( userObject instanceof String[] ) {
-            final String[] formats = (String[]) userObject;
-            final PackageConfigData packageConfigData = (PackageConfigData) node.getParentItem().getUserObject();
-            RulePackageSelector.currentlySelectedPackage = packageConfigData.name;
-            String key = key( formats,
-                              packageConfigData );
-            opener.openPackageViewAssets( packageConfigData.uuid,
-                                          packageConfigData.name,
-                                          key,
-                                          formats,
-                                          node.getText() );
-        } else {
-            throw new IllegalArgumentException("The userObject (" + userObject + ") is not supported.");
+                String uuid = pc.uuid;
+                opener.openPackageEditor( uuid,
+                                          new Command() {
+                                              public void execute() {
+                                                  // refresh the package tree.
+                                                  refreshTree();
+                                              }
+                                          } );
+            } else if ( userObject instanceof String[] ) {
+                final String[] formats = (String[]) userObject;
+                final PackageConfigData packageConfigData = (PackageConfigData) node.getParentItem().getUserObject();
+                RulePackageSelector.currentlySelectedPackage = packageConfigData.name;
+                String key = key( formats,
+                                  packageConfigData );
+                opener.openPackageViewAssets( packageConfigData.uuid,
+                                              packageConfigData.name,
+                                              key,
+                                              formats,
+                                              node.getText() );
+            } else {
+                throw new IllegalArgumentException("The userObject (" + userObject + ") is not supported.");
+            }
         }
-
     }
 
 }



More information about the jboss-svn-commits mailing list