[jboss-svn-commits] JBL Code SVN: r32121 - in labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src: main/java/org/drools/factconstraint/helper and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 16 15:27:10 EDT 2010
Author: baunax
Date: 2010-03-16 15:27:10 -0400 (Tue, 16 Mar 2010)
New Revision: 32121
Modified:
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java
Log:
added method for retrieving constrains by fact and field name
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java 2010-03-16 18:52:10 UTC (rev 32120)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java 2010-03-16 19:27:10 UTC (rev 32121)
@@ -5,7 +5,9 @@
* @author esteban.aliverti at gmail.com
*/
public interface Constraint {
+ public String getFactType();
public void setFactType(String factType);
+ public String getFieldName();
public void setFieldName(String fieldName);
public String[] getArgumentKeys();
public Object getArgumentValue(String key);
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java 2010-03-16 18:52:10 UTC (rev 32120)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java 2010-03-16 19:27:10 UTC (rev 32121)
@@ -1,5 +1,6 @@
package org.drools.factconstraint.helper;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
@@ -11,6 +12,10 @@
public class ConstraintsConstrainer {
Map<String, List<Constraint>> constraints = new HashMap<String, List<Constraint>>();
+ public ConstraintsConstrainer(Constraint[] constraints) {
+ this(Arrays.asList(constraints));
+ }
+
public ConstraintsConstrainer(Collection<Constraint> constraints) {
for (Constraint c : constraints) {
addConstraint(c);
@@ -30,10 +35,20 @@
list.add(c);
}
- public List<Constraint> getConstraints(String FactType) {
- return constraints.get(FactType);
+ public List<Constraint> getConstraints(String factType) {
+ return constraints.get(factType);
}
+ public List<Constraint> getConstraints(String factType, String fieldName) {
+ List<Constraint> res = new LinkedList<Constraint>();
+ for (Constraint c : constraints.get(factType)) {
+ if (fieldName.equals(c.getFieldName())) {
+ res.add(c);
+ }
+ }
+ return res;
+ }
+
public boolean hasConstraints(String FactType) {
return constraints.containsKey(FactType);
}
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java 2010-03-16 18:52:10 UTC (rev 32120)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java 2010-03-16 19:27:10 UTC (rev 32121)
@@ -32,6 +32,9 @@
cc.addConstraint(cons);
assertEquals(2, cc.getConstraints("Person").size());
+ assertEquals(1, cc.getConstraints("Person", "age").size());
+ assertSame(cons, cc.getConstraints("Person", "name").get(0));
+ assertEquals(0, cc.getConstraints("Person", "toothCount").size());
cons = new NotNullConstraint();
cons.setFactType("Pet");
@@ -40,6 +43,8 @@
cc.addConstraint(cons);
assertEquals(1, cc.getConstraints("Pet").size());
+
+ assertEquals(1, cc.getConstraints("Pet", "name").size());
}
}
More information about the jboss-svn-commits
mailing list