[jboss-svn-commits] JBL Code SVN: r32181 - labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/packages.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 23 09:46:15 EDT 2010


Author: eaa
Date: 2010-03-23 09:46:15 -0400 (Tue, 23 Mar 2010)
New Revision: 32181

Modified:
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java
Log:
Fixed a NPE bug when no WS are active. 

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java	2010-03-23 10:59:24 UTC (rev 32180)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/WorkingSetManager.java	2010-03-23 13:46:15 UTC (rev 32181)
@@ -4,9 +4,11 @@
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.factcontraints.Constraint;
 import org.drools.guvnor.client.modeldriven.FactTypeFilter;
 import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
 import org.drools.guvnor.client.rpc.RuleAsset;
@@ -171,4 +173,33 @@
 
         return false;
     }
+
+
+    /**
+     * Returns a Set of Constraints for a Fact Type's field. This method uses
+     * the active Working Sets of the package in order to get the Constraints.
+     * @param packageName the package name.
+     * @param factType the Fact Type (Short class name)
+     * @param fieldName the field name
+     * @return a Set of Constraints for a Fact Type's field.
+     */
+    public Set<Constraint> getFieldContraints(String packageName, String factType, String fieldName ){
+
+        Set<Constraint> result = new HashSet<Constraint>();
+
+        //TODO: Change this with a centralized way of Constraint Administration.
+        Set<RuleAsset> activeAssets = this.getActiveAssets(packageName);
+        if (activeAssets != null){
+            for (RuleAsset ruleAsset : activeAssets) {
+                List<Constraint> constraints = ((WorkingSetConfigData)ruleAsset.content).constraints;
+                for (Constraint constraint : constraints) {
+                    if (constraint.getFactType().equals(factType) && constraint.getFieldName().equals(fieldName)){
+                        result.add(constraint);
+                    }
+                }
+            }
+        }
+
+        return result;
+    }
 }



More information about the jboss-svn-commits mailing list