[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