[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