[jboss-svn-commits] JBL Code SVN: r31972 - in labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src: main/java/org/drools/guvnor/server and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Mar 5 16:08:31 EST 2010


Author: baunax
Date: 2010-03-05 16:08:30 -0500 (Fri, 05 Mar 2010)
New Revision: 31972

Added:
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
Modified:
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/files/PackageDeploymentServlet.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/test/java/org/drools/guvnor/server/PopulateDataTest.java
Log:
removed deprecated SerializableException

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -24,10 +24,7 @@
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.guvnor.client.modeldriven.testing.Scenario;
 
-import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.rpc.RemoteService;
-import com.google.gwt.user.client.rpc.SerializableException;
-import com.google.gwt.user.client.rpc.IsSerializable;
 
 /**
  * This is what the remote service will implement, as a servlet.
@@ -45,13 +42,13 @@
      * Return a a 2d array/grid of results for rules.
      * @param A "/" delimited path to a category.
      */
-    public TableDataResult loadRuleListForCategories(String categoryPath, int skip, int numRows, String tableConfig) throws SerializableException;
+    public TableDataResult loadRuleListForCategories(String categoryPath, int skip, int numRows, String tableConfig) throws Exception;
 
     /**
      * Return a a 2d array/grid of results for rules.
      * @param The name of the state.
      */
-    public TableDataResult loadRuleListForState(String state, int skip, int numRows, String tableConfig) throws SerializableException;
+    public TableDataResult loadRuleListForState(String state, int skip, int numRows, String tableConfig) throws Exception;
 
 
     /**
@@ -70,14 +67,14 @@
      * Return the UUID of the item created.
      * This will not check in the rule, but just leave it as saved in the repo.
      */
-    public String createNewRule(String ruleName, String description, String initialCategory, String initialPackage, String format) throws SerializableException;
+    public String createNewRule(String ruleName, String description, String initialCategory, String initialPackage, String format) throws Exception;
 
     /**
      * Creates a new rule which is imported from global area.
      * Return the UUID of the item created.
      * This will not check in the rule, but just leave it as saved in the repo.
      */
-    public String createNewImportedRule(String sharedAssetName, String initialPackage) throws SerializableException;
+    public String createNewImportedRule(String sharedAssetName, String initialPackage) throws Exception;
 
     /**
      * Delete un checked in Asset
@@ -112,16 +109,16 @@
      * This loads up all the stuff for a
      * rule asset based on the UUID (always latest and editable version).
      */
-    public RuleAsset loadRuleAsset(String UUID) throws SerializableException;
+    public RuleAsset loadRuleAsset(String UUID) throws Exception;
 
-    public RuleAsset[] loadRuleAssets(String[] UUIDs) throws SerializableException;
+    public RuleAsset[] loadRuleAssets(String[] UUIDs) throws Exception;
 
 
     /**
      * This will load the history of the given asset, in a summary format suitable
      * for display in a table.
      */
-    public TableDataResult loadAssetHistory(String uuid) throws SerializableException;
+    public TableDataResult loadAssetHistory(String uuid) throws Exception;
 
 
     /**
@@ -129,7 +126,7 @@
      * for display in a table.
      */
 
-    public TableDataResult loadArchivedAssets(int skip, int numRows) throws SerializableException;
+    public TableDataResult loadArchivedAssets(int skip, int numRows) throws Exception;
 
 
     /**
@@ -137,7 +134,7 @@
      * @return the UUID of the asset you are checking in,
      * null if there was some problem (and an exception was not thrown).
      */
-    public String checkinVersion(RuleAsset asset) throws SerializableException;
+    public String checkinVersion(RuleAsset asset) throws Exception;
 
 
     /**
@@ -150,13 +147,13 @@
      * This creates a package of the given name, and checks it in.
      * @return UUID of the created item.
      */
-    public String createPackage(String name, String description) throws SerializableException;
+    public String createPackage(String name, String description) throws Exception;
     
     /**
      * This creates a package of the given name, and checks it in.
      * @return UUID of the created item.
      */
-    public String createSubPackage(String name, String description, String parentPackage) throws SerializableException;
+    public String createSubPackage(String name, String description, String parentPackage) throws Exception;
 
     /**
      * Loads a package by its uuid.
@@ -171,7 +168,7 @@
      * should be given the option to review them, and correct them if needed
      * (but a save will not be prevented this way - as its not an exception).
      */
-    public ValidatedResponse savePackage(PackageConfigData data) throws SerializableException;
+    public ValidatedResponse savePackage(PackageConfigData data) throws Exception;
 
 
     /**
@@ -183,33 +180,33 @@
      * @param numRows The number of rows to return. -1 means all.
      * @param startRow The starting row number if paging - if numRows is -1 then this is ignored.
      */
-    public TableDataResult listAssets(String packageUUID, String formats[], int skip, int numRows, String tableConfig) throws SerializableException;
+    public TableDataResult listAssets(String packageUUID, String formats[], int skip, int numRows, String tableConfig) throws Exception;
 
     /**
      * Returns a list of valid states.
      */
-    public String[] listStates() throws SerializableException;
+    public String[] listStates() throws Exception;
 
     /**
      * Create a state (status).
      * @return the UUID of the created StateItem.
      */
-    public String createState(String name) throws SerializableException;
+    public String createState(String name) throws Exception;
 
     /**
      * Renames a state.
      * @param oldName states old name.
      * @param newName states new name.
-     * @throws SerializableException
+     * @throws Exception
      */
-    public void renameState(String oldName, String newName) throws SerializableException;
+    public void renameState(String oldName, String newName) throws Exception;
 
     /**
      * Removes a state.
      * @param name state name that will be removed.
-     * @throws SerializableException
+     * @throws Exception
      */
-    public void removeState(String name) throws SerializableException;
+    public void removeState(String name) throws Exception;
 
 
     /**
@@ -246,7 +243,7 @@
      * @param sourcePackageName
      * @param destPackageName
      */
-    public void copyPackage(String sourcePackageName, String destPackageName) throws SerializableException;
+    public void copyPackage(String sourcePackageName, String destPackageName) throws Exception;
 
     /**
      * This will load a list of snapshots for the given package. Snapshots are created
@@ -271,7 +268,7 @@
      * @param delete true if the snapshotName is to be removed.
      * @param newSnapshotName The name of the target snapshot that the contents will be copied to.
      */
-    public void copyOrRemoveSnapshot(String packageName, String snapshotName, boolean delete, String newSnapshotName) throws SerializableException;
+    public void copyOrRemoveSnapshot(String packageName, String snapshotName, boolean delete, String newSnapshotName) throws Exception;
 
 
     /**
@@ -280,7 +277,7 @@
     public TableDataResult quickFindAsset(String searchText,  
     		boolean searchArchived,
             int skip,
-            int numRows) throws SerializableException;
+            int numRows) throws Exception;
 
 
     /**
@@ -288,16 +285,16 @@
      * current assets linked to it, or else it will not be able to be removed.
      * @param categoryPath The full path to the category. Any sub categories will also
      * be removed.
-     * @throws SerializableException For when it all goes horribly wrong.
+     * @throws Exception For when it all goes horribly wrong.
      */
-    public void removeCategory(String categoryPath) throws SerializableException;
+    public void removeCategory(String categoryPath) throws Exception;
 
     /**
      * Loads up the SuggestionCompletionEngine for the given package.
      * As this doesn't change that often, its safe to cache. However, if a change is made to
      * a package, should blow away the cache.
      */
-    public SuggestionCompletionEngine loadSuggestionCompletionEngine(String packageName) throws SerializableException;
+    public SuggestionCompletionEngine loadSuggestionCompletionEngine(String packageName) throws Exception;
 
     /**
      * Build the package (may be a snapshot) and return the result.
@@ -311,12 +308,12 @@
     public BuilderResult buildPackage(String packageUUID,  boolean force, String buildMode, 
     		String operator, String statusDescriptionValue, boolean enableStatusSelector, 
     		String categoryOperator, String category, boolean enableCategorySelector,
-			String customSelectorName) throws SerializableException;
+			String customSelectorName) throws Exception;
 
     /**
      * return custom selector names
      */
-    public String[] getCustomSelectors() throws SerializableException;
+    public String[] getCustomSelectors() throws Exception;
 
     /**
      * This will return the effective DRL for a package.
@@ -326,22 +323,22 @@
      *
      * It should still generate
      *
-     * @throws SerializableException
+     * @throws Exception
      */
-    public String buildPackageSource(String packageUUID) throws SerializableException;
+    public String buildPackageSource(String packageUUID) throws Exception;
 
 
     /**
      * This will return the effective source for an asset (in DRL).
      * Used as an aid for debugging.
      */
-    public String buildAssetSource(RuleAsset asset) throws SerializableException;
+    public String buildAssetSource(RuleAsset asset) throws Exception;
 
     /**
      * This will build the asset and return any build results (errors).
      * This is only to report on the results - it will generally not store any state or apply any changed.
      */
-    public BuilderResult buildAsset(RuleAsset asset) throws SerializableException;
+    public BuilderResult buildAsset(RuleAsset asset) throws Exception;
 
     /**
      * Rename an asset.
@@ -393,7 +390,7 @@
      * No errors are expected, as there will be no change. If there are errors,
      * an expert will need to look at them.
      */
-    public void rebuildSnapshots() throws SerializableException;
+    public void rebuildSnapshots() throws Exception;
 
 
     /**
@@ -401,7 +398,7 @@
      * No errors are expected, as there will be no change. If there are errors,
      * an expert will need to look at them.
      */
-    public void rebuildPackages() throws SerializableException;
+    public void rebuildPackages() throws Exception;
 
 
 
@@ -409,27 +406,27 @@
      * This will list the rules available in a package.
      * This has an upper limit of what it will return (it just doesn't make sense to show a list of 20K items !).
      */
-    public String[] listRulesInPackage(String packageName) throws SerializableException;
+    public String[] listRulesInPackage(String packageName) throws Exception;
 
     /**
      *
      * @param packageName The package name the scenario is to be run in.
      * @param scenario The scenario to run.
      * @return The scenario, with the results fields populated.
-     * @throws SerializableException
+     * @throws Exception
      */
-    public SingleScenarioResult runScenario(String packageName, Scenario scenario) throws SerializableException;
+    public SingleScenarioResult runScenario(String packageName, Scenario scenario) throws Exception;
 
 
     /**
      * This should be pretty obvious what it does !
      */
-    public BulkTestRunResult runScenariosInPackage(String packageUUID) throws SerializableException;
+    public BulkTestRunResult runScenariosInPackage(String packageUUID) throws Exception;
 
     /**
      * Analyse the package and get a report for it.
      */
-    public AnalysisReport analysePackage(String packageUUID) throws SerializableException;
+    public AnalysisReport analysePackage(String packageUUID) throws Exception;
 
 
     /**
@@ -437,7 +434,7 @@
      * This may not include things on the "system" classpath, but only things specifically scoped to the package
      * (eg in jars that have been uploaded to it as an asset).
      */
-    public String[] listTypesInPackage(String packageUUID) throws SerializableException;
+    public String[] listTypesInPackage(String packageUUID) throws Exception;
 
     /**
      * This will list the last N log entryies logged by the server. For debugging purposes in the GUI.
@@ -462,9 +459,9 @@
      * @param skip
      * @param numRows
      * @return
-     * @throws SerializableException
+     * @throws Exception
      */
-    public TableDataResult queryFullText(String text, boolean seekArchived, int skip, int numRows) throws SerializableException;
+    public TableDataResult queryFullText(String text, boolean seekArchived, int skip, int numRows) throws Exception;
 
     /**
      * Run a meta data search. All dates are in format as configured for the system. Pass in null and they will not be included in the search (that
@@ -478,10 +475,10 @@
      * @param skip
      * @param numRows
      * @return
-     * @throws SerializableException
+     * @throws Exception
      */
     public TableDataResult queryMetaData(final MetaDataQuery[] qr, Date createdAfter, Date createdBefore, Date modifiedAfter, Date modifiedBefore,
-    		boolean seekArchived, int skip, int numRows) throws SerializableException;
+    		boolean seekArchived, int skip, int numRows) throws Exception;
 
 
     /**
@@ -541,7 +538,7 @@
      * Installs the sample repository, wiping out what was already there.
      * Generally shouldn't call this unless it is new !
      */
-    public void installSampleRepository() throws SerializableException;
+    public void installSampleRepository() throws Exception;
 
 
     /**
@@ -575,5 +572,5 @@
                                           String firstSnapshotName,
                                           String secondSnapshotName);
     
-    public AnalysisReport verifyAsset(RuleAsset asset) throws SerializableException;
+    public AnalysisReport verifyAsset(RuleAsset asset) throws Exception;
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -17,12 +17,6 @@
 
 
 
-import java.util.List;
-import java.util.Map;
-
-import org.drools.guvnor.client.common.GenericCallback;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.rpc.RemoteService;
 
 /**
@@ -118,7 +112,4 @@
 	void unLockAsset(java.lang.String uuid, com.google.gwt.user.client.rpc.AsyncCallback<java.lang.Void> arg2);
 	void updateUserPermissions(java.lang.String userName, java.util.Map<java.lang.String, java.util.List<java.lang.String>> perms, com.google.gwt.user.client.rpc.AsyncCallback<java.lang.Void> arg3);
 	void verifyAsset(org.drools.guvnor.client.rpc.RuleAsset asset, com.google.gwt.user.client.rpc.AsyncCallback<org.drools.guvnor.client.rpc.AnalysisReport> arg2);
-
-
-
 }
\ No newline at end of file

Added: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java	                        (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -0,0 +1,12 @@
+package org.drools.guvnor.client.rpc;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class WorkingSetConfigData implements IsSerializable {
+	public String name;
+	public String description;
+	
+	public String[] validFacts;
+	public WorkingSetConfigData[] workingSets;
+	
+}


Property changes on: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -1,23 +1,24 @@
 package org.drools.guvnor.server;
 
-import com.google.gwt.user.client.rpc.SerializableException;
-import com.google.gwt.user.server.rpc.RemoteServiceServlet;
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.log4j.Logger;
-import org.drools.guvnor.client.rpc.*;
+import org.drools.guvnor.client.rpc.AnalysisReport;
+import org.drools.guvnor.client.rpc.RepositoryService;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.server.repository.MailboxService;
+import org.drools.guvnor.server.repository.RepositoryStartupService;
 import org.drools.guvnor.server.util.LoggingHelper;
 import org.drools.guvnor.server.util.TestEnvironmentSessionHelper;
-import org.drools.guvnor.server.repository.MailboxService;
-import org.drools.guvnor.server.repository.RepositoryStartupService;
 import org.drools.repository.RulesRepository;
 import org.drools.repository.RulesRepositoryException;
 import org.jboss.seam.Component;
 import org.jboss.seam.contexts.Contexts;
 import org.jboss.seam.security.AuthorizationException;
 
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
+import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
 /**
  * GWT RPC service endpoint for Repository service. A place to hang some exception handling mainly.
@@ -102,10 +103,10 @@
     public java.lang.String[] loadChildCategories(java.lang.String p0)  {
          return getService().loadChildCategories( p0);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult loadRuleListForCategories(java.lang.String p0, int p1, int p2, java.lang.String p3) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult loadRuleListForCategories(java.lang.String p0, int p1, int p2, java.lang.String p3) throws Exception {
          return getService().loadRuleListForCategories( p0,  p1,  p2,  p3);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult loadRuleListForState(java.lang.String p0, int p1, int p2, java.lang.String p3) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult loadRuleListForState(java.lang.String p0, int p1, int p2, java.lang.String p3) throws Exception {
          return getService().loadRuleListForState( p0,  p1,  p2,  p3);
     }
     public org.drools.guvnor.client.rpc.TableConfig loadTableConfig(java.lang.String p0)  {
@@ -114,10 +115,10 @@
     public java.lang.Boolean createCategory(java.lang.String p0, java.lang.String p1, java.lang.String p2)  {
          return getService().createCategory( p0,  p1,  p2);
     }
-    public java.lang.String createNewRule(java.lang.String p0, java.lang.String p1, java.lang.String p2, java.lang.String p3, java.lang.String p4) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String createNewRule(java.lang.String p0, java.lang.String p1, java.lang.String p2, java.lang.String p3, java.lang.String p4) throws Exception {
          return getService().createNewRule( p0,  p1,  p2,  p3,  p4);
     }
-    public java.lang.String createNewImportedRule(java.lang.String p0, java.lang.String p1) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String createNewImportedRule(java.lang.String p0, java.lang.String p1) throws Exception {
          return getService().createNewImportedRule( p0,  p1);
     }
     public void deleteUncheckedRule(java.lang.String p0, java.lang.String p1)  {
@@ -135,51 +136,51 @@
     public org.drools.guvnor.client.rpc.PackageConfigData[] listArchivedPackages()  {
          return getService().listArchivedPackages();
     }
-    public org.drools.guvnor.client.rpc.RuleAsset loadRuleAsset(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.RuleAsset loadRuleAsset(java.lang.String p0) throws Exception {
          return getService().loadRuleAsset( p0);
     }
-    public org.drools.guvnor.client.rpc.RuleAsset[] loadRuleAssets(java.lang.String[] p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.RuleAsset[] loadRuleAssets(java.lang.String[] p0) throws Exception {
          return getService().loadRuleAssets( p0);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult loadAssetHistory(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult loadAssetHistory(java.lang.String p0) throws Exception {
          return getService().loadAssetHistory( p0);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult loadArchivedAssets(int p0, int p1) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult loadArchivedAssets(int p0, int p1) throws Exception {
          return getService().loadArchivedAssets( p0,  p1);
     }
-    public java.lang.String checkinVersion(org.drools.guvnor.client.rpc.RuleAsset p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String checkinVersion(org.drools.guvnor.client.rpc.RuleAsset p0) throws Exception {
          return getService().checkinVersion( p0);
     }
     public void restoreVersion(java.lang.String p0, java.lang.String p1, java.lang.String p2)  {
         getService().restoreVersion( p0,  p1,  p2);
     }
-    public java.lang.String createPackage(java.lang.String p0, java.lang.String p1) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String createPackage(java.lang.String p0, java.lang.String p1) throws Exception {
          return getService().createPackage( p0,  p1);
     }
     
-    public java.lang.String createSubPackage(java.lang.String p0, java.lang.String p1, String parentPackage) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String createSubPackage(java.lang.String p0, java.lang.String p1, String parentPackage) throws Exception {
         return getService().createSubPackage( p0,  p1, parentPackage);
    }
     
     public org.drools.guvnor.client.rpc.PackageConfigData loadPackageConfig(java.lang.String p0)  {
          return getService().loadPackageConfig( p0);
     }
-    public org.drools.guvnor.client.rpc.ValidatedResponse savePackage(org.drools.guvnor.client.rpc.PackageConfigData p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.ValidatedResponse savePackage(org.drools.guvnor.client.rpc.PackageConfigData p0) throws Exception {
          return getService().savePackage( p0);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult listAssets(java.lang.String p0, java.lang.String[] p1, int p2, int p3, java.lang.String p4) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult listAssets(java.lang.String p0, java.lang.String[] p1, int p2, int p3, java.lang.String p4) throws Exception {
          return getService().listAssets( p0,  p1,  p2,  p3,  p4);
     }
-    public java.lang.String[] listStates() throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String[] listStates() throws Exception {
          return getService().listStates();
     }
-    public java.lang.String createState(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String createState(java.lang.String p0) throws Exception {
          return getService().createState( p0);
     }
-    public void renameState(java.lang.String p0, java.lang.String p1) throws com.google.gwt.user.client.rpc.SerializableException {
+    public void renameState(java.lang.String p0, java.lang.String p1) throws Exception {
         getService().renameState( p0,  p1);
     }
-    public void removeState(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public void removeState(java.lang.String p0) throws Exception {
         getService().removeState( p0);
     }
     public void changeState(java.lang.String p0, java.lang.String p1, boolean p2)  {
@@ -194,7 +195,7 @@
     public java.lang.String copyAsset(java.lang.String p0, java.lang.String p1, java.lang.String p2)  {
          return getService().copyAsset( p0,  p1,  p2);
     }
-    public void copyPackage(java.lang.String p0, java.lang.String p1) throws com.google.gwt.user.client.rpc.SerializableException {
+    public void copyPackage(java.lang.String p0, java.lang.String p1) throws Exception {
         getService().copyPackage( p0,  p1);
     }
     public org.drools.guvnor.client.rpc.SnapshotInfo[] listSnapshots(java.lang.String p0)  {
@@ -203,31 +204,31 @@
     public void createPackageSnapshot(java.lang.String p0, java.lang.String p1, boolean p2, java.lang.String p3)  {
         getService().createPackageSnapshot( p0,  p1,  p2,  p3);
     }
-    public void copyOrRemoveSnapshot(java.lang.String p0, java.lang.String p1, boolean p2, java.lang.String p3) throws com.google.gwt.user.client.rpc.SerializableException {
+    public void copyOrRemoveSnapshot(java.lang.String p0, java.lang.String p1, boolean p2, java.lang.String p3) throws Exception {
         getService().copyOrRemoveSnapshot( p0,  p1,  p2,  p3);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult quickFindAsset(java.lang.String p0, boolean p1, int p2, int p3) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult quickFindAsset(java.lang.String p0, boolean p1, int p2, int p3) throws Exception {
          return getService().quickFindAsset( p0,  p1,  p2,  p3);
     }
-    public void removeCategory(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public void removeCategory(java.lang.String p0) throws Exception {
         getService().removeCategory( p0);
     }
-    public org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine loadSuggestionCompletionEngine(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine loadSuggestionCompletionEngine(java.lang.String p0) throws Exception {
          return getService().loadSuggestionCompletionEngine( p0);
     }
-    public org.drools.guvnor.client.rpc.BuilderResult buildPackage(java.lang.String p0, boolean p1, java.lang.String p2, java.lang.String p3, java.lang.String p4, boolean p5, java.lang.String p6, java.lang.String p7, boolean p8, java.lang.String p9) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.BuilderResult buildPackage(java.lang.String p0, boolean p1, java.lang.String p2, java.lang.String p3, java.lang.String p4, boolean p5, java.lang.String p6, java.lang.String p7, boolean p8, java.lang.String p9) throws Exception {
          return getService().buildPackage( p0,  p1,  p2,  p3,  p4,  p5,  p6,  p7,  p8,  p9);
     }
-    public java.lang.String[] getCustomSelectors() throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String[] getCustomSelectors() throws Exception {
          return getService().getCustomSelectors();
     }
-    public java.lang.String buildPackageSource(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String buildPackageSource(java.lang.String p0) throws Exception {
          return getService().buildPackageSource( p0);
     }
-    public java.lang.String buildAssetSource(org.drools.guvnor.client.rpc.RuleAsset p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String buildAssetSource(org.drools.guvnor.client.rpc.RuleAsset p0) throws Exception {
          return getService().buildAssetSource( p0);
     }
-    public org.drools.guvnor.client.rpc.BuilderResult buildAsset(org.drools.guvnor.client.rpc.RuleAsset p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.BuilderResult buildAsset(org.drools.guvnor.client.rpc.RuleAsset p0) throws Exception {
          return getService().buildAsset( p0);
     }
     public java.lang.String renameAsset(java.lang.String p0, java.lang.String p1)  {
@@ -254,25 +255,25 @@
     public java.lang.String renamePackage(java.lang.String p0, java.lang.String p1)  {
          return getService().renamePackage( p0,  p1);
     }
-    public void rebuildSnapshots() throws com.google.gwt.user.client.rpc.SerializableException {
+    public void rebuildSnapshots() throws Exception {
         getService().rebuildSnapshots();
     }
-    public void rebuildPackages() throws com.google.gwt.user.client.rpc.SerializableException {
+    public void rebuildPackages() throws Exception {
         getService().rebuildPackages();
     }
-    public java.lang.String[] listRulesInPackage(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String[] listRulesInPackage(java.lang.String p0) throws Exception {
          return getService().listRulesInPackage( p0);
     }
-    public org.drools.guvnor.client.rpc.SingleScenarioResult runScenario(java.lang.String p0, org.drools.guvnor.client.modeldriven.testing.Scenario p1) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.SingleScenarioResult runScenario(java.lang.String p0, org.drools.guvnor.client.modeldriven.testing.Scenario p1) throws Exception {
          return getService().runScenario( p0,  p1);
     }
-    public org.drools.guvnor.client.rpc.BulkTestRunResult runScenariosInPackage(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.BulkTestRunResult runScenariosInPackage(java.lang.String p0) throws Exception {
          return getService().runScenariosInPackage( p0);
     }
-    public org.drools.guvnor.client.rpc.AnalysisReport analysePackage(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.AnalysisReport analysePackage(java.lang.String p0) throws Exception {
          return getService().analysePackage( p0);
     }
-    public java.lang.String[] listTypesInPackage(java.lang.String p0) throws com.google.gwt.user.client.rpc.SerializableException {
+    public java.lang.String[] listTypesInPackage(java.lang.String p0) throws Exception {
          return getService().listTypesInPackage( p0);
     }
     public org.drools.guvnor.client.rpc.LogEntry[] showLog()  {
@@ -284,10 +285,10 @@
     public java.lang.String[] loadDropDownExpression(java.lang.String[] p0, java.lang.String p1)  {
          return getService().loadDropDownExpression( p0,  p1);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult queryFullText(java.lang.String p0, boolean p1, int p2, int p3) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult queryFullText(java.lang.String p0, boolean p1, int p2, int p3) throws Exception {
          return getService().queryFullText( p0,  p1,  p2,  p3);
     }
-    public org.drools.guvnor.client.rpc.TableDataResult queryMetaData(org.drools.guvnor.client.rpc.MetaDataQuery[] p0, java.util.Date p1, java.util.Date p2, java.util.Date p3, java.util.Date p4, boolean p5, int p6, int p7) throws com.google.gwt.user.client.rpc.SerializableException {
+    public org.drools.guvnor.client.rpc.TableDataResult queryMetaData(org.drools.guvnor.client.rpc.MetaDataQuery[] p0, java.util.Date p1, java.util.Date p2, java.util.Date p3, java.util.Date p4, boolean p5, int p6, int p7) throws Exception {
          return getService().queryMetaData( p0,  p1,  p2,  p3,  p4,  p5,  p6,  p7);
     }
     public java.util.Map listUserPermissions() throws org.drools.guvnor.client.rpc.DetailedSerializableException {
@@ -317,7 +318,7 @@
     public void unLockAsset(java.lang.String p0)  {
         getService().unLockAsset( p0);
     }
-    public void installSampleRepository() throws com.google.gwt.user.client.rpc.SerializableException {
+    public void installSampleRepository() throws Exception {
         getService().installSampleRepository();
     }
     public java.util.List loadDiscussionForAsset(java.lang.String p0)  {
@@ -339,7 +340,7 @@
          return getService().compareSnapshots( p0,  p1,  p2);
     }
 
-    public AnalysisReport verifyAsset(RuleAsset asset) throws SerializableException {
+    public AnalysisReport verifyAsset(RuleAsset asset) throws Exception {
         return getService().verifyAsset( asset );
     }
 

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -32,6 +32,7 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -84,6 +85,7 @@
 import org.drools.guvnor.client.rpc.TableDataResult;
 import org.drools.guvnor.client.rpc.TableDataRow;
 import org.drools.guvnor.client.rpc.ValidatedResponse;
+import org.drools.guvnor.client.rpc.WorkingSetConfigData;
 import org.drools.guvnor.server.builder.AuditLogReporter;
 import org.drools.guvnor.server.builder.BRMSPackageBuilder;
 import org.drools.guvnor.server.builder.ContentAssemblyError;
@@ -124,6 +126,7 @@
 import org.drools.repository.RulesRepositoryException;
 import org.drools.repository.StateItem;
 import org.drools.repository.VersionableItem;
+import org.drools.repository.WorkingSetItem;
 import org.drools.repository.RulesRepository.DateQuery;
 import org.drools.repository.security.PermissionManager;
 import org.drools.rule.Package;
@@ -141,8 +144,6 @@
 import org.mvel2.MVEL;
 import org.mvel2.templates.TemplateRuntime;
 
-import com.google.gwt.user.client.rpc.SerializableException;
-
 /**
  * This is the implementation of the repository service to drive the GWT based
  * front end.
@@ -241,7 +242,7 @@
                                 String description,
                                 String initialCategory,
                                 String initialPackage,
-                                String format) throws SerializableException {
+                                String format) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( initialPackage ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -273,7 +274,7 @@
                 return "DUPLICATE";
             } else {
                 log.error( "An error occurred creating new asset" + ruleName + "] in package [" + initialPackage + "]: " + e.getMessage() );
-                throw new SerializableException( e.getMessage() );
+                throw new Exception( e.getMessage() );
             }
         }
 
@@ -285,7 +286,7 @@
     @WebRemote
     @Restrict("#{identity.loggedIn}")
     public String createNewImportedRule(String sharedAssetName,
-                                        String initialPackage) throws SerializableException {
+                                        String initialPackage) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( initialPackage ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -304,7 +305,7 @@
                 return "DUPLICATE";
             } else {
                 log.error( "An error occurred creating shared asset" + sharedAssetName + "] in package [" + initialPackage + "]: " + e.getMessage() );
-                throw new SerializableException( e.getMessage() );
+                throw new Exception( e.getMessage() );
             }
         }
 
@@ -391,41 +392,82 @@
 
         return data;
     }
-
+    
     private PackageConfigData[] listPackages(boolean archive,
                                              RepositoryFilter filter) {
         List<PackageConfigData> result = new ArrayList<PackageConfigData>();
         PackageIterator pkgs = repository.listPackages();
         pkgs.setArchivedIterator( archive );
         while ( pkgs.hasNext() ) {
-            PackageItem pkg = (PackageItem) pkgs.next();
+            PackageItem pkg = pkgs.next();
 
             PackageConfigData data = new PackageConfigData();
             data.uuid = pkg.getUUID();
             data.name = pkg.getName();
             data.archived = pkg.isArchived();
-            if ( !archive && (filter == null || filter.accept( data,
-                                                               RoleTypes.PACKAGE_READONLY )) ) {
+            if ( !archive && 
+            		(filter == null || filter.accept( data, RoleTypes.PACKAGE_READONLY )) ) {
                 result.add( data );
-            } else if ( archive && data.archived && (filter == null || filter.accept( data,
-                                                                                      RoleTypes.PACKAGE_READONLY )) ) {
+            } else if ( archive && data.archived && 
+            		(filter == null || filter.accept( data, RoleTypes.PACKAGE_READONLY )) ) {
                 result.add( data );
             }
+            
+            data.subPackages = listSubPackages(pkg, archive, filter);
+            data.workingsets = listWorkingSets(pkg.listWorkingSets());
         }
 
         sortPackages( result );
-        PackageConfigData[] resultArr = result.toArray( new PackageConfigData[result.size()] );
-        return resultArr;
+        return result.toArray( new PackageConfigData[result.size()] );
     }
+    
+    private WorkingSetConfigData[] listWorkingSets(Iterator<WorkingSetItem> workingSets) {
+    	List<WorkingSetConfigData> ret = new LinkedList<WorkingSetConfigData>();
+    	while (workingSets.hasNext()) {
+    		WorkingSetItem wsItem = workingSets.next();
+    		WorkingSetConfigData data =  new WorkingSetConfigData();
+    		data.name = wsItem.getName();
+    		data.description = wsItem.getDescription();
+    		data.validFacts = wsItem.getValidFacts();
+    		data.workingSets = listWorkingSets(wsItem.listChildren());
+    		ret.add(data);
+    	}
+		return ret.toArray(new WorkingSetConfigData[ret.size()]);
+	}
 
+	private PackageConfigData[] listSubPackages(PackageItem parentPkg, boolean archive, RepositoryFilter filter) {
+    	List<PackageConfigData> children = new LinkedList<PackageConfigData>();
+    	
+    	PackageIterator pkgs = parentPkg.listSubPackages();
+        pkgs.setArchivedIterator( archive );
+        while ( pkgs.hasNext() ) {
+            PackageItem pkg = pkgs.next();
+
+            PackageConfigData data = new PackageConfigData();
+            data.uuid = pkg.getUUID();
+            data.name = pkg.getName();
+            data.archived = pkg.isArchived();
+            if ( !archive && 
+            		(filter == null || filter.accept( data, RoleTypes.PACKAGE_READONLY )) ) {
+                children.add( data );
+            } else if ( archive && data.archived && 
+            		(filter == null || filter.accept( data, RoleTypes.PACKAGE_READONLY )) ) {
+            	children.add( data );
+            }
+            
+            data.subPackages = listSubPackages(pkg, archive, filter);
+        }
+    	
+    	sortPackages( children );
+        return children.toArray( new PackageConfigData[children.size()] );
+    }
+    
     void sortPackages(List<PackageConfigData> result) {
         Collections.sort( result,
-                          new Comparator<Object>() {
+                          new Comparator<PackageConfigData>() {
 
-                              public int compare(final Object o1,
-                                                 final Object o2) {
-                                  final PackageConfigData d1 = (PackageConfigData) o1;
-                                  final PackageConfigData d2 = (PackageConfigData) o2;
+                              public int compare(final PackageConfigData d1,
+                                                 final PackageConfigData d2) {
                                   return d1.name.compareTo( d2.name );
                               }
 
@@ -448,7 +490,7 @@
     public TableDataResult loadRuleListForCategories(String categoryPath,
                                                      int skip,
                                                      int numRows,
-                                                     String tableConfig) throws SerializableException {
+                                                     String tableConfig) throws Exception {
         // love you
         // long time = System.currentTimeMillis();
 
@@ -482,7 +524,7 @@
     public TableDataResult loadRuleListForState(String stateName,
                                                 int skip,
                                                 int numRows,
-                                                String tableConfig) throws SerializableException {
+                                                String tableConfig) throws Exception {
         // love you
         // long time = System.currentTimeMillis();
 
@@ -518,7 +560,7 @@
      */
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public RuleAsset loadRuleAsset(String uuid) throws SerializableException {
+    public RuleAsset loadRuleAsset(String uuid) throws Exception {
 
         long time = System.currentTimeMillis();
 
@@ -580,7 +622,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public RuleAsset[] loadRuleAssets(String[] uuids) throws SerializableException {
+    public RuleAsset[] loadRuleAssets(String[] uuids) throws Exception {
 
         Collection<RuleAsset> assets = new HashSet<RuleAsset>();
 
@@ -591,7 +633,7 @@
         return assets.toArray( new RuleAsset[assets.size()] );
     }
 
-    private RuleAsset loadAsset(AssetItem item) throws SerializableException {
+    private RuleAsset loadAsset(AssetItem item) throws Exception {
 
         RuleAsset asset = new RuleAsset();
         asset.uuid = item.getUUID();
@@ -668,7 +710,7 @@
      * 2. The user has package.readonly role (or package.admin, package.developer)
      * and this role has permission to access the package which the asset belongs to.
      */
-    public String checkinVersion(RuleAsset asset) throws SerializableException {
+    public String checkinVersion(RuleAsset asset) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( asset.metaData.packageName ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -729,7 +771,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public TableDataResult loadAssetHistory(String uuid) throws SerializableException {
+    public TableDataResult loadAssetHistory(String uuid) throws Exception {
 
         List<TableDataRow> result = new ArrayList<TableDataRow>();
 
@@ -784,7 +826,7 @@
     @WebRemote
     @Restrict("#{identity.loggedIn}")
     public TableDataResult loadArchivedAssets(int skip,
-                                              int numRows) throws SerializableException {
+                                              int numRows) throws Exception {
         List<TableDataRow> result = new ArrayList<TableDataRow>();
         RepositoryFilter filter = new AssetItemFilter();
 
@@ -839,7 +881,7 @@
 
     @WebRemote
     public String createPackage(String name,
-                                String description) throws SerializableException {
+                                String description) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new AdminType(),
                                                  RoleTypes.ADMIN );
@@ -853,7 +895,7 @@
     }
 
     @WebRemote
-    public String createSubPackage(String name, String description, String parentNode) throws SerializableException {
+    public String createSubPackage(String name, String description, String parentNode) throws Exception {
         //XXX bauna
 		if (Contexts.isSessionContextActive()) {
 			Identity.instance().checkPermission(new AdminType(), RoleTypes.ADMIN);
@@ -933,7 +975,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public ValidatedResponse savePackage(PackageConfigData data) throws SerializableException {
+    public ValidatedResponse savePackage(PackageConfigData data) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageUUIDType( data.uuid ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -1006,7 +1048,7 @@
                                       String formats[],
                                       int skip,
                                       int numRows,
-                                      String tableConfig) throws SerializableException {
+                                      String tableConfig) throws Exception {
         log.debug( "Loading asset list for [" + uuid + "]" );
         if ( numRows == 0 ) {
             throw new DetailedSerializableException( "Unable to return zero results (bug)",
@@ -1032,7 +1074,7 @@
     public TableDataResult queryFullText(String text,
                                          boolean seekArchived,
                                          int skip,
-                                         int numRows) throws SerializableException {
+                                         int numRows) throws Exception {
         if ( numRows == 0 ) {
             throw new DetailedSerializableException( "Unable to return zero results (bug)",
                                                      "probably have the parameters around the wrong way, sigh..." );
@@ -1068,7 +1110,7 @@
                                          Date modifiedBefore,
                                          boolean seekArchived,
                                          int skip,
-                                         int numRows) throws SerializableException {
+                                         int numRows) throws Exception {
         if ( numRows == 0 ) {
             throw new DetailedSerializableException( "Unable to return zero results (bug)",
                                                      "probably have the parameters around the wrong way, sigh..." );
@@ -1160,7 +1202,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String createState(String name) throws SerializableException {
+    public String createState(String name) throws Exception {
         log.info( "USER:" + getCurrentUserName() + " CREATING state: [" + name + "]" );
         try {
             name = cleanHTML( name );
@@ -1168,13 +1210,13 @@
             repository.save();
             return uuid;
         } catch ( RepositoryException e ) {
-            throw new SerializableException( "Unable to create the status." );
+            throw new Exception( "Unable to create the status." );
         }
     }
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public void removeState(String name) throws SerializableException {
+    public void removeState(String name) throws Exception {
         log.info( "USER:" + getCurrentUserName() + " REMOVING state: [" + name + "]" );
 
         try {
@@ -1190,7 +1232,7 @@
     @WebRemote
     @Restrict("#{identity.loggedIn}")
     public void renameState(String oldName,
-                            String newName) throws SerializableException {
+                            String newName) throws Exception {
         log.info( "USER:" + getCurrentUserName() + " RENAMING state: [" + oldName + "] to [" + newName + "]" );
         repository.renameState( oldName,
                                 newName );
@@ -1199,7 +1241,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String[] listStates() throws SerializableException {
+    public String[] listStates() throws Exception {
         StateItem[] states = repository.listStates();
         String[] result = new String[states.length];
         for ( int i = 0; i < states.length; i++ ) {
@@ -1250,7 +1292,7 @@
                     }
                 } catch ( RulesRepositoryException e ) {
                     // This was not a rule asset
-                } catch ( SerializableException e ) {
+                } catch ( Exception e ) {
                     // This was not a rule asset
                 }
 
@@ -1379,7 +1421,7 @@
     public void copyOrRemoveSnapshot(String packageName,
                                      String snapshotName,
                                      boolean delete,
-                                     String newSnapshotName) throws SerializableException {
+                                     String newSnapshotName) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( packageName ),
                                                  RoleTypes.PACKAGE_ADMIN );
@@ -1391,7 +1433,7 @@
                                               snapshotName );
         } else {
             if ( newSnapshotName.equals( "" ) ) {
-                throw new SerializableException( "Need to have a new snapshot name." );
+                throw new Exception( "Need to have a new snapshot name." );
             }
             log.info( "USER:" + getCurrentUserName() + " COPYING SNAPSHOT for package: [" + packageName + "] snapshot: [" + snapshotName + "] to [" + newSnapshotName + "]" );
 
@@ -1407,7 +1449,7 @@
     public TableDataResult quickFindAsset(String searchText,
                                           boolean searchArchived,
                                           int skip,
-                                          int numRows) throws SerializableException {
+                                          int numRows) throws Exception {
         String search = searchText.replace( '*',
                                             '%' );
 
@@ -1415,8 +1457,6 @@
             search += "%";
         }
 
-        TableDataResult result = new TableDataResult();
-
         List<AssetItem> resultList = new ArrayList<AssetItem>();
 
         long start = System.currentTimeMillis();
@@ -1445,7 +1485,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public void removeCategory(String categoryPath) throws SerializableException {
+    public void removeCategory(String categoryPath) throws Exception {
         log.info( "USER:" + getCurrentUserName() + " REMOVING CATEGORY path: [" + categoryPath + "]" );
 
         try {
@@ -1472,7 +1512,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public SuggestionCompletionEngine loadSuggestionCompletionEngine(String packageName) throws SerializableException {
+    public SuggestionCompletionEngine loadSuggestionCompletionEngine(String packageName) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( packageName ),
                                                  RoleTypes.PACKAGE_READONLY );
@@ -1499,7 +1539,7 @@
 
         } catch ( RulesRepositoryException e ) {
             log.error( "An error occurred loadSuggestionCompletionEngine: " + e.getMessage() );
-            throw new SerializableException( e.getMessage() );
+            throw new Exception( e.getMessage() );
         } finally {
             Thread.currentThread().setContextClassLoader( originalCL );
         }
@@ -1509,7 +1549,7 @@
     @WebRemote
     @Restrict("#{identity.loggedIn}")
     public BuilderResult buildPackage(String packageUUID,
-                                        boolean force) throws SerializableException {
+                                        boolean force) throws Exception {
         return buildPackage( packageUUID,
                              force,
                              null,
@@ -1533,7 +1573,7 @@
                                         String categoryOperator,
                                         String category,
                                         boolean enableCategorySelector,
-                                        String customSelectorName) throws SerializableException {
+                                        String customSelectorName) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageUUIDType( packageUUID ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -1561,7 +1601,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String[] getCustomSelectors() throws SerializableException {
+    public String[] getCustomSelectors() throws Exception {
         return SelectorManager.getInstance().getCustomSelectors();
     }
 
@@ -1660,7 +1700,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String buildPackageSource(String packageUUID) throws SerializableException {
+    public String buildPackageSource(String packageUUID) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageUUIDType( packageUUID ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -1674,7 +1714,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String buildAssetSource(RuleAsset asset) throws SerializableException {
+    public String buildAssetSource(RuleAsset asset) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( asset.metaData.packageName ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -1710,7 +1750,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public BuilderResult buildAsset(RuleAsset asset) throws SerializableException {
+    public BuilderResult buildAsset(RuleAsset asset) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( asset.metaData.packageName ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -1757,7 +1797,7 @@
 
     @WebRemote
     public void copyPackage(String sourcePackageName,
-                            String destPackageName) throws SerializableException {
+                            String destPackageName) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new AdminType(),
                                                  RoleTypes.ADMIN );
@@ -1902,7 +1942,7 @@
     }
 
     @WebRemote
-    public void rebuildSnapshots() throws SerializableException {
+    public void rebuildSnapshots() throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new AdminType(),
                                                  RoleTypes.ADMIN );
@@ -1932,7 +1972,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String[] listRulesInPackage(String packageName) throws SerializableException {
+    public String[] listRulesInPackage(String packageName) throws Exception {
 
         // check security
         if ( Contexts.isSessionContextActive() ) {
@@ -1980,14 +2020,14 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String[] listRulesInGlobalArea() throws SerializableException {
+    public String[] listRulesInGlobalArea() throws Exception {
         return listRulesInPackage( RulesRepository.RULE_GLOBAL_AREA );
     }
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
     public SingleScenarioResult runScenario(String packageName,
-                                            Scenario scenario) throws SerializableException {
+                                            Scenario scenario) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( packageName ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -2001,7 +2041,7 @@
 
     private SingleScenarioResult runScenario(String packageName,
                                              Scenario scenario,
-                                             RuleCoverageListener coverage) throws SerializableException {
+                                             RuleCoverageListener coverage) throws Exception {
         PackageItem item = this.repository.loadPackage( packageName );
         SingleScenarioResult result = null;
         // nasty classloader needed to make sure we use the same tree the whole
@@ -2126,7 +2166,7 @@
                     throw new DetailedSerializableException( "Unable to reload knowledgebase.",
                                                              e.getMessage() );
                 }
-            } catch ( SerializableException e1 ) {
+            } catch ( Exception e1 ) {
                 log.error( "Unable to rebuild the rulebase: " + e.getMessage() );
                 throw new DetailedSerializableException( "Unable to rebuild the rulebase.",
                                                          "" );
@@ -2198,7 +2238,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public BulkTestRunResult runScenariosInPackage(String packageUUID) throws SerializableException {
+    public BulkTestRunResult runScenariosInPackage(String packageUUID) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageUUIDType( packageUUID ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -2208,7 +2248,7 @@
     }
 
     public BulkTestRunResult runScenariosInPackage(PackageItem item) throws DetailedSerializableException,
-                                                                    SerializableException {
+                                                                    Exception {
         ClassLoader originalCL = Thread.currentThread().getContextClassLoader();
         ClassLoader cl = null;
 
@@ -2294,7 +2334,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public AnalysisReport analysePackage(String packageUUID) throws SerializableException {
+    public AnalysisReport analysePackage(String packageUUID) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageUUIDType( packageUUID ),
                                                  RoleTypes.PACKAGE_DEVELOPER );
@@ -2314,7 +2354,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public String[] listTypesInPackage(String packageUUID) throws SerializableException {
+    public String[] listTypesInPackage(String packageUUID) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageUUIDType( packageUUID ),
                                                  "package.readoly" );
@@ -2461,7 +2501,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public void rebuildPackages() throws SerializableException {
+    public void rebuildPackages() throws Exception {
         Iterator pkit = repository.listPackages();
         StringBuffer errs = new StringBuffer();
         while ( pkit.hasNext() ) {
@@ -2600,7 +2640,7 @@
     }
 
     @Restrict("#{identity.loggedIn}")
-    public void installSampleRepository() throws SerializableException {
+    public void installSampleRepository() throws Exception {
         checkIfADMIN();
         repository.importRepository( this.getClass().getResourceAsStream( "/mortgage-sample-repository.xml" ) );
         this.rebuildPackages();
@@ -2682,7 +2722,7 @@
         try {
             return backchannel.await( getCurrentUserName() );
         } catch ( InterruptedException e ) {
-            return new ArrayList();
+            return new ArrayList<PushResponse>();
         }
     }
 
@@ -2796,7 +2836,7 @@
 
     @WebRemote
     @Restrict("#{identity.loggedIn}")
-    public AnalysisReport verifyAsset(RuleAsset asset) throws SerializableException {
+    public AnalysisReport verifyAsset(RuleAsset asset) throws Exception {
         if ( Contexts.isSessionContextActive() ) {
             Identity.instance().checkPermission( new PackageNameType( asset.metaData.packageName ),
                                                  RoleTypes.PACKAGE_DEVELOPER );

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/files/PackageDeploymentServlet.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/files/PackageDeploymentServlet.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/files/PackageDeploymentServlet.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -32,15 +32,10 @@
 import org.drools.guvnor.client.rpc.DetailedSerializableException;
 import org.drools.guvnor.server.RepositoryServiceServlet;
 import org.drools.guvnor.server.ServiceImplementation;
-import org.drools.guvnor.server.files.RepositoryServlet.A;
 import org.drools.guvnor.server.util.FormData;
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepositoryException;
-import org.drools.repository.remoteapi.Response;
-import org.drools.repository.remoteapi.RestAPI;
 
-import com.google.gwt.user.client.rpc.SerializableException;
-
 /**
  * This servlet deals with providing packages in binary form.
  *
@@ -222,7 +217,7 @@
         } catch ( DetailedSerializableException e ) {
             log.error( e );
             out.write( e.getMessage().getBytes() );
-        } catch ( SerializableException e ) {
+        } catch ( Exception e ) {
             log.error( e );
             out.write( e.getMessage().getBytes() );
         }

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -18,11 +18,18 @@
 
 
 import java.io.File;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
 
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.Property;
+import javax.jcr.PropertyIterator;
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.SimpleCredentials;
+import javax.jcr.Value;
 
 import org.drools.repository.JCRRepositoryConfigurator;
 import org.drools.repository.JackrabbitRepositoryConfigurator;
@@ -60,26 +67,64 @@
                 String home = System.getProperty("guvnor.repository.dir");
 	            repository = config.getJCRRepository(home);
 
-	            Session testSession = repository.login(
-	                                                                     new SimpleCredentials("alan_parsons", "password".toCharArray()));
+	            Session testSession = repository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
 
 	            RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(testSession);
 	            if (erase && admin.isRepositoryInitialized()) {
-
 	                admin.clearRulesRepository( );
 	            }
 	            config.setupRulesRepository( testSession );
+	            PrintWriter out = new PrintWriter(new FileOutputStream("/tmp/pepe.txt"));
+	            //XXX {bauna} remove
+				//dump(testSession.getRootNode(), out);
+//	            OutputStream out = new FileOutputStream("/tmp/pepe.txt");
+//	            testSession.exportSystemView("/", out, true, false);
+				out.close();
 	            return testSession;
 	        } else {
-	            return repository.login(
-	                             new SimpleCredentials("alan_parsons", "password".toCharArray()));
+	            return repository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
 	        }
-    	} catch (RepositoryException e) {
+    	} catch (Exception e) {
     		throw new IllegalStateException(e);
     	}
 
     }
 
+	/** Recursively outputs the contents of the given node. */
+	private static void dump(Node node, PrintWriter out) throws Exception {
+		
+		// First output the node path
+		out.println(node.getPath());
+		// Skip the virtual (and large!) jcr:system subtree
+		if (node.getName().equals("jcr:system")) {
+			return;
+		}
+
+		// Then output the properties
+		PropertyIterator properties = node.getProperties();
+		while (properties.hasNext()) {
+			Property property = properties.nextProperty();
+			if (property.getDefinition().isMultiple()) {
+				// A multi-valued property, print all values
+				Value[] values = property.getValues();
+				for (int i = 0; i < values.length; i++) {
+					out.println(property.getPath() + " = "
+							+ values[i].getString());
+				}
+			} else {
+				// A single-valued property
+				out.println(property.getPath() + " = "
+						+ property.getString());
+			}
+		}
+
+		// Finally output all the child nodes recursively
+		NodeIterator nodes = node.getNodes();
+		while (nodes.hasNext()) {
+			dump(nodes.nextNode(), out);
+		}
+	}
+    
     /**
      * Uses the given user name.
      */

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/test/java/org/drools/guvnor/server/PopulateDataTest.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/test/java/org/drools/guvnor/server/PopulateDataTest.java	2010-03-05 21:05:37 UTC (rev 31971)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/test/java/org/drools/guvnor/server/PopulateDataTest.java	2010-03-05 21:08:30 UTC (rev 31972)
@@ -35,8 +35,6 @@
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepository;
 
-import com.google.gwt.user.client.rpc.SerializableException;
-
 /**
  * This class will setup the data in a test state, which is
  * good for screenshots/playing around.
@@ -73,7 +71,7 @@
 
     private void createPermissions(ServiceImplementation serv) {
     	Map<String, List<String>> perms = new HashMap<String, List<String>>();
-    	perms.put(RoleTypes.ADMIN, new ArrayList());
+    	perms.put(RoleTypes.ADMIN, new ArrayList<String>());
 		serv.updateUserPermissions("woozle1", perms);
 
 		perms = new HashMap<String, List<String>>();
@@ -134,7 +132,7 @@
 
     }
 
-    private void createSomeRules(ServiceImplementation serv) throws SerializableException {
+    private void createSomeRules(ServiceImplementation serv) throws Exception {
         String uuid = serv.createNewRule( "Surfboard_Colour_Combination", "allowable combinations for basic boards.", "Manufacturing/Boards", "com.billasurf.manufacturing", AssetFormats.BUSINESS_RULE );
         serv.changeState( uuid, "Pending", false );
         uuid = serv.createNewRule( "Premium_Colour_Combinations", "This defines XXX.", "Manufacturing/Boards", "com.billasurf.manufacturing", AssetFormats.BUSINESS_RULE );
@@ -148,7 +146,7 @@
 
     }
 
-    private void createPackages(ServiceImplementation serv) throws SerializableException {
+    private void createPackages(ServiceImplementation serv) throws Exception {
         String uuid = serv.createPackage( "com.billasurf.manufacturing", "Rules for manufacturing." );
 
         PackageConfigData conf = serv.loadPackageConfig( uuid );
@@ -162,7 +160,7 @@
 
     }
 
-    private void createStates(ServiceImplementation serv) throws SerializableException {
+    private void createStates(ServiceImplementation serv) throws Exception {
         serv.createState( "Approved" );
         serv.createState( "Pending" );
     }



More information about the jboss-svn-commits mailing list