[jboss-svn-commits] JBL Code SVN: r8243 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client main/java/org/drools/brms/client/modeldriven main/java/org/drools/brms/client/modeldriven/ui test/java/org/drools/brms/client/modeldriven
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Dec 11 16:38:36 EST 2006
Author: michael.neale at jboss.com
Date: 2006-12-11 16:38:12 -0500 (Mon, 11 Dec 2006)
New Revision: 8243
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionRetractFactWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java
Log:
more human readable UI now
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -108,7 +108,7 @@
p2.constraints[0].fieldName = "type";
p2.constraints[0].operator = "!=";
- p3.type = "Not";
+ p3.type = "not";
p3.patterns = new FactPattern[1];
FactPattern i1 = new FactPattern("Vehicle");
i1.constraints = new Constraint[1];
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/SuggestionCompletionEngine.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -13,6 +13,8 @@
* being fed into it.
* TODO: also make this include type info for the fields (for display, but may be needed
* for rendering DRL).
+ * TODO: MAYBE make operator suggestions based on type of field, not field/fact as it is now?
+ * (may make it more efficient and easier? )
*
* @author Michael Neale
*/
@@ -23,6 +25,9 @@
private Map factFieldToOperator = new HashMap();
private Map factFieldToConnectiveOperator = new HashMap();
private Map globals = new HashMap();
+ private Map operatorMap = new HashMap();
+ private HashMap ceMap = new HashMap();
+ private HashMap actionMap = new HashMap();
/**
* For bulk loading up the data (from a previous rule save)
@@ -49,10 +54,54 @@
}
- public SuggestionCompletionEngine() {
+ public SuggestionCompletionEngine() {
+ //load the default operator map
+ defaultMappings();
+
+
}
+
+ /**
+ * This loads the default mappings for verbalisation
+ *
+ */
+ private void defaultMappings() {
+ this.operatorMap.put( "==", "is equal to" );
+ this.operatorMap.put( "!=", "is not equal to" );
+ this.operatorMap.put( "<", "is less than" );
+ this.operatorMap.put( "<=", "less than or equal to" );
+ this.operatorMap.put( ">", "greater than" );
+ this.operatorMap.put( ">=", "greater than or equal to" );
+
+ this.operatorMap.put( "|==", "or equal to" );
+ this.operatorMap.put( "|!=", "or not equal to" );
+ this.operatorMap.put( "&!=", "and not equal to" );
+ this.operatorMap.put( "&>", "and greater than" );
+
+
+
+ this.ceMap.put( "not", "There is no" );
+ this.ceMap.put( "exists", "There exists" );
+ this.ceMap.put( "or", "Any of" );
+
+ this.actionMap.put( "assert", "Assert" );
+ this.actionMap.put( "retract", "Retract" );
+ this.actionMap.put( "set", "Set" );
+
+
+ }
+ /**
+ * This will use the given operator map rather then the default verbalisation.
+ */
+ public void addOperatorDisplayValuesMap(Map operatorMap) {
+ this.operatorMap = operatorMap;
+ }
+
+
+
+
/**
* Add a fact, with the applicable fields.
*/
@@ -132,7 +181,35 @@
* Returns a list of First order logic prefixes
*/
public String[] getListOfCEs() {
- return new String[] {"There is no", "There exists", "Any one of"};
+ return new String[] {"not", "exists", "or"};
}
+
+ /**
+ * Returns display names for operators.
+ */
+ public String getOperatorDisplayName(String op) {
+ if (this.operatorMap.containsKey(op)) {
+ return (String) operatorMap.get(op);
+ } else {
+ return op;
+ }
+ }
+
+ public String getCEDisplayName(String ce) {
+ if (this.ceMap.containsKey(ce)) {
+ return (String) ceMap.get(ce);
+ } else {
+ return ce;
+ }
+ }
+
+ public String getActionDisplayName(String action) {
+ if (this.actionMap.containsKey(action)) {
+ return (String) actionMap.get(action);
+ } else {
+ return action;
+ }
+ }
+
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -107,7 +107,7 @@
} );
horiz.add( edit );
- horiz.add( new Label("Assert " + this.model.factType) );
+ horiz.add( new Label(completions.getActionDisplayName("assert") + " " + this.model.factType) );
return horiz;
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionRetractFactWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionRetractFactWidget.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionRetractFactWidget.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -1,5 +1,6 @@
package org.drools.brms.client.modeldriven.ui;
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
import org.drools.brms.client.modeldriven.model.ActionRetractFact;
import com.google.gwt.user.client.ui.Composite;
@@ -16,12 +17,12 @@
private FlexTable layout;
- public ActionRetractFactWidget(ActionRetractFact model) {
+ public ActionRetractFactWidget(SuggestionCompletionEngine com, ActionRetractFact model) {
layout = new FlexTable();
layout.setStyleName( "model-builderInner-Background" );
- layout.setWidget( 0, 0, new Label("Retract ") );
+ layout.setWidget( 0, 0, new Label(com.getActionDisplayName( "retract" )) );
layout.setWidget( 0, 1, new Label(model.variableName) );
initWidget( layout );
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -105,7 +105,7 @@
} );
horiz.add( edit );
- horiz.add( new Label("Set " + model.variable) );
+ horiz.add( new Label(completions.getActionDisplayName("set") + " " + model.variable) );
return horiz;
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -75,7 +75,7 @@
} );
horiz.add( edit );
- horiz.add( new Label( pattern.type ) );
+ horiz.add( new Label( completions.getCEDisplayName( pattern.type ) ) );
return horiz;
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -217,8 +217,9 @@
String[] ops = completions.getConnectiveOperatorCompletions( pattern.factType, fieldName );
final ListBox box = new ListBox();
for ( int i = 0; i < ops.length; i++ ) {
- box.addItem( ops[i] );
- if (ops[i].equals( con.operator )) {
+ String op = ops[i];
+ box.addItem(completions.getOperatorDisplayName( op ), op );
+ if (op.equals( con.operator )) {
box.setSelectedIndex( i );
}
@@ -226,7 +227,7 @@
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
- con.operator = box.getItemText( box.getSelectedIndex() );
+ con.operator = box.getValue( box.getSelectedIndex() );
}
});
@@ -251,8 +252,9 @@
String[] ops = completions.getOperatorCompletions( pattern.factType, c.fieldName );
final ListBox box = new ListBox();
for ( int i = 0; i < ops.length; i++ ) {
- box.addItem( ops[i] );
- if (ops[i].equals( c.operator )) {
+ String op = ops[i];
+ box.addItem( completions.getOperatorDisplayName( op ) , op );
+ if (op.equals( c.operator )) {
box.setSelectedIndex( i );
}
@@ -260,7 +262,7 @@
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
- c.operator = box.getItemText( box.getSelectedIndex() );
+ c.operator = box.getValue( box.getSelectedIndex() );
}
});
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -61,7 +61,7 @@
Image addPattern = new Image( "images/new_item.gif" );
addPattern.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- showPatternSelector(w);
+ showAddConditionSelector(w);
}
});
@@ -98,7 +98,7 @@
} else if (action instanceof ActionAssertFact) {
w = new ActionAssertFactWidget(this, (ActionAssertFact) action, completions );
} else if (action instanceof ActionRetractFact) {
- w = new ActionRetractFactWidget((ActionRetractFact) action);
+ w = new ActionRetractFactWidget(this.completions, (ActionRetractFact) action);
}
HorizontalPanel horiz = new HorizontalPanel();
@@ -131,8 +131,8 @@
/**
* Pops up the fact selector.
*/
- protected void showPatternSelector(final Widget w) {
- final FormStylePopup popup = new FormStylePopup("images/new_fact.gif", "New fact pattern...");
+ protected void showAddConditionSelector(final Widget w) {
+ final FormStylePopup popup = new FormStylePopup("images/new_fact.gif", "Add a condition to the rule...");
@@ -165,14 +165,15 @@
final ListBox ceBox = new ListBox();
ceBox.addItem( "Choose condition type...", "IGNORE" );
for ( int i = 0; i < ces.length; i++ ) {
- ceBox.addItem( ces[i] );
+ String ce = ces[i];
+ ceBox.addItem( completions.getCEDisplayName( ce ), ce );
}
ceBox.setSelectedIndex( 0 );
popup.addAttribute( "Condition type", ceBox );
ceBox.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
- String s = ceBox.getItemText( ceBox.getSelectedIndex() );
+ String s = ceBox.getValue( ceBox.getSelectedIndex() );
if (!s.equals( "IGNORE" )) {
addNewCE(s);
popup.hide();
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java 2006-12-11 21:23:16 UTC (rev 8242)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java 2006-12-11 21:38:12 UTC (rev 8243)
@@ -107,14 +107,35 @@
}
+ public void testOperatorMapping() {
+ SuggestionCompletionEngine com = new SuggestionCompletionEngine();
+ assertEquals("is not", com.getOperatorDisplayName("!="));
+ assertEquals("is", com.getOperatorDisplayName("=="));
+ assertEquals("xxx", com.getOperatorDisplayName("xxx"));
+ }
+ public void testCEMapping() {
+ SuggestionCompletionEngine com = new SuggestionCompletionEngine();
+ assertEquals("There is no", com.getCEDisplayName( "not" ));
+ assertEquals("There exists", com.getCEDisplayName( "exists" ));
+ assertEquals("Any of", com.getCEDisplayName( "or" ));
+ assertEquals("xxx", com.getCEDisplayName( "xxx" ));
+
+ }
+
+ public void testActionMapping() {
+ SuggestionCompletionEngine com = new SuggestionCompletionEngine();
+ assertEquals("Assert", com.getActionDisplayName( "assert" ));
+ assertEquals("foo", com.getActionDisplayName( "foo" ));
+ }
+
+
public void testGlobalAndFacts() {
SuggestionCompletionEngine com = new SuggestionCompletionEngine();
com.addGlobal( "y", new String[] {"a"} );
- assertFalse(com.isGlobalVariable( "x" ));
-
+ assertFalse(com.isGlobalVariable( "x" ));
assertTrue(com.isGlobalVariable( "y" ));
}
More information about the jboss-svn-commits
mailing list