[jboss-svn-commits] JBL Code SVN: r8024 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client main/java/org/drools/brms/client/modeldriven/model 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
Fri Dec 1 10:52:30 EST 2006


Author: michael.neale at jboss.com
Date: 2006-12-01 10:52:21 -0500 (Fri, 01 Dec 2006)
New Revision: 8024

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionRetractFactWidget.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/ActionRetractFact.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.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/RuleModelTest.java
Log:
added in retraction widget

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 15:45:21 UTC (rev 8023)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java	2006-12-01 15:52:21 UTC (rev 8024)
@@ -3,6 +3,7 @@
 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.ActionRetractFact;
 import org.drools.brms.client.modeldriven.model.ActionSetField;
 import org.drools.brms.client.modeldriven.model.CompositeFactPattern;
 import org.drools.brms.client.modeldriven.model.ConnectiveConstraint;
@@ -129,10 +130,12 @@
         fact.fieldValues[0] = new ActionFieldValue("name", "Mike");
         fact.fieldValues[1] = new ActionFieldValue("age", "42");
         
+        ActionRetractFact retract = new ActionRetractFact("car1");
         
-        model.rhs = new IAction[2];
+        model.rhs = new IAction[3];
         model.rhs[0] = set;
         model.rhs[1] = fact;
+        model.rhs[2] = retract;
         
         return model;
         

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/ActionRetractFact.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/ActionRetractFact.java	2006-12-01 15:45:21 UTC (rev 8023)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/ActionRetractFact.java	2006-12-01 15:52:21 UTC (rev 8024)
@@ -4,6 +4,11 @@
     implements
     IAction {
     
+    
+    public ActionRetractFact(String var) {
+        this.variableName = var;
+    }
+    
     public String variableName;
 
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java	2006-12-01 15:45:21 UTC (rev 8023)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java	2006-12-01 15:52:21 UTC (rev 8024)
@@ -1,5 +1,8 @@
 package org.drools.brms.client.modeldriven.model;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import com.google.gwt.user.client.rpc.IsSerializable;
 
 public class RuleModel implements IsSerializable {
@@ -27,4 +30,20 @@
         return null;
     }
     
+    /**
+     * @return A list of bound facts (String). Or empty list if none are found.
+     */
+    public List getBoundFacts() {
+        if (lhs == null) return null;
+        List list = new ArrayList();
+        for ( int i = 0; i < lhs.length; i++ ) {
+            if (lhs[i] instanceof FactPattern) {
+                FactPattern p = (FactPattern) lhs[i];
+                if (p.boundName != null)  list.add( p.boundName );
+            }
+        }
+        return list;
+        
+    }
+    
 }

Added: 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-01 15:45:21 UTC (rev 8023)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionRetractFactWidget.java	2006-12-01 15:52:21 UTC (rev 8024)
@@ -0,0 +1,32 @@
+package org.drools.brms.client.modeldriven.ui;
+
+import org.drools.brms.client.modeldriven.model.ActionRetractFact;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.Label;
+
+/**
+ * This is used when you want to retract a fact. It will provide a list of 
+ * bound facts for you to retract.
+ * @author Michael Neale
+ */
+public class ActionRetractFactWidget extends Composite {
+
+    private FlexTable layout;
+
+    
+    public ActionRetractFactWidget(ActionRetractFact model) {
+        layout = new FlexTable();
+        
+        layout.setStyleName( "model-builderInner-Background" );
+        
+        layout.setWidget( 0, 0, new Label("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/RuleModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java	2006-12-01 15:45:21 UTC (rev 8023)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java	2006-12-01 15:52:21 UTC (rev 8024)
@@ -3,6 +3,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.ActionRetractFact;
 import org.drools.brms.client.modeldriven.model.ActionSetField;
 import org.drools.brms.client.modeldriven.model.CompositeFactPattern;
 import org.drools.brms.client.modeldriven.model.FactPattern;
@@ -77,6 +78,8 @@
                 vert.add( new ActionSetFieldWidget(this.model, (ActionSetField) action, completions ) ); 
             } else if (action instanceof ActionAssertFact) {
                 vert.add( new ActionAssertFactWidget((ActionAssertFact) action, completions ));
+            } else if (action instanceof ActionRetractFact) {
+                vert.add(new ActionRetractFactWidget((ActionRetractFact) action));
             }
         }
         

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java	2006-12-01 15:45:21 UTC (rev 8023)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java	2006-12-01 15:52:21 UTC (rev 8024)
@@ -1,5 +1,7 @@
 package org.drools.brms.client.modeldriven;
 
+import java.util.List;
+
 import org.drools.brms.client.modeldriven.model.FactPattern;
 import org.drools.brms.client.modeldriven.model.IPattern;
 import org.drools.brms.client.modeldriven.model.RuleModel;
@@ -35,4 +37,30 @@
         
     }
     
+    public void testBindingList() {
+        RuleModel model = new RuleModel();
+        
+        model.lhs = new IPattern[3];
+        FactPattern x = new FactPattern("Car");
+        model.lhs[0] = x;
+        x.boundName = "x";
+        
+        FactPattern y = new FactPattern("Car");
+        model.lhs[1] = y;
+        y.boundName = "y";
+        
+        FactPattern other = new FactPattern("House");
+        model.lhs[2] = other;
+        
+        
+        List b = model.getBoundFacts();
+        assertEquals(2, b.size());
+        
+        assertEquals("x", b.get( 0 ));
+        assertEquals("y", b.get( 1 ));
+        
+        
+        
+    }
+    
 }




More information about the jboss-svn-commits mailing list