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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Nov 22 09:36:15 EST 2010


Author: eaa
Date: 2010-11-22 09:36:15 -0500 (Mon, 22 Nov 2010)
New Revision: 36017

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SuggestionCompletionCache.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/GuidedEditorServlet.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java
Log:
GUVNOR-1101: Add the possibility to constraint Fact Types when editing rules.
	- Allowed Fact Types are specified using HTTP parameters: validFactType
	- A working set is created and applied on-the-fly using the provided fact types.

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SuggestionCompletionCache.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SuggestionCompletionCache.java	2010-11-22 13:23:54 UTC (rev 36016)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/SuggestionCompletionCache.java	2010-11-22 14:36:15 UTC (rev 36017)
@@ -114,15 +114,10 @@
     public void refreshPackage(String packageName, Command done) {
     	SuggestionCompletionEngine sce = cache.get(packageName);
         if (sce != null) {
-        	sce.setFactTypeFilter(null);
-//        	if (done != null) {
-//        		done.execute();
-//        	}
-            cache.remove( packageName );
-            loadPackage( packageName, done );
-        } else {
-            done.execute();
+        	sce.setFactTypeFilter(null);     	
+            cache.remove( packageName );            
         }
+        loadPackage( packageName, done );
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java	2010-11-22 13:23:54 UTC (rev 36016)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java	2010-11-22 14:36:15 UTC (rev 36017)
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.drools.guvnor.client.packages;
 
 import java.util.Arrays;
@@ -43,7 +42,6 @@
 
     private static WorkingSetManager INSTANCE = new WorkingSetManager();
     private Map<String, Set<RuleAsset>> activeWorkingSets = new HashMap<String, Set<RuleAsset>>();
-
     /**
      * This attribute should be sever side. Maybe in some FactConstraintConfig
      * object.
@@ -93,10 +91,10 @@
             public void execute() {
                 //update the map
                 activeWorkingSets.remove(packageName);
-                if (wss != null && !wss.isEmpty()){
+                if (wss != null && !wss.isEmpty()) {
                     activeWorkingSets.put(packageName, wss);
                 }
-                
+
                 if (done != null) {
                     done.execute();
                 }
@@ -114,36 +112,56 @@
             final Set<String> validFacts = new HashSet<String>();
             for (RuleAsset asset : wss) {
                 WorkingSetConfigData wsConfig = (WorkingSetConfigData) asset.content;
-                if (wsConfig.validFacts != null && wsConfig.validFacts.length > 0){
+                if (wsConfig.validFacts != null && wsConfig.validFacts.length > 0) {
                     validFacts.addAll(Arrays.asList(wsConfig.validFacts));
                 }
             }
 
-            SuggestionCompletionCache.getInstance().applyFactFilter(packageName, 
-            		new SetFactTypeFilter(validFacts), cmd);
+            SuggestionCompletionCache.getInstance().applyFactFilter(packageName,
+                    new SetFactTypeFilter(validFacts), cmd);
         }
 
     }
 
+    public void applyTemporalWorkingSetForFactTypes(final String packageName, final Set<String> factTypes, final Command done) {
+        
+        Set<RuleAsset> workingSets = null; 
+        if (factTypes != null && !factTypes.isEmpty()) {
+            //create a temporal RuleAsset to hold the fact types.
+            final RuleAsset workingSet = new RuleAsset();
+            workingSet.uuid = "workingSetMock";
+            
+            WorkingSetConfigData wsConfig = new WorkingSetConfigData();
+            wsConfig.validFacts = factTypes.toArray(new String[factTypes.size()]);
+
+            workingSet.content = wsConfig;
+            
+            workingSets = new HashSet<RuleAsset>() {{this.add(workingSet);}};
+        }
+
+        this.applyWorkingSets(packageName, workingSets, done);
+
+    }
+
     /**
      * Returns the active WorkingSets for a package (as RuleAsset), or null if any.
      * @param packageName the package name
      * @return the active WorkingSets for a package (as RuleAsset), or null if any.
      */
-    public Set<RuleAsset> getActiveAssets(String packageName){
+    public Set<RuleAsset> getActiveAssets(String packageName) {
         return this.activeWorkingSets.get(packageName);
     }
-    
-    public Set<String> getActiveAssetUUIDs(String packageName){
-    	Set<RuleAsset> assets = this.activeWorkingSets.get(packageName);
-    	if (assets == null) {
-    		return null;
-    	}
-    	Set<String> uuids = new HashSet<String>(assets.size());
+
+    public Set<String> getActiveAssetUUIDs(String packageName) {
+        Set<RuleAsset> assets = this.activeWorkingSets.get(packageName);
+        if (assets == null) {
+            return null;
+        }
+        Set<String> uuids = new HashSet<String>(assets.size());
         for (RuleAsset asset : assets) {
-			uuids.add(asset.uuid);
-		}
-		return uuids;
+            uuids.add(asset.uuid);
+        }
+        return uuids;
     }
 
     /**
@@ -151,9 +169,9 @@
      * @param packageName the package name
      * @return the active WorkingSets for a package, or null if any.
      */
-    public Set<WorkingSetConfigData> getActiveWorkingSets(String packageName){
+    public Set<WorkingSetConfigData> getActiveWorkingSets(String packageName) {
         Set<RuleAsset> assets = this.activeWorkingSets.get(packageName);
-        if (assets == null){
+        if (assets == null) {
             return null;
         }
 
@@ -171,7 +189,7 @@
      * @param workingSetAsset the (WorkingSet) RuleSet
      * @return whether the given (WorkingSet) RuleSet is active in a package or not.
      */
-    public boolean isWorkingSetActive(String packageName, RuleAsset workingSetAsset){
+    public boolean isWorkingSetActive(String packageName, RuleAsset workingSetAsset) {
         return this.isWorkingSetActive(packageName, workingSetAsset.uuid);
     }
 
@@ -181,14 +199,14 @@
      * @param workingSetAsset the (WorkingSet) RuleSet
      * @return whether the given (WorkingSet) RuleSet is active in a package or not.
      */
-    public boolean isWorkingSetActive(String packageName, String ruleAssetUUID){
-        if (!this.activeWorkingSets.containsKey(packageName)){
+    public boolean isWorkingSetActive(String packageName, String ruleAssetUUID) {
+        if (!this.activeWorkingSets.containsKey(packageName)) {
             return false;
         }
 
         Set<RuleAsset> wss = this.activeWorkingSets.get(packageName);
         for (RuleAsset asset : wss) {
-            if (asset.uuid.equals(ruleAssetUUID)){
+            if (asset.uuid.equals(ruleAssetUUID)) {
                 return true;
             }
         }
@@ -204,21 +222,21 @@
      * @param fieldName the field name
      * @return a Set of Constraints for a Fact Type's field.
      */
-    public Set<ConstraintConfiguration> getFieldContraints(String packageName, String factType, String fieldName ){
+    public Set<ConstraintConfiguration> getFieldContraints(String packageName, String factType, String fieldName) {
 
         Set<ConstraintConfiguration> result = new HashSet<ConstraintConfiguration>();
 
         //TODO: Change this with a centralized way of Constraint Administration.
         Set<RuleAsset> activeAssets = this.getActiveAssets(packageName);
-        if (activeAssets != null){
+        if (activeAssets != null) {
             for (RuleAsset ruleAsset : activeAssets) {
-                List<ConstraintConfiguration> constraints = ((WorkingSetConfigData)ruleAsset.content).constraints;
+                List<ConstraintConfiguration> constraints = ((WorkingSetConfigData) ruleAsset.content).constraints;
                 if (constraints != null) {
-                	for (ConstraintConfiguration constraint : constraints) {
-                		if (constraint.getFactType().equals(factType) && constraint.getFieldName().equals(fieldName)){
-                			result.add(constraint);
-                		}
-                	}
+                    for (ConstraintConfiguration constraint : constraints) {
+                        if (constraint.getFactType().equals(factType) && constraint.getFieldName().equals(fieldName)) {
+                            result.add(constraint);
+                        }
+                    }
                 }
             }
         }
@@ -255,18 +273,18 @@
      * @return the associated CustomFormConfiguration for the given FactType and
      * FieldName in the active working sets or null if any.
      */
-    public CustomFormConfiguration getCustomFormConfiguration(String packageName, String factType, String fieldName){
+    public CustomFormConfiguration getCustomFormConfiguration(String packageName, String factType, String fieldName) {
         Set<WorkingSetConfigData> packageWorkingSets = this.getActiveWorkingSets(packageName);
-        if (packageWorkingSets != null){
+        if (packageWorkingSets != null) {
             List<CustomFormConfiguration> configs = new ArrayList<CustomFormConfiguration>();
             for (WorkingSetConfigData workingSetConfigData : packageWorkingSets) {
-                if (workingSetConfigData.customForms != null && !workingSetConfigData.customForms.isEmpty()){
+                if (workingSetConfigData.customForms != null && !workingSetConfigData.customForms.isEmpty()) {
                     configs.addAll(workingSetConfigData.customForms);
                 }
             }
             CustomFormsContainer cfc = new CustomFormsContainer(configs);
 
-            if (cfc.containsCustomFormFor(factType, fieldName)){
+            if (cfc.containsCustomFormFor(factType, fieldName)) {
                 return cfc.getCustomForm(factType, fieldName);
             }
         }
@@ -274,6 +292,4 @@
         return null;
 
     }
-
-
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java	2010-11-22 13:23:54 UTC (rev 36016)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java	2010-11-22 14:36:15 UTC (rev 36017)
@@ -3,7 +3,6 @@
 import com.google.gwt.core.client.GWT;
 import org.drools.guvnor.client.common.GenericCallback;
 import org.drools.guvnor.client.common.LoadingPopup;
-import org.drools.guvnor.client.packages.SuggestionCompletionCache;
 import org.drools.guvnor.client.rpc.RuleAsset;
 import org.drools.guvnor.client.rulelist.EditItemEvent;
 
@@ -13,8 +12,12 @@
 import com.google.gwt.user.client.ui.DockLayoutPanel;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.ScrollPanel;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.modeldriven.ui.RuleModellerConfiguration;
+import org.drools.guvnor.client.packages.WorkingSetManager;
 import org.drools.guvnor.client.rpc.StandaloneGuidedEditorService;
 import org.drools.guvnor.client.rpc.StandaloneGuidedEditorServiceAsync;
 import org.drools.guvnor.client.ruleeditor.standalone.RealAssetsMultiViewEditorMenuBarCreator;
@@ -36,12 +39,12 @@
     private RuleAsset[] assets;
 
     public Panel getBaseLayout() {
-        
+
         String parametersUUID = Window.Location.getParameter("pUUID");
-        if (parametersUUID == null || parametersUUID.trim().equals("")){
+        if (parametersUUID == null || parametersUUID.trim().equals("")) {
             return null;
         }
-        
+
         //init JS hooks
         this.setHooks(this);
 
@@ -69,20 +72,17 @@
                 //Load SCE and create a MultiViewEditor for the assets.
                 //We take the package from the first asset (because all the assets
                 //must belong to the same package)
-                SuggestionCompletionCache.getInstance().loadPackage(parameters.getAssetsToBeEdited()[0].metaData.packageName, new Command() {
 
-                    public void execute() {
 
-//                        Set<String> validFacts = new HashSet<String>();
-//                        validFacts.add("LoanApplication");
-//                        
-//                        SuggestionCompletionCache.getInstance().applyFactFilter(assets[0].metaData.packageName, new SetFactTypeFilter(validFacts), new Command() {
-//
-//                            public void execute() {
-//                                throw new UnsupportedOperationException("Not supported yet.");
-//                            }
-//                        });
+                Set<String> validFacts = null;
+                if (parameters.getValidFactTypes() != null){
+                    validFacts = new HashSet<String>();
+                    validFacts.addAll(Arrays.asList(parameters.getValidFactTypes()));
+                }
+                
+                WorkingSetManager.getInstance().applyTemporalWorkingSetForFactTypes(assets[0].metaData.packageName, validFacts, new Command() {
 
+                    public void execute() {
                         LoadingPopup.close();
 
                         //Configure RuleModeller
@@ -96,11 +96,13 @@
                         if (parameters.isTemporalAssets()) {
                             editorMenuBarCreator = new TemporalAssetsMultiViewEditorMenuBarCreator(new Command() {
                                 //"Done" buton command
+
                                 public void execute() {
                                     afterSaveAndClose();
                                 }
                             }, new Command() {
                                 //"Cancel button command
+
                                 public void execute() {
                                     afterCancelButtonCallbackFunction();
                                 }
@@ -108,6 +110,7 @@
                         } else {
                             editorMenuBarCreator = new RealAssetsMultiViewEditorMenuBarCreator(new Command() {
                                 //"Cancel" button command
+
                                 public void execute() {
                                     afterCancelButtonCallbackFunction();
                                 }
@@ -205,35 +208,35 @@
     public native void setHooks(GuidedEditorManager app)/*-{
     
     var guidedEditorObject = {
-    	drlCallbackFunction: null,
-    	brlCallbackFunction: null,
-    	
-    	//close function listener. The function you register here will be called
-    	//after the "Save and Close" button is pressed                                                                                                                 
-    	afterSaveAndCloseButtonCallbackFunction: null,
-    	
-    	afterCancelButtonCallbackFunction: null,
-    	
-    	getDRL: function (callbackFunction){
-    		this.drlCallbackFunction = callbackFunction;
-    		app. at org.drools.guvnor.client.ruleeditor.GuidedEditorManager::getDRLs()();
-    	},
-    	
-    	getBRL: function (callbackFunction){
-    		this.brlCallbackFunction = callbackFunction;
-    		app. at org.drools.guvnor.client.ruleeditor.GuidedEditorManager::getBRLs()();
-    	},
-    	
-    	registerAfterSaveAndCloseButtonCallbackFunction: function (callbackFunction){
-    		this.afterSaveAndCloseButtonCallbackFunction = callbackFunction;
-    	},
-    	
-    	registerAfterCancelButtonCallbackFunction: function (callbackFunction){
-    		this.afterCancelButtonCallbackFunction = callbackFunction;
-    	}
+    drlCallbackFunction: null,
+    brlCallbackFunction: null,
+    
+    //close function listener. The function you register here will be called
+    //after the "Save and Close" button is pressed                                                                                                                 
+    afterSaveAndCloseButtonCallbackFunction: null,
+    
+    afterCancelButtonCallbackFunction: null,
+    
+    getDRL: function (callbackFunction){
+    this.drlCallbackFunction = callbackFunction;
+    app. at org.drools.guvnor.client.ruleeditor.GuidedEditorManager::getDRLs()();
+    },
+    
+    getBRL: function (callbackFunction){
+    this.brlCallbackFunction = callbackFunction;
+    app. at org.drools.guvnor.client.ruleeditor.GuidedEditorManager::getBRLs()();
+    },
+    
+    registerAfterSaveAndCloseButtonCallbackFunction: function (callbackFunction){
+    this.afterSaveAndCloseButtonCallbackFunction = callbackFunction;
+    },
+    
+    registerAfterCancelButtonCallbackFunction: function (callbackFunction){
+    this.afterCancelButtonCallbackFunction = callbackFunction;
+    }
     }    
     $wnd.guidedEditorObject = guidedEditorObject;                                                                                                      
-                                                          
+    
     }-*/;
 
     /**
@@ -241,9 +244,9 @@
      * @param drl
      */
     public native void returnDRL(String drl)/*-{
-	    if ($wnd.guidedEditorObject.drlCallbackFunction){
-	    	$wnd.guidedEditorObject.drlCallbackFunction(drl);
-	    }
+    if ($wnd.guidedEditorObject.drlCallbackFunction){
+    $wnd.guidedEditorObject.drlCallbackFunction(drl);
+    }
     }-*/;
 
     /**
@@ -251,23 +254,23 @@
      * @param drl
      */
     public native void returnBRL(String brl)/*-{
-	    if ($wnd.guidedEditorObject.brlCallbackFunction){
-	    	$wnd.guidedEditorObject.brlCallbackFunction(brl);
-	    }
+    if ($wnd.guidedEditorObject.brlCallbackFunction){
+    $wnd.guidedEditorObject.brlCallbackFunction(brl);
+    }
     }-*/;
 
     /**
      * Method invoked after the "Save an Close" button is pressed. 
      */
     public native void afterSaveAndClose()/*-{
-	    if ($wnd.guidedEditorObject.afterSaveAndCloseButtonCallbackFunction){
-	    	$wnd.guidedEditorObject.afterSaveAndCloseButtonCallbackFunction();
-	    }
+    if ($wnd.guidedEditorObject.afterSaveAndCloseButtonCallbackFunction){
+    $wnd.guidedEditorObject.afterSaveAndCloseButtonCallbackFunction();
+    }
     }-*/;
 
     public native void afterCancelButtonCallbackFunction()/*-{
-    	if ($wnd.guidedEditorObject.afterCancelButtonCallbackFunction){
-	    	$wnd.guidedEditorObject.afterCancelButtonCallbackFunction();
-	    }
+    if ($wnd.guidedEditorObject.afterCancelButtonCallbackFunction){
+    $wnd.guidedEditorObject.afterCancelButtonCallbackFunction();
+    }
     }-*/;
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java	2010-11-22 13:23:54 UTC (rev 36016)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java	2010-11-22 14:36:15 UTC (rev 36017)
@@ -30,6 +30,7 @@
     static final long serialVersionUID = 520L;
     
     private RuleAsset[] assetsToBeEdited;
+    private String[] validFactTypes;
     
     private boolean temporalAssets;
     
@@ -76,7 +77,13 @@
     public void setTemporalAssets(boolean temporalAssets) {
         this.temporalAssets = temporalAssets;
     }
+
+    public String[] getValidFactTypes() {
+        return validFactTypes;
+    }
+
+    public void setValidFactTypes(String[] validFactTypes) {
+        this.validFactTypes = validFactTypes;
+    }
     
-    
-    
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/GuidedEditorServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/GuidedEditorServlet.java	2010-11-22 13:23:54 UTC (rev 36016)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/GuidedEditorServlet.java	2010-11-22 14:36:15 UTC (rev 36017)
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.drools.guvnor.server;
 
 import java.io.IOException;
@@ -30,27 +29,26 @@
 public class GuidedEditorServlet extends HttpServlet {
 
     public static enum GUIDED_EDITOR_SERVLET_PARAMETERS {
-        GE_PACKAGE_PARAMETER_NAME(
-                "packageName", false), GE_CATEGORY_PARAMETER_NAME(
-                "categoryName", false), GE_BRL_PARAMETER_NAME(
-                "brlSource", true), GE_ASSETS_UUIDS_PARAMETER_NAME(
-                "assetsUUIDs", true), GE_CREATE_NEW_ASSET_PARAMETER_NAME(
-                "createNewAsset", false),
 
+        GE_PACKAGE_PARAMETER_NAME("packageName", false), 
+        GE_CATEGORY_PARAMETER_NAME("categoryName", false), 
+        GE_BRL_PARAMETER_NAME("brlSource", true), 
+        GE_ASSETS_UUIDS_PARAMETER_NAME("assetsUUIDs", true), 
+        GE_CREATE_NEW_ASSET_PARAMETER_NAME("createNewAsset", false),
+        
         //Only used when creating a new Rule
-        GE_RULE_PARAMETER_NAME(
-                "ruleName", false),
-
-        GE_HIDE_RULE_LHS_PARAMETER_NAME(
-                "hideRuleLHS", false), GE_HIDE_RULE_RHS_PARAMETER_NAME(
-                "hideRuleRHS", false), GE_HIDE_RULE_ATTRIBUTES_PARAMETER_NAME(
-                "hideRuleAttributes", false);
-
-        private String  parameterName;
+        GE_RULE_PARAMETER_NAME("ruleName", false),
+        GE_HIDE_RULE_LHS_PARAMETER_NAME("hideRuleLHS", false),
+        GE_HIDE_RULE_RHS_PARAMETER_NAME("hideRuleRHS", false), 
+        GE_HIDE_RULE_ATTRIBUTES_PARAMETER_NAME("hideRuleAttributes", false),
+        
+        GE_VALID_FACT_TYPE_PARAMETER_NAME("validFactType", true);
+        
+        private String parameterName;
         private boolean multipleValues;
 
         private GUIDED_EDITOR_SERVLET_PARAMETERS(String parameterName,
-                                                 boolean multipleValues) {
+                boolean multipleValues) {
             this.parameterName = parameterName;
             this.multipleValues = multipleValues;
         }
@@ -62,33 +60,30 @@
         public boolean isMultipleValues() {
             return multipleValues;
         }
-
     }
 
     @Override
     protected void doPost(HttpServletRequest req,
-                          HttpServletResponse resp) throws ServletException,
-                                                   IOException {
-        HttpSession session = req.getSession( true );
-
+            HttpServletResponse resp) throws ServletException,
+            IOException {
+        HttpSession session = req.getSession(true);
         //Each request uses its own parameters map (this allows concurrent requests
         //from the same cilent)
-        Map<String,Object> parameters = new HashMap<String, Object>();
+        Map<String, Object> parameters = new HashMap<String, Object>();
         //copy each registered parameter from request to session
-        for ( GUIDED_EDITOR_SERVLET_PARAMETERS parameter : GUIDED_EDITOR_SERVLET_PARAMETERS.values() ) {
-            if ( parameter.isMultipleValues() ) {
-            	parameters.put( parameter.getParameterName(),
-                                      req.getParameterValues( parameter.getParameterName() ) );
+        for (GUIDED_EDITOR_SERVLET_PARAMETERS parameter : GUIDED_EDITOR_SERVLET_PARAMETERS.values()) {
+            if (parameter.isMultipleValues()) {
+                parameters.put(parameter.getParameterName(),
+                        req.getParameterValues(parameter.getParameterName()));
             } else {
-                parameters.put( parameter.getParameterName(),
-                                      req.getParameter( parameter.getParameterName() ) );
+                parameters.put(parameter.getParameterName(),
+                        req.getParameter(parameter.getParameterName()));
             }
         }
-        
+
         String parametersUUID = UUID.randomUUID().toString();
         session.setAttribute(parametersUUID, parameters);
 
-        resp.sendRedirect( "GuidedEditor.html?pUUID="+parametersUUID+"&" + req.getQueryString() );
+        resp.sendRedirect("GuidedEditor.html?pUUID=" + parametersUUID + "&" + req.getQueryString());
     }
-
-}
\ No newline at end of file
+}

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java	2010-11-22 13:23:54 UTC (rev 36016)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java	2010-11-22 14:36:15 UTC (rev 36017)
@@ -61,7 +61,8 @@
         
         try{
             //Get the parameters from the session
-            Map<String, Object> sessionParameters = (Map<String, Object>) session.getAttribute(parametersUUID);
+            Map<String, Object> sessionParameters = (Map<String, Object>
+            ) session.getAttribute(parametersUUID);
 
             if (sessionParameters == null || sessionParameters.isEmpty()){
                 throw new DetailedSerializationException("Error initializing Guided Editor", "No initial parameters were supplied");
@@ -84,6 +85,8 @@
             if ( attribute != null ) {
                 hideAttributesInEditor = Boolean.parseBoolean( attribute.toString() );
             }
+            
+            String[] validFactTypes = (String[])sessionParameters.get( GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_VALID_FACT_TYPE_PARAMETER_NAME.getParameterName() );
 
             StandaloneGuidedEditorInvocationParameters invocationParameters = new StandaloneGuidedEditorInvocationParameters();
 
@@ -92,9 +95,9 @@
             invocationParameters.setHideLHS( hideLHSInEditor );
             invocationParameters.setHideRHS( hideRHSInEditor );
             invocationParameters.setHideAttributes( hideAttributesInEditor );
+            invocationParameters.setValidFactTypes(validFactTypes);
 
 
-
             return invocationParameters;
         } finally{
             //clear session parameters



More information about the jboss-svn-commits mailing list