[jboss-svn-commits] JBL Code SVN: r8021 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client: . modeldriven/model modeldriven/ui
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Dec 1 10:03:15 EST 2006
Author: michael.neale at jboss.com
Date: 2006-12-01 10:03:07 -0500 (Fri, 01 Dec 2006)
New Revision: 8021
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java
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/model/ActionFieldValue.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/RuleModeller.java
Log:
got assert actions working
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-01 14:57:02 UTC (rev 8020)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java 2006-12-01 15:03:07 UTC (rev 8021)
@@ -1,6 +1,7 @@
package org.drools.brms.client;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.model.ActionAssertFact;
import org.drools.brms.client.modeldriven.model.ActionFieldValue;
import org.drools.brms.client.modeldriven.model.ActionSetField;
import org.drools.brms.client.modeldriven.model.CompositeFactPattern;
@@ -122,8 +123,16 @@
set.fieldValues[0] = new ActionFieldValue();
set.fieldValues[0].field = "type";
- model.rhs = new IAction[1];
+ ActionAssertFact fact = new ActionAssertFact();
+ fact.factType = "Person";
+ fact.fieldValues = new ActionFieldValue[2];
+ fact.fieldValues[0] = new ActionFieldValue("name", "Mike");
+ fact.fieldValues[1] = new ActionFieldValue("age", "42");
+
+
+ model.rhs = new IAction[2];
model.rhs[0] = set;
+ model.rhs[1] = fact;
return model;
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/ActionFieldValue.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/ActionFieldValue.java 2006-12-01 14:57:02 UTC (rev 8020)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/ActionFieldValue.java 2006-12-01 15:03:07 UTC (rev 8021)
@@ -11,6 +11,13 @@
implements
IsSerializable {
+ public ActionFieldValue(String field, String value) {
+ this.field = field;
+ this.value = value;
+ }
+
+ public ActionFieldValue() {}
+
public String field;
public String value;
Added: 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-01 14:57:02 UTC (rev 8020)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java 2006-12-01 15:03:07 UTC (rev 8021)
@@ -0,0 +1,94 @@
+package org.drools.brms.client.modeldriven.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.model.ActionAssertFact;
+import org.drools.brms.client.modeldriven.model.ActionFieldValue;
+
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * This is used when asserting a new fact into working memory.
+ *
+ * @author Michael Neale
+ *
+ */
+public class ActionAssertFactWidget extends Composite {
+
+ private FlexTable layout;
+ private ActionAssertFact model;
+ private SuggestionCompletionEngine completions;
+ private String[] fieldCompletions;
+
+ public ActionAssertFactWidget(ActionAssertFact set, SuggestionCompletionEngine com) {
+ this.model = set;
+ this.completions = com;
+ this.layout = new FlexTable();
+ this.fieldCompletions = this.completions.getFieldCompletions( set.factType );
+
+ layout.setStyleName( "model-builderInner-Background" );
+
+ doLayout();
+
+ initWidget(this.layout);
+ }
+
+ private void doLayout() {
+ layout.clear();
+ layout.setWidget( 0, 0, getAssertLabel() );
+
+ FlexTable inner = new FlexTable();
+
+
+ for ( int i = 0; i < model.fieldValues.length; i++ ) {
+ ActionFieldValue val = model.fieldValues[i];
+
+ inner.setWidget( i, 0, fieldSelector(val) );
+ inner.setWidget( i, 1, valueEditor(val) );
+ }
+
+ layout.setWidget( 0, 1, inner );
+
+
+ }
+
+ private Widget valueEditor(final ActionFieldValue val) {
+ final TextBox box = new TextBox();
+ box.setText( val.value );
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ val.value = box.getText();
+ }
+ });
+ return box;
+ }
+
+ private Widget fieldSelector(final ActionFieldValue val) {
+ final ListBox box = new ListBox();
+ for ( int i = 0; i < this.fieldCompletions.length; i++ ) {
+ box.addItem( this.fieldCompletions[i] );
+ if (this.fieldCompletions[i].equals( val.field )) {
+ box.setSelectedIndex( i );
+ }
+
+ }
+
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ val.field = box.getItemText( box.getSelectedIndex() );
+ }
+ });
+
+ return box;
+ }
+
+ private Widget getAssertLabel() {
+ return new Label("Assert new " + this.model.factType);
+ }
+
+}
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-01 14:57:02 UTC (rev 8020)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java 2006-12-01 15:03:07 UTC (rev 8021)
@@ -9,7 +9,6 @@
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextBox;
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-01 14:57:02 UTC (rev 8020)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java 2006-12-01 15:03:07 UTC (rev 8021)
@@ -2,6 +2,7 @@
import org.drools.brms.client.common.FormStylePopup;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.model.ActionAssertFact;
import org.drools.brms.client.modeldriven.model.ActionSetField;
import org.drools.brms.client.modeldriven.model.CompositeFactPattern;
import org.drools.brms.client.modeldriven.model.FactPattern;
@@ -74,7 +75,9 @@
IAction action = model.rhs[i];
if (action instanceof ActionSetField) {
vert.add( new ActionSetFieldWidget(this.model, (ActionSetField) action, completions ) );
- }
+ } else if (action instanceof ActionAssertFact) {
+ vert.add( new ActionAssertFactWidget((ActionAssertFact) action, completions ));
+ }
}
return vert;
More information about the jboss-svn-commits
mailing list