[jboss-svn-commits] JBL Code SVN: r19588 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/brms/server/util and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Apr 16 02:58:04 EDT 2008
Author: michael.neale at jboss.com
Date: 2008-04-16 02:58:04 -0400 (Wed, 16 Apr 2008)
New Revision: 19588
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java
Log:
JBRULES-1562 remote REST api
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java 2008-04-16 06:57:01 UTC (rev 19587)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/dt/GuidedDecisionTable.java 2008-04-16 06:58:04 UTC (rev 19588)
@@ -139,6 +139,9 @@
} else if (col instanceof ConditionCol) {
ConditionCol c = (ConditionCol) col;
if (c.constraintValueType == ISingleFieldConstraint.TYPE_LITERAL) {
+ if (c.operator == null || "".equals(c.operator)) {
+ return false;
+ }
String ft = sce.getFieldType(c.factType, c.factField);
if (ft != null && ft.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
return true;
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java 2008-04-16 06:57:01 UTC (rev 19587)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java 2008-04-16 06:58:04 UTC (rev 19588)
@@ -143,9 +143,20 @@
case ISingleFieldConstraint.TYPE_LITERAL:
case ISingleFieldConstraint.TYPE_RET_VALUE:
SingleFieldConstraint sfc = new SingleFieldConstraint(c.factField);
- sfc.operator = c.operator;
+ if (no(c.operator)) {
+
+ String[] a = cell.split("\\s");
+ if (a.length > 1) {
+ sfc.operator = a[0];
+ sfc.value = a[1];
+ } else {
+ sfc.value = cell;
+ }
+ } else {
+ sfc.operator = c.operator;
+ sfc.value = cell;
+ }
sfc.constraintValueType = c.constraintValueType;
- sfc.value = cell;
fp.addConstraint(sfc);
break;
case ISingleFieldConstraint.TYPE_PREDICATE:
@@ -162,6 +173,12 @@
rm.lhs = patterns.toArray(new IPattern[patterns.size()]);
}
+
+
+ private boolean no(String operator) {
+ return operator == null || "".equals(operator);
+ }
+
private FactPattern find(List<FactPattern> patterns, String boundName) {
for (FactPattern factPattern : patterns) {
if (factPattern.boundName.equals(boundName)) {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java 2008-04-16 06:57:01 UTC (rev 19587)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java 2008-04-16 06:58:04 UTC (rev 19588)
@@ -222,6 +222,7 @@
c1.boundName = "c1";
c1.factType = "Driver";
c1.factField = "name";
+ c1.operator = "==";
c1.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
dt.conditionCols.add(c1);
@@ -229,9 +230,17 @@
c1_.boundName = "c1";
c1_.factType = "Driver";
c1_.factField = "age";
+ c1_.operator = "==";
c1_.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
dt.conditionCols.add(c1_);
+ ConditionCol c2 = new ConditionCol();
+ c2.boundName = "c1";
+ c2.factType = "Driver";
+ c2.factField = "age";
+ c2.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+ dt.conditionCols.add(c2);
+
ActionSetFieldCol a = new ActionSetFieldCol();
a.boundName = "c1";
a.factField = "name";
@@ -262,10 +271,10 @@
assertTrue(dt.isNumeric(a2, sce));
assertFalse(dt.isNumeric(ins, sce));
assertTrue(dt.isNumeric(ins_, sce));
+ assertFalse(dt.isNumeric(c2, sce));
-
}
public void testNoConstraintLists() {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java 2008-04-16 06:57:01 UTC (rev 19587)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java 2008-04-16 06:58:04 UTC (rev 19588)
@@ -342,6 +342,31 @@
}
+ public void testNoOperator() {
+ GuidedDTDRLPersistence p = new GuidedDTDRLPersistence();
+ String[] row = new String[] {"1", "desc", "a", "> 42", "33 + 1", "age > 6", "stilton"};
+ List<ConditionCol> cols = new ArrayList<ConditionCol>();
+ ConditionCol col2 = new ConditionCol();
+ col2.boundName = "p1";
+ col2.factType = "Person";
+ col2.factField = "age";
+ col2.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+ col2.operator = "";
+ cols.add(col2);
+
+
+ RuleModel rm = new RuleModel();
+
+ p.doConditions(1, cols, row, rm);
+
+
+ String drl = BRDRLPersistence.getInstance().marshal(rm);
+ assertTrue(drl.indexOf("age > \"42\"") > 0);
+
+ }
+
+
+
}
More information about the jboss-svn-commits
mailing list