[jboss-svn-commits] JBL Code SVN: r12525 - in labs/jbossrules/trunk/drools-jbrms: src/main/java/org/drools/brms/client/modeldriven/ui and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jun 12 22:46:52 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-06-12 22:46:52 -0400 (Tue, 12 Jun 2007)
New Revision: 12525
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionInsertFactWidget.java
Removed:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java
Modified:
labs/jbossrules/trunk/drools-jbrms/.classpath
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
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java
Log:
JBRULES-922 API change for assert and modify
Modified: labs/jbossrules/trunk/drools-jbrms/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/.classpath 2007-06-13 02:46:39 UTC (rev 12524)
+++ labs/jbossrules/trunk/drools-jbrms/.classpath 2007-06-13 02:46:52 UTC (rev 12525)
@@ -1,56 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
- <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/classes"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.jar"/>
- <classpathentry kind="src" path="/drools-compiler"/>
- <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0/antlr-3.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/el/el-ri/1.2/el-ri-1.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
- <classpathentry kind="src" path="/drools-repository"/>
- <classpathentry kind="var" path="M2_REPO/jboss/javassist/3.4.ga/javassist-3.4.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
- <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/google/gwt-servlet/1.3.3/gwt-servlet-1.3.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/tmatesoft/javasvn/1.1-beta5/javasvn-1.1-beta5.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta25/mvel14-1.2beta25.jar"/>
- <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
- <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
- <classpathentry kind="src" path="/drools-core"/>
- <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.2/el-api-1.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/jms/jms/1.1/jms-1.1.jar"/>
- <classpathentry kind="src" path="/drools-decisiontables"/>
- <classpathentry kind="var" path="M2_REPO/jboss/seam/jboss-seam/1.2.0.GA/jboss-seam-1.2.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/seam/profiles/seam-nopersistence/1.2.0.GA/seam-nopersistence-1.2.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.7/janino-2.5.7.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2.jar"/>
-</classpath>
\ No newline at end of file
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_10"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.jar"/>
+ <classpathentry kind="src" path="/drools-compiler"/>
+ <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0/antlr-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/el/el-ri/1.2/el-ri-1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
+ <classpathentry kind="src" path="/drools-repository"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/javassist/3.4.ga/javassist-3.4.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/google/gwt-servlet/1.3.3/gwt-servlet-1.3.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/tmatesoft/javasvn/1.1-beta5/javasvn-1.1-beta5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta25/mvel14-1.2beta25.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+ <classpathentry kind="src" path="/drools-core"/>
+ <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.2/el-api-1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/jms/jms/1.1/jms-1.1.jar"/>
+ <classpathentry kind="src" path="/drools-decisiontables"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/seam/jboss-seam/1.2.0.GA/jboss-seam-1.2.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/seam/profiles/seam-nopersistence/1.2.0.GA/seam-nopersistence-1.2.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.7/janino-2.5.7.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Deleted: 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 2007-06-13 02:46:39 UTC (rev 12524)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java 2007-06-13 02:46:52 UTC (rev 12525)
@@ -1,178 +0,0 @@
-package org.drools.brms.client.modeldriven.ui;
-
-import org.drools.brms.client.common.DirtyableComposite;
-import org.drools.brms.client.common.DirtyableFlexTable;
-import org.drools.brms.client.common.FormStylePopup;
-import org.drools.brms.client.common.ImageButton;
-import org.drools.brms.client.common.Lbl;
-import org.drools.brms.client.common.YesNoDialog;
-import org.drools.brms.client.modeldriven.HumanReadable;
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brxml.ActionAssertFact;
-import org.drools.brms.client.modeldriven.brxml.ActionAssertLogicalFact;
-import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
-
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.ChangeListener;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
-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 DirtyableComposite {
-
- private DirtyableFlexTable layout;
- private ActionAssertFact model;
- private SuggestionCompletionEngine completions;
- private String[] fieldCompletions;
- private RuleModeller modeller;
-
- public ActionAssertFactWidget(RuleModeller mod, ActionAssertFact set, SuggestionCompletionEngine com) {
- this.model = set;
- this.completions = com;
- this.layout = new DirtyableFlexTable();
- this.modeller = mod;
- 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() );
-
- DirtyableFlexTable inner = new DirtyableFlexTable();
-
- 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) );
- final int idx = i;
- Image remove = new ImageButton("images/delete_item_small.gif");
- remove.addClickListener( new ClickListener() {
- public void onClick(Widget w) {
- YesNoDialog diag = new YesNoDialog("Remove this item?", new Command() {
- public void execute() {
- model.removeField( idx );
- modeller.refreshWidget();
- }
- });
- diag.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
- diag.show();
- }
- });
- inner.setWidget( i, 2, remove );
-
- }
-
- 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();
- modeller.refreshWidget();
- }
- });
-
- if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
- box.addKeyboardListener( new KeyboardListener() {
-
- public void onKeyDown(Widget arg0, char arg1, int arg2) {
-
- }
-
- public void onKeyPress(Widget w, char c, int i) {
- if (Character.isLetter( c )) {
- ((TextBox) w).cancelKey();
- }
- }
-
- public void onKeyUp(Widget arg0, char arg1, int arg2) {
- }
-
- });
- }
- return box;
- }
-
- private Widget fieldSelector(final ActionFieldValue val) {
- return new Label(val.field);
- }
-
- private Widget getAssertLabel() {
- HorizontalPanel horiz = new HorizontalPanel();
-
-
- Image edit = new ImageButton("images/add_field_to_fact.gif");
- edit.setTitle( "Add another field to this so you can set its value." );
- edit.addClickListener( new ClickListener() {
- public void onClick(Widget w) {
- showAddFieldPopup(w);
- }
- } );
-
-
- String assertType = "assert";
- if (this.model instanceof ActionAssertLogicalFact) {
- assertType = "assertLogical";
- }
- horiz.add( new Lbl(HumanReadable.getActionDisplayName(assertType) + " " + this.model.factType, "modeller-action-Label") );
- horiz.add( edit );
- return horiz;
-
- }
-
- protected void showAddFieldPopup(Widget w) {
- final FormStylePopup popup = new FormStylePopup("images/newex_wiz.gif", "Add a field");
- popup.setStyleName( "ks-popups-Popup" );
- final ListBox box = new ListBox();
- box.addItem( "..." );
-
- for ( int i = 0; i < fieldCompletions.length; i++ ) {
- box.addItem( fieldCompletions[i] );
- }
-
- box.setSelectedIndex( 0 );
-
- popup.addAttribute( "Add field", box );
- box.addChangeListener( new ChangeListener() {
- public void onChange(Widget w) {
- String fieldName = box.getItemText( box.getSelectedIndex() );
- String fieldType = completions.getFieldType( model.factType, fieldName );
- model.addFieldValue( new ActionFieldValue( fieldName, "", fieldType ) );
- modeller.refreshWidget();
- popup.hide();
- }
- });
-
-
-
- popup.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
- popup.show();
-
- }
-
-}
Copied: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionInsertFactWidget.java (from rev 12523, 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/ActionInsertFactWidget.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionInsertFactWidget.java 2007-06-13 02:46:52 UTC (rev 12525)
@@ -0,0 +1,178 @@
+package org.drools.brms.client.modeldriven.ui;
+
+import org.drools.brms.client.common.DirtyableComposite;
+import org.drools.brms.client.common.DirtyableFlexTable;
+import org.drools.brms.client.common.FormStylePopup;
+import org.drools.brms.client.common.ImageButton;
+import org.drools.brms.client.common.Lbl;
+import org.drools.brms.client.common.YesNoDialog;
+import org.drools.brms.client.modeldriven.HumanReadable;
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brxml.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brxml.ActionInsertLogicalFact;
+
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.KeyboardListener;
+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 ActionInsertFactWidget extends DirtyableComposite {
+
+ private DirtyableFlexTable layout;
+ private ActionInsertFact model;
+ private SuggestionCompletionEngine completions;
+ private String[] fieldCompletions;
+ private RuleModeller modeller;
+
+ public ActionInsertFactWidget(RuleModeller mod, ActionInsertFact set, SuggestionCompletionEngine com) {
+ this.model = set;
+ this.completions = com;
+ this.layout = new DirtyableFlexTable();
+ this.modeller = mod;
+ 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() );
+
+ DirtyableFlexTable inner = new DirtyableFlexTable();
+
+ 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) );
+ final int idx = i;
+ Image remove = new ImageButton("images/delete_item_small.gif");
+ remove.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ YesNoDialog diag = new YesNoDialog("Remove this item?", new Command() {
+ public void execute() {
+ model.removeField( idx );
+ modeller.refreshWidget();
+ }
+ });
+ diag.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
+ diag.show();
+ }
+ });
+ inner.setWidget( i, 2, remove );
+
+ }
+
+ 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();
+ modeller.refreshWidget();
+ }
+ });
+
+ if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+ box.addKeyboardListener( new KeyboardListener() {
+
+ public void onKeyDown(Widget arg0, char arg1, int arg2) {
+
+ }
+
+ public void onKeyPress(Widget w, char c, int i) {
+ if (Character.isLetter( c )) {
+ ((TextBox) w).cancelKey();
+ }
+ }
+
+ public void onKeyUp(Widget arg0, char arg1, int arg2) {
+ }
+
+ });
+ }
+ return box;
+ }
+
+ private Widget fieldSelector(final ActionFieldValue val) {
+ return new Label(val.field);
+ }
+
+ private Widget getAssertLabel() {
+ HorizontalPanel horiz = new HorizontalPanel();
+
+
+ Image edit = new ImageButton("images/add_field_to_fact.gif");
+ edit.setTitle( "Add another field to this so you can set its value." );
+ edit.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ showAddFieldPopup(w);
+ }
+ } );
+
+
+ String assertType = "assert";
+ if (this.model instanceof ActionInsertLogicalFact) {
+ assertType = "assertLogical";
+ }
+ horiz.add( new Lbl(HumanReadable.getActionDisplayName(assertType) + " " + this.model.factType, "modeller-action-Label") );
+ horiz.add( edit );
+ return horiz;
+
+ }
+
+ protected void showAddFieldPopup(Widget w) {
+ final FormStylePopup popup = new FormStylePopup("images/newex_wiz.gif", "Add a field");
+ popup.setStyleName( "ks-popups-Popup" );
+ final ListBox box = new ListBox();
+ box.addItem( "..." );
+
+ for ( int i = 0; i < fieldCompletions.length; i++ ) {
+ box.addItem( fieldCompletions[i] );
+ }
+
+ box.setSelectedIndex( 0 );
+
+ popup.addAttribute( "Add field", box );
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ String fieldName = box.getItemText( box.getSelectedIndex() );
+ String fieldType = completions.getFieldType( model.factType, fieldName );
+ model.addFieldValue( new ActionFieldValue( fieldName, "", fieldType ) );
+ modeller.refreshWidget();
+ popup.hide();
+ }
+ });
+
+
+
+ popup.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
+ popup.show();
+
+ }
+
+}
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 2007-06-13 02:46:39 UTC (rev 12524)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java 2007-06-13 02:46:52 UTC (rev 12525)
@@ -10,7 +10,7 @@
import org.drools.brms.client.modeldriven.HumanReadable;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brxml.ActionModifyField;
+import org.drools.brms.client.modeldriven.brxml.ActionUpdateField;
import org.drools.brms.client.modeldriven.brxml.ActionSetField;
import org.drools.brms.client.modeldriven.brxml.FactPattern;
import org.drools.brms.client.modeldriven.brxml.RuleModel;
@@ -115,7 +115,7 @@
}
} );
String modifyType = "set";
- if (this.model instanceof ActionModifyField) {
+ if (this.model instanceof ActionUpdateField) {
modifyType = "modify";
}
horiz.add( new Lbl(HumanReadable.getActionDisplayName(modifyType) + " [" + model.variable + "]", "modeller-action-Label") );
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 2007-06-13 02:46:39 UTC (rev 12524)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java 2007-06-13 02:46:52 UTC (rev 12525)
@@ -13,9 +13,9 @@
import org.drools.brms.client.common.YesNoDialog;
import org.drools.brms.client.modeldriven.HumanReadable;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brxml.ActionAssertFact;
-import org.drools.brms.client.modeldriven.brxml.ActionAssertLogicalFact;
-import org.drools.brms.client.modeldriven.brxml.ActionModifyField;
+import org.drools.brms.client.modeldriven.brxml.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brxml.ActionInsertLogicalFact;
+import org.drools.brms.client.modeldriven.brxml.ActionUpdateField;
import org.drools.brms.client.modeldriven.brxml.ActionRetractFact;
import org.drools.brms.client.modeldriven.brxml.ActionSetField;
import org.drools.brms.client.modeldriven.brxml.CompositeFactPattern;
@@ -155,8 +155,8 @@
Widget w = null;
if (action instanceof ActionSetField) {
w = new ActionSetFieldWidget(this, this.model, (ActionSetField) action, completions ) ;
- } else if (action instanceof ActionAssertFact) {
- w = new ActionAssertFactWidget(this, (ActionAssertFact) action, completions );
+ } else if (action instanceof ActionInsertFact) {
+ w = new ActionInsertFactWidget(this, (ActionInsertFact) action, completions );
} else if (action instanceof ActionRetractFact) {
w = new ActionRetractFactWidget(this.completions, (ActionRetractFact) action );
} else if (action instanceof DSLSentence) {
@@ -367,7 +367,7 @@
factsToAssert.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
String fact = factsToAssert.getItemText( factsToAssert.getSelectedIndex() );
- model.addRhsItem( new ActionAssertFact(fact) );
+ model.addRhsItem( new ActionInsertFact(fact) );
refreshWidget();
popup.hide();
@@ -377,7 +377,7 @@
factsToLogicallyAssert.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
String fact = factsToLogicallyAssert.getItemText( factsToLogicallyAssert.getSelectedIndex() );
- model.addRhsItem( new ActionAssertLogicalFact(fact) );
+ model.addRhsItem( new ActionInsertLogicalFact(fact) );
refreshWidget();
popup.hide();
@@ -426,7 +426,7 @@
protected void addModify(String itemText) {
- this.model.addRhsItem(new ActionModifyField(itemText));
+ this.model.addRhsItem(new ActionUpdateField(itemText));
refreshWidget();
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java 2007-06-13 02:46:39 UTC (rev 12524)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java 2007-06-13 02:46:52 UTC (rev 12525)
@@ -62,7 +62,8 @@
}
PackageBuilderConfiguration config = new PackageBuilderConfiguration();
- config.setClassLoader( loader );
+ //config.setClassLoader( loader );
+ Thread.currentThread().setContextClassLoader( loader );
config.setCompiler( PackageBuilderConfiguration.JANINO );
return new BRMSPackageBuilder( config );
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java 2007-06-13 02:46:39 UTC (rev 12524)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java 2007-06-13 02:46:52 UTC (rev 12525)
@@ -432,8 +432,8 @@
Driver driver = new Driver();
Policy policy = new Policy();
- wm.assertObject(driver);
- wm.assertObject(policy);
+ wm.insert(driver);
+ wm.insert(policy);
wm.fireAllRules();
More information about the jboss-svn-commits
mailing list