[jboss-svn-commits] JBL Code SVN: r25657 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/guvnor/server/util and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Mar 15 22:33:16 EDT 2009


Author: michael.neale at jboss.com
Date: 2009-03-15 22:33:16 -0400 (Sun, 15 Mar 2009)
New Revision: 25657

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/DTColumnConfig.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/GuidedDTDRLPersistence.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/GuidedDTDRLPersistenceTest.java
Log:
GUVNOR-141 default columns in web DT

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/DTColumnConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/DTColumnConfig.java	2009-03-16 02:31:56 UTC (rev 25656)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/dt/DTColumnConfig.java	2009-03-16 02:33:16 UTC (rev 25657)
@@ -9,4 +9,15 @@
 	 */
 	public int width = -1;
 
+
+    /**
+     * For a default value ! Will stil be in the array of course, just use this value if its empty.
+     */
+    public String defaultValue = null;
+
+    /**
+     * to hide the column (eg if it has a mandatory default).
+     */
+    public boolean hideColumn = false;
+
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/GuidedDTDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/GuidedDTDRLPersistence.java	2009-03-16 02:31:56 UTC (rev 25656)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/GuidedDTDRLPersistence.java	2009-03-16 02:33:16 UTC (rev 25657)
@@ -73,6 +73,9 @@
 		for (int i = 0; i < actionCols.size(); i++) {
 			ActionCol c = actionCols.get(i);
 			String cell = row[condAndAttrs + i + GuidedDecisionTable.INTERNAL_ELEMENTS];
+            if (!validCell(cell)) {
+                cell = c.defaultValue;
+            }
 			if (validCell(cell)) {
 				if (c instanceof ActionInsertFactCol) {
 					ActionInsertFactCol ac = (ActionInsertFactCol)c;
@@ -144,6 +147,12 @@
 		for (int i = 0; i < conditionCols.size(); i++) {
 			ConditionCol c = (ConditionCol) conditionCols.get(i);
 			String cell = row[i + GuidedDecisionTable.INTERNAL_ELEMENTS + numOfAttributesAndMeta];
+
+            if (!validCell(cell)) {
+                //try default value
+                cell = c.defaultValue;
+            }
+            
 			if (validCell(cell)) {
 
 				//get or create the pattern it belongs too
@@ -213,7 +222,9 @@
 			String cell = row[j + GuidedDecisionTable.INTERNAL_ELEMENTS + numOfMeta];
 			if (validCell(cell)) {
 				attribs.add(new RuleAttribute(at.attr, cell));
-			}
+			} else if (at.defaultValue != null) {
+                attribs.add(new RuleAttribute(at.attr, at.defaultValue));                
+            }
 		}
 		if (attribs.size() > 0) {
 			rm.attributes = attribs.toArray(new RuleAttribute[attribs.size()]);

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/GuidedDTDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/GuidedDTDRLPersistenceTest.java	2009-03-16 02:31:56 UTC (rev 25656)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/GuidedDTDRLPersistenceTest.java	2009-03-16 02:33:16 UTC (rev 25657)
@@ -33,6 +33,7 @@
 
 		AttributeCol attr = new AttributeCol();
 		attr.attr = "salience";
+        attr.defaultValue = "66";
 		dt.attributeCols.add(attr);
 
 		ConditionCol con = new ConditionCol();
@@ -91,12 +92,13 @@
 		ActionSetFieldCol set2 = new ActionSetFieldCol();
 		set2.boundName = "f1";
 		set2.factField = "goo2";
+        set2.defaultValue = "whee";
 		set2.type = SuggestionCompletionEngine.TYPE_STRING;
 		dt.actionCols.add(set2);
 
 		dt.data = new String[][] {
-				new String[] {"1", "desc", "42", "33", "michael", "age * 0.2", "age > 7", "6.60", "true", "gooVal1", "gooVal2"},
-				new String[] {"2", "desc", "", "39", "bob", "age * 0.3", "age > 7", "6.60", "", "gooVal1", "gooVal2"}
+				new String[] {"1", "desc", "42", "33", "michael", "age * 0.2", "age > 7", "6.60", "true", "gooVal1", null},
+				new String[] {"2", "desc", "", "39", "bob", "age * 0.3", "age > 7", "6.60", "", "gooVal1", ""}
 		};
 
 
@@ -109,6 +111,9 @@
 		assertTrue(drl.indexOf("rating == ( age * 0.2 )") > 0);
 		assertTrue(drl.indexOf("f2 : Driver( eval( age > 7 ))") > 0);
 		assertTrue(drl.indexOf("rating == ( age * 0.3 )") > drl.indexOf("rating == ( age * 0.2 )"));
+        assertTrue(drl.indexOf("f1.setGoo2( \"whee\" )") > 0);   //for default
+        assertTrue(drl.indexOf("salience 66") > 0);   //for default
+        
 
 	}
 




More information about the jboss-svn-commits mailing list