[jboss-svn-commits] JBL Code SVN: r32278 - labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 29 11:41:57 EDT 2010
Author: eaa
Date: 2010-03-29 11:41:57 -0400 (Mon, 29 Mar 2010)
New Revision: 32278
Modified:
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java
Log:
Initial support for multiple operators.
Modified: labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java 2010-03-29 14:52:20 UTC (rev 32277)
+++ labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java 2010-03-29 15:41:57 UTC (rev 32278)
@@ -13,6 +13,17 @@
public static final String RANGE_CONSTRAINT_MIN = "Min.value";
public static final String RANGE_CONSTRAINT_MAX = "Max.value";
+ private enum Operator{
+ EQ,
+ NEQ,
+ GT,
+ LT,
+ GE,
+ LE
+ }
+
+ private Operator currentOperator;
+
public RangeConstraint() {
//set default values
this.setArgumentValue(RANGE_CONSTRAINT_MIN, "0");
@@ -21,7 +32,12 @@
@Override
public String getVerifierRule() {
- return this.createVerifierRuleTemplate("Range_Field_Constraint", null, "The value must be between " + getMin() + " and " + getMax()); //I18N
+ StringBuilder rules = new StringBuilder();
+ for (Operator operator : Operator.values()) {
+ this.currentOperator = operator;
+ this.createVerifierRuleTemplate("Range_Field_Constraint_"+this.currentOperator, null, "The value must be between " + getMin() + " and " + getMax()); //I18N
+ }
+ return rules.toString();
}
@Override
@@ -75,15 +91,24 @@
restrictionPattern.append(" ($restriction :LiteralRestriction(\n");
restrictionPattern.append(" fieldPath == $field.path,\n");
- restrictionPattern.append(" valueType == Field.INT,\n");
- restrictionPattern.append(" intValue < " + getMin() + " || > " + getMax() + "\n");
- restrictionPattern.append(" ) OR\n");
- restrictionPattern.append(" $restriction :LiteralRestriction(\n");
- restrictionPattern.append(" fieldPath == $field.path,\n");
- restrictionPattern.append(" valueType == Field.DOUBLE,\n");
- restrictionPattern.append(" doubleValue < " + getMin() + " || > " + getMax() + "\n");
- restrictionPattern.append(" ))\n");
+ restrictionPattern.append(" operator.operatorString == Operator.EQUAL.operatorString,\n");
+ restrictionPattern.append(" ((valueType == Field.INT && (intValue < " + getMin() + " || > " + getMax() + ")) ");
+ restrictionPattern.append(" || ");
+ restrictionPattern.append(" (valueType == Field.DOUBLE && (doubleValue < " + getMin() + " || > " + getMax() + ")) ");
+ restrictionPattern.append(" )))\n");
return restrictionPattern.toString();
}
+
+
+// @Override
+// protected String getVerifierImportsSufixTemplate() {
+// return "import org.drools.base.evaluators.Operator;\n";
+// }
+//
+// @Override
+// protected String getVerifierActionSufixTemplate() {
+// return "System.out.println(\"OPERATOR= \"+$restriction.getOperator().getOperatorString()+\". Operator.EQUAL= \"+Operator.EQUAL.getOperatorString());\n";
+// }
+
}
More information about the jboss-svn-commits
mailing list