[jboss-svn-commits] JBL Code SVN: r32120 - in labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src: main/java/org/drools/factconstraint/helper and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 16 14:52:11 EDT 2010
Author: baunax
Date: 2010-03-16 14:52:10 -0400 (Tue, 16 Mar 2010)
New Revision: 32120
Added:
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/
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/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java
Log:
added ContraintsContainer class
Added: 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 (rev 0)
+++ 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)
@@ -0,0 +1,40 @@
+package org.drools.factconstraint.helper;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.factconstraint.Constraint;
+
+public class ConstraintsConstrainer {
+ Map<String, List<Constraint>> constraints = new HashMap<String, List<Constraint>>();
+
+ public ConstraintsConstrainer(Collection<Constraint> constraints) {
+ for (Constraint c : constraints) {
+ addConstraint(c);
+ }
+ }
+
+ public ConstraintsConstrainer() {
+
+ }
+
+ public void addConstraint(Constraint c) {
+ List<Constraint> list = constraints.get(c.getFactType());
+ if (list == null) {
+ list = new LinkedList<Constraint>();
+ constraints.put(c.getFactType(), list);
+ }
+ list.add(c);
+ }
+
+ public List<Constraint> getConstraints(String FactType) {
+ return constraints.get(FactType);
+ }
+
+ public boolean hasConstraints(String FactType) {
+ return constraints.containsKey(FactType);
+ }
+}
Property changes on: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: 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 (rev 0)
+++ 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)
@@ -0,0 +1,45 @@
+package org.drools.factconstraint.helper;
+
+import java.util.LinkedList;
+
+import org.drools.factconstraint.Constraint;
+import org.drools.factconstraint.predefined.IntegerConstraint;
+import org.drools.factconstraint.predefined.NotNullConstraint;
+
+import static org.junit.Assert.*;
+import org.junit.Test;
+
+
+public class ConstraintsConstrainerTest {
+
+ @Test
+ public void test() {
+ LinkedList<Constraint> list = new LinkedList<Constraint>();
+ Constraint cons = new IntegerConstraint();
+ cons.setFactType("Person");
+ cons.setFieldName("age");
+
+ list.add(cons);
+ ConstraintsConstrainer cc = new ConstraintsConstrainer(list);
+ assertTrue(cc.hasConstraints("Person"));
+ assertFalse(cc.hasConstraints("Person3"));
+
+ assertEquals(1, cc.getConstraints("Person").size());
+
+ cons = new NotNullConstraint();
+ cons.setFactType("Person");
+ cons.setFieldName("name");
+
+ cc.addConstraint(cons);
+ assertEquals(2, cc.getConstraints("Person").size());
+
+ cons = new NotNullConstraint();
+ cons.setFactType("Pet");
+ cons.setFieldName("name");
+
+ cc.addConstraint(cons);
+
+ assertEquals(1, cc.getConstraints("Pet").size());
+ }
+
+}
Property changes on: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
More information about the jboss-svn-commits
mailing list