[jboss-svn-commits] JBL Code SVN: r35948 - in labs/jbossrules/trunk: drools-ide-common/src/main/java/org/drools/ide/common/server/util and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Nov 11 11:54:00 EST 2010
Author: jervisliu
Date: 2010-11-11 11:53:59 -0500 (Thu, 11 Nov 2010)
New Revision: 35948
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/server/util/BRDRLPersistence.java
labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/server/util/BRDRLPersistenceTest.java
Log:
https://jira.jboss.org/browse/GUVNOR-687: Fixed the problem that the rule does not fire. Generate source correctly, i.e. generate Cheese (type=CheeseType.CHEDDAR) instead of Cheese (type="CheeseType.CHEDDAR")
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java 2010-11-11 15:03:02 UTC (rev 35947)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditor.java 2010-11-11 16:53:59 UTC (rev 35948)
@@ -89,6 +89,7 @@
private String fieldType;
private boolean readOnly;
private Command onValueChangeCommand;
+ private boolean isDropDownDataEnum;
public ConstraintValueEditor(FactPattern pattern, String fieldName,
BaseSingleFieldConstraint con, RuleModeller modeller, String valueType,
@@ -108,8 +109,10 @@
this.readOnly = readOnly;
if (SuggestionCompletionEngine.TYPE_BOOLEAN.equals(valueType)) {
this.dropDownData = DropDownData.create(new String[]{"true", "false"}); //NON-NLS
+ isDropDownDataEnum = false;
} else {
this.dropDownData = sce.getEnums(pattern, fieldName);
+ isDropDownDataEnum = true;
}
refreshEditor();
@@ -131,7 +134,9 @@
} else {
switch (constraint.getConstraintValueType()) {
case SingleFieldConstraint.TYPE_LITERAL:
+ case SingleFieldConstraint.TYPE_ENUM:
+
if (this.constraint instanceof SingleFieldConstraint) {
final SingleFieldConstraint con = (SingleFieldConstraint) this.constraint;
CustomFormConfiguration customFormConfiguration = WorkingSetManager.getInstance().getCustomFormConfiguration(modeller.getAsset().metaData.packageName, pattern.factType, fieldName);
@@ -344,7 +349,7 @@
lit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
- con.setConstraintValueType(SingleFieldConstraint.TYPE_LITERAL);
+ con.setConstraintValueType(isDropDownDataEnum?SingleFieldConstraint.TYPE_ENUM:SingleFieldConstraint.TYPE_LITERAL);
doTypeChosen(form);
}
});
Modified: labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/server/util/BRDRLPersistence.java 2010-11-11 15:03:02 UTC (rev 35947)
+++ labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/server/util/BRDRLPersistence.java 2010-11-11 16:53:59 UTC (rev 35948)
@@ -480,6 +480,9 @@
case BaseSingleFieldConstraint.TYPE_TEMPLATE:
buf.append("@{").append(value).append("}");
break;
+ case BaseSingleFieldConstraint.TYPE_ENUM:
+ buf.append(value);
+ break;
default:
buf.append(value);
}
Modified: labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/server/util/BRDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/server/util/BRDRLPersistenceTest.java 2010-11-11 15:03:02 UTC (rev 35947)
+++ labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/server/util/BRDRLPersistenceTest.java 2010-11-11 16:53:59 UTC (rev 35948)
@@ -119,6 +119,28 @@
}
+ public void testEnum() {
+ String expected = "rule \"my rule\"\n\tdialect \"mvel\"\n\twhen\n\t\tCheese( type = CheeseType.CHEDDAR )\n"
+ + "\tthen\n\t\tinsert( new Report() );\nend\n";
+ final RuleModel m = new RuleModel();
+ final FactPattern pat = new FactPattern();
+ //pat.boundName = "p1";
+ pat.factType = "Cheese";
+ m.addLhsItem(pat);
+ final SingleFieldConstraint con = new SingleFieldConstraint();
+ con.setFieldName("type");
+ con.setOperator("=");
+ con.setValue("CheeseType.CHEDDAR");
+ con.setConstraintValueType(BaseSingleFieldConstraint.TYPE_ENUM);
+ pat.addConstraint(con);
+
+ m.addRhsItem(new ActionInsertFact("Report"));
+ m.name = "my rule";
+
+ final String drl = p.marshal(m);
+ assertEquals(expected, drl);
+ }
+
public void testMoreComplexRendering() {
final RuleModel m = getComplexModel();
String expected = "rule \"Complex Rule\"\n" + "\tno-loop true\n"
More information about the jboss-svn-commits
mailing list