[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