[jboss-svn-commits] JBL Code SVN: r34089 - in labs/jbossrules/trunk: drools-guvnor/src/main/java/org/drools/guvnor/client/messages and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 21 06:45:41 EDT 2010
Author: jervisliu
Date: 2010-07-21 06:45:40 -0400 (Wed, 21 Jul 2010)
New Revision: 34089
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/GuidedDecisionTable.java
labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/modeldriven/dt/GuidedDecisionTableTest.java
Log:
https://jira.jboss.org/browse/GUVNOR-191 : Display the data type of the condition property after selecting field in web-guided decision tables.
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java 2010-07-21 09:46:17 UTC (rev 34088)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java 2010-07-21 10:45:40 UTC (rev 34089)
@@ -26,6 +26,7 @@
import org.drools.guvnor.client.common.ErrorPopup;
import org.drools.guvnor.client.common.FormStylePopup;
import org.drools.guvnor.client.common.ImageButton;
+import org.drools.guvnor.client.common.InfoPopup;
import org.drools.guvnor.client.common.PrettyFormLayout;
import org.drools.guvnor.client.common.SmallLabel;
import org.drools.guvnor.client.messages.Constants;
@@ -1260,9 +1261,15 @@
getSCE() ) ) {
box.addKeyboardListener( ActionValueEditor.getNumericFilter( box ) );
}
-
+
+
Panel p = new Panel();
p.add( box );
+ String typeDescription = dt.getType(colConf, getSCE());
+ if(typeDescription != null) {
+ p.add( new InfoPopup( constants.CategoryParentRules(), Format.format(constants.FillInColumnWithValue(), typeDescription)));
+ }
+
w.add( p );
w.setBorder( false );
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java 2010-07-21 09:46:17 UTC (rev 34088)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java 2010-07-21 10:45:40 UTC (rev 34089)
@@ -2083,4 +2083,6 @@
String ActivateRuleFlowGroup();
String CantRemoveThisBlockAsOneOfTheNamesIsBeingUsed();
+
+ String FillInColumnWithValue();
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties 2010-07-21 09:46:17 UTC (rev 34088)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties 2010-07-21 10:45:40 UTC (rev 34089)
@@ -1027,3 +1027,4 @@
TemplateEditor=Template Editor
TemplateData=Template Data
ActivateRuleFlowGroup=Activate rule flow group
+FillInColumnWithValue=Please fill in this column with a {0} value.
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/GuidedDecisionTable.java
===================================================================
--- labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/GuidedDecisionTable.java 2010-07-21 09:46:17 UTC (rev 34088)
+++ labs/jbossrules/trunk/drools-ide-common/src/main/java/org/drools/ide/common/client/modeldriven/dt/GuidedDecisionTable.java 2010-07-21 10:45:40 UTC (rev 34089)
@@ -142,6 +142,25 @@
return new String[0];
}
+ public String getType(DTColumnConfig col, SuggestionCompletionEngine sce) {
+ String type = null;
+ if (col instanceof AttributeCol) {
+ AttributeCol at = (AttributeCol) col;
+ type = at.attr;
+ } else if (col instanceof ConditionCol) {
+ ConditionCol c = (ConditionCol) col;
+ type = sce.getFieldType(c.factType, c.factField);
+ } else if (col instanceof ActionSetFieldCol) {
+ ActionSetFieldCol c = (ActionSetFieldCol) col;
+ type = sce.getFieldType(getBoundFactType(c.boundName), c.factField);
+ } else if (col instanceof ActionInsertFactCol) {
+ ActionInsertFactCol c = (ActionInsertFactCol) col;
+ type = sce.getFieldType(c.factType, c.factField);
+ }
+
+ return type;
+ }
+
private String getBoundFactType(String boundName) {
for (Iterator<ConditionCol> iterator = conditionCols.iterator(); iterator.hasNext();) {
ConditionCol c = iterator.next();
Modified: labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/modeldriven/dt/GuidedDecisionTableTest.java
===================================================================
--- labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/modeldriven/dt/GuidedDecisionTableTest.java 2010-07-21 09:46:17 UTC (rev 34088)
+++ labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/ide/common/modeldriven/dt/GuidedDecisionTableTest.java 2010-07-21 10:45:40 UTC (rev 34089)
@@ -16,6 +16,7 @@
package org.drools.ide.common.modeldriven.dt;
+import java.util.Date;
import java.util.HashMap;
import junit.framework.TestCase;
@@ -295,11 +296,107 @@
assertFalse(dt.isNumeric(ins, sce));
assertTrue(dt.isNumeric(ins_, sce));
assertFalse(dt.isNumeric(c2, sce));
+ }
+
+ public void testGetType() {
+ SuggestionCompletionEngine sce = new SuggestionCompletionEngine();
+ sce.setFieldsForTypes(new HashMap<String, ModelField[]>() {
+ {
+ put("Driver",
+ new ModelField[]{
+ new ModelField("age", Integer.class.getName(), FIELD_CLASS_TYPE.REGULAR_CLASS, SuggestionCompletionEngine.TYPE_NUMERIC),
+ new ModelField("name", String.class.getName(), FIELD_CLASS_TYPE.REGULAR_CLASS, SuggestionCompletionEngine.TYPE_STRING),
+ new ModelField("date", Date.class.getName(), FIELD_CLASS_TYPE.REGULAR_CLASS, SuggestionCompletionEngine.TYPE_DATE),
+ new ModelField("approved", Boolean.class.getName(), FIELD_CLASS_TYPE.REGULAR_CLASS, SuggestionCompletionEngine.TYPE_BOOLEAN)
+ });
+ }
+ });
+ GuidedDecisionTable dt = new GuidedDecisionTable();
+ AttributeCol salienceAttribute = new AttributeCol();
+ salienceAttribute.attr = "salience";
+ AttributeCol enabledAttribute = new AttributeCol();
+ enabledAttribute.attr = "enabled";
+
+ dt.attributeCols.add(salienceAttribute);
+ dt.attributeCols.add(enabledAttribute);
+
+ ConditionCol conditionColName = new ConditionCol();
+ conditionColName.boundName = "c1";
+ conditionColName.factType = "Driver";
+ conditionColName.factField = "name";
+ conditionColName.operator = "==";
+ conditionColName.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
+ dt.conditionCols.add(conditionColName);
+
+ ConditionCol conditionColAge = new ConditionCol();
+ conditionColAge.boundName = "c1";
+ conditionColAge.factType = "Driver";
+ conditionColAge.factField = "age";
+ conditionColAge.operator = "==";
+ conditionColAge.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
+ dt.conditionCols.add(conditionColAge);
+
+ ConditionCol conditionColDate = new ConditionCol();
+ conditionColDate.boundName = "c1";
+ conditionColDate.factType = "Driver";
+ conditionColDate.factField = "date";
+ conditionColDate.operator = "==";
+ conditionColDate.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
+ dt.conditionCols.add(conditionColDate);
+
+ ConditionCol conditionColApproved = new ConditionCol();
+ conditionColApproved.boundName = "c1";
+ conditionColApproved.factType = "Driver";
+ conditionColApproved.factField = "approved";
+ conditionColApproved.operator = "==";
+ conditionColApproved.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
+ dt.conditionCols.add(conditionColApproved);
+
+ ConditionCol conditionColAge2 = new ConditionCol();
+ conditionColAge2.boundName = "c1";
+ conditionColAge2.factType = "Driver";
+ conditionColAge2.factField = "age";
+ conditionColAge2.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
+ dt.conditionCols.add(conditionColAge2);
+
+ ActionSetFieldCol a = new ActionSetFieldCol();
+ a.boundName = "c1";
+ a.factField = "name";
+ dt.actionCols.add(a);
+
+ ActionSetFieldCol a2 = new ActionSetFieldCol();
+ a2.boundName = "c1";
+ a2.factField = "age";
+ dt.actionCols.add(a2);
+
+ ActionInsertFactCol ins = new ActionInsertFactCol();
+ ins.boundName = "x";
+ ins.factType = "Driver";
+ ins.factField = "name";
+ dt.actionCols.add(ins);
+
+ ActionInsertFactCol ins_ = new ActionInsertFactCol();
+ ins_.boundName = "x";
+ ins_.factType = "Driver";
+ ins_.factField = "age";
+ dt.actionCols.add(ins_);
+
+ assertEquals("salience", dt.getType(salienceAttribute, sce));
+ assertEquals("enabled", dt.getType(enabledAttribute, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_STRING, dt.getType(conditionColName, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_NUMERIC, dt.getType(conditionColAge, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_DATE, dt.getType(conditionColDate, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_BOOLEAN, dt.getType(conditionColApproved, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_STRING, dt.getType(a, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_NUMERIC, dt.getType(a2, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_STRING, dt.getType(ins, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_NUMERIC, dt.getType(ins_, sce));
+ assertEquals(SuggestionCompletionEngine.TYPE_NUMERIC, dt.getType(conditionColAge2, sce));
}
-
+
public void testNoConstraintLists() {
GuidedDecisionTable dt = new GuidedDecisionTable();
More information about the jboss-svn-commits
mailing list