[jboss-svn-commits] JBL Code SVN: r10171 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/modeldriven/ui and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 14 08:10:04 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-03-14 08:10:04 -0400 (Wed, 14 Mar 2007)
New Revision: 10171

Added:
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/DSLSentenceTest.java
Removed:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentenceFragment.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentence.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/DSLSentenceWidget.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/rules/SuggestionCompletionLoader.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/BRLPersistence.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilder.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/rules/SuggestionCompletionLoaderTest.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilderTest.java
Log:
refactored BRL stuff to use DSL Sentences

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentence.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentence.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentence.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -10,15 +10,26 @@
     IPattern,
     IAction {
 
-    public DSLSentenceFragment[] elements;
+    public String sentence;
     
+    /**
+     * This will strip off any residual "{" stuff...
+     */
     public String toString() {
+        char[] chars = sentence.toCharArray();
         String result = "";
-        if (elements != null) {
-            for ( int i = 0; i < elements.length; i++ ) {
-                result += elements[i].value + " ";
+        for ( int i = 0; i < chars.length; i++ ) {
+            char c = chars[i];
+            if (c != '{' && c != '}') {
+                result += c;
             }
         }
         return result;
     }
+    
+    public DSLSentence copy() {
+        DSLSentence newOne = new DSLSentence();
+        newOne.sentence = this.sentence;
+        return newOne;
+    }
 }

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentenceFragment.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentenceFragment.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/brxml/DSLSentenceFragment.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -1,31 +0,0 @@
-package org.drools.brms.client.modeldriven.brxml;
-
-
-/**
- * This holds the value of a fragment of a DSL.
- * It can either be a sentence fragment (a display only thing) or a 
- * value which the user can change.
- *  
- * @author Michael Neale
- *
- */
-public class DSLSentenceFragment
-    implements
-    PortableObject {
-
-    public String  value;
-    public boolean isEditableField;
-
-    /**
-     * @param fragment
-     * @param isEditableField true if it is a editable value. false means display only.
-     */
-    public DSLSentenceFragment(String fragment,
-                               boolean isEditableField) {
-        value = fragment;
-        this.isEditableField = isEditableField;
-    }
-    
-    public DSLSentenceFragment() {}
-
-}

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/DSLSentenceWidget.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/DSLSentenceWidget.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -1,7 +1,10 @@
 package org.drools.brms.client.modeldriven.ui;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 import org.drools.brms.client.modeldriven.brxml.DSLSentence;
-import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
 
 import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.Composite;
@@ -17,36 +20,118 @@
  */
 public class DSLSentenceWidget extends Composite {
 
-    private HorizontalPanel horiz = new HorizontalPanel();
-    
+    private final HorizontalPanel horiz;
+    private final List  widgets;
+    private final DSLSentence sentence;
     public DSLSentenceWidget(DSLSentence sentence) {
-        init( sentence );
+        horiz = new HorizontalPanel();
+        widgets = new ArrayList();
+        this.sentence = sentence;
+        init(  );
     }
 
-    private void init(DSLSentence sentence) {
-        for ( int i = 0; i < sentence.elements.length; i++ ) {
-            final DSLSentenceFragment el = sentence.elements[i];
-            if (!el.isEditableField) {                
-                horiz.add( new Label(el.value) );
+    private void init( ) {
+        makeWidgets(this.sentence.sentence);
+        initWidget( this.horiz );
+    }
+
+    
+    /** 
+     * This will take a DSL line item, and split it into widget thingamies for displaying.
+     * One day, if this is too complex, this will have to be done on the server side.
+     */
+    public void makeWidgets(String dslLine) {
+
+        char[] chars = dslLine.toCharArray();
+        FieldEditor currentBox = null;
+        Label currentLabel = null;
+        for ( int i = 0; i < chars.length; i++ ) {
+            char c = chars[i];
+            if (c == '{') {
+                currentLabel = null;
+                currentBox = new FieldEditor(); 
+                addWidget( currentBox );
+                
+            } else if (c == '}') {
+                currentBox.setVisibleLength( currentBox.getText().length() + 1);
+                currentBox = null;
             } else {
-                horiz.add( new HTML("&nbsp;") );
-                final TextBox box = new TextBox();
-                box.addChangeListener( new ChangeListener() {
-                    public void onChange(Widget w) {
-                      el.value = box.getText();  
-                    }
-                });
-                box.setText( el.value );
-                box.setVisibleLength( el.value.length() );
-                horiz.add( box );
-                horiz.add( new HTML("&nbsp;") );
+                if (currentBox == null && currentLabel == null) {
+                    currentLabel = new Label();
+                    addWidget( currentLabel );
+                }
+                if (currentLabel != null) {
+                    currentLabel.setText( currentLabel.getText() + c );
+                } else if (currentBox != null) {
+                    currentBox.setText( currentBox.getText() + c );
+                }
+                
             }
         }
         
-        initWidget( this.horiz );
     }
 
+    private void addWidget(Widget currentBox) {
+        this.horiz.add( currentBox );
+        widgets.add( currentBox );
+    }    
     
     
+    /**
+     * This will go through the widgets and build up a sentence.
+     */
+    protected void updateSentence() {
+        String newSentence = "";
+        for ( Iterator iter = widgets.iterator(); iter.hasNext(); ) {
+            Widget wid = (Widget) iter.next();
+            if (wid instanceof Label) {
+                newSentence = newSentence + ((Label) wid).getText();
+            } else if (wid instanceof FieldEditor) {
+                newSentence = newSentence + " {" + ((FieldEditor) wid).getText() + "} ";
+            }
+        }
+        this.sentence.sentence = newSentence.trim();
+        
+    }    
     
+    class FieldEditor extends Composite {
+
+        private TextBox box;
+        private HorizontalPanel panel = new HorizontalPanel();
+        
+        public FieldEditor() {
+            box = new TextBox();
+            box.setStyleName( "dsl-field-TextBox" );
+            
+            panel.add( new HTML("&nbsp;") );
+            panel.add( box );
+            panel.add( new HTML("&nbsp;") );
+            
+            box.addChangeListener( new ChangeListener() {
+                public void onChange(Widget w) {
+                    updateSentence();
+                }                
+            });
+            
+            initWidget( panel );
+        }
+        
+        
+
+
+
+        public void setText(String t) {
+            box.setText( t );
+        }
+        
+        public void setVisibleLength(int l) {
+            box.setVisibleLength( l );
+        }
+        
+        public String getText() {
+            return box.getText();
+        }
+    }    
+    
+    
 }

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-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -280,7 +280,7 @@
     }
     
     protected void addNewDSLLhs(DSLSentence sentence) {
-        model.addLhsItem( sentence );
+        model.addLhsItem( sentence.copy() );
         refreshWidget();
         
     }
@@ -434,7 +434,7 @@
     }
 
     protected void addNewDSLRhs(DSLSentence sentence) {
-        this.model.addRhsItem( sentence );
+        this.model.addRhsItem( sentence.copy() );
         refreshWidget();        
     }
 

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/rules/SuggestionCompletionLoader.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -101,7 +101,12 @@
                     DSLMapping mapping = file.getMapping();
                     for ( Iterator entries = mapping.getEntries().iterator(); entries.hasNext(); ) {
                         DSLMappingEntry entry = (DSLMappingEntry) entries.next();
-                        builder.addDSLSentence( entry.getMappingKey() );
+                        if (entry.getSection() == DSLMappingEntry.CONDITION) {
+                            builder.addDSLConditionSentence( entry.getMappingKey() );
+                        } else if (entry.getSection() == DSLMappingEntry.CONSEQUENCE) {
+                            builder.addDSLActionSentence( entry.getMappingKey() );
+                        }
+                        
                     }
                 } else {
                     errors.append( file.getErrors().toString() );

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/BRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/BRLPersistence.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/BRLPersistence.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -1,9 +1,8 @@
 package org.drools.brms.server.util;
 
 import org.drools.brms.client.modeldriven.brxml.ActionAssertFact;
-import org.drools.brms.client.modeldriven.brxml.ActionFieldList;
-import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
 import org.drools.brms.client.modeldriven.brxml.ActionAssertLogicalFact;
+import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
 import org.drools.brms.client.modeldriven.brxml.ActionModifyField;
 import org.drools.brms.client.modeldriven.brxml.ActionRetractFact;
 import org.drools.brms.client.modeldriven.brxml.ActionSetField;
@@ -11,7 +10,6 @@
 import org.drools.brms.client.modeldriven.brxml.ConnectiveConstraint;
 import org.drools.brms.client.modeldriven.brxml.Constraint;
 import org.drools.brms.client.modeldriven.brxml.DSLSentence;
-import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
 import org.drools.brms.client.modeldriven.brxml.FactPattern;
 import org.drools.brms.client.modeldriven.brxml.RuleAttribute;
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
@@ -40,14 +38,14 @@
         xt.alias( "assert", ActionAssertFact.class );
         xt.alias( "modify", ActionModifyField.class );
         xt.alias( "setField", ActionSetField.class );
-        xt.alias( "dslExpression", DSLSentence.class );
+        xt.alias( "dslSentence", DSLSentence.class );
         xt.alias( "compositePattern", CompositeFactPattern.class );
         xt.alias( "attribute", RuleAttribute.class );
 
         xt.alias( "fieldValue", ActionFieldValue.class );
         xt.alias( "connectiveConstraint", ConnectiveConstraint.class );
         xt.alias( "constraint", Constraint.class );
-        xt.alias( "sentenceFragment", DSLSentenceFragment.class );
+
         xt.alias( "assertLogical", ActionAssertLogicalFact.class );
 
 

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilder.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilder.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -25,7 +25,7 @@
 
 import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.brms.client.modeldriven.brxml.DSLSentence;
-import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
+import org.drools.lang.dsl.DSLMappingEntry;
 
 /**
  * A builder to incrementally populate a SuggestionCompletionEngine
@@ -57,7 +57,8 @@
     private Map                        fieldsForType = new HashMap();
     private Map                        fieldTypes    = new HashMap();
     private Map                        globalTypes   = new HashMap();
-    private List                       dslSentences  = new ArrayList();
+    private List                       actionDSLSentences  = new ArrayList();
+    private List                       conditionDSLSentences  = new ArrayList();
 
     public SuggestionCompletionEngineBuilder() {
     }
@@ -71,7 +72,8 @@
         this.fieldsForType = new HashMap();
         this.fieldTypes = new HashMap();
         this.globalTypes = new HashMap();
-        this.dslSentences = new ArrayList();
+        this.actionDSLSentences = new ArrayList();
+        this.conditionDSLSentences = new ArrayList();
     }
 
     /**
@@ -127,41 +129,23 @@
     }
 
     /**
-     * Adds a DSL Sentence to the engine, splitting it into
-     * chunks of editable and non-editable text
-     *  
-     * @param sentence
+     * Add a DSL sentence for an action.
      */
-    public void addDSLSentence(String sentence) {
-        // splitting the sentence in fragments
-        Matcher m = splitter.matcher( sentence );
-        int lastEnd = 0;
-        List fragments = new ArrayList();
-
-        while ( m.find() ) {
-            if ( m.start( 2 ) > lastEnd ) {
-                // if there is anything after last match and before the current one, add
-                // a non-editable fragment
-                fragments.add( new DSLSentenceFragment( sentence.substring( lastEnd,
-                                                                            m.start( 2 ) ).replaceAll( "\\\\([\\{\\}])",
-                                                                                                       "$1" ),
-                                                        false ) );
-            }
-            // add the editable fragment
-            fragments.add( new DSLSentenceFragment( m.group( 2 ),
-                                                    true ) );
-            lastEnd = m.end( 2 );
-        }
-        if ( lastEnd < sentence.length() ) {
-            // if there is anything after the last match, add as a non-editable fragment
-            fragments.add( new DSLSentenceFragment( sentence.substring( lastEnd ),
-                                                    false ) );
-        }
-
+    public void addDSLActionSentence(String sentence) {
         DSLSentence sen = new DSLSentence();
-        sen.elements = (DSLSentenceFragment[]) fragments.toArray( new DSLSentenceFragment[fragments.size()] );
-        this.dslSentences.add( sen );
+        sen.sentence = sentence;
+        this.actionDSLSentences.add( sen );
     }
+    
+    /**
+     * Add a DSL sentence for a condition.
+     */
+    public void addDSLConditionSentence(String sentence) {
+        DSLSentence sen = new DSLSentence();
+        sen.sentence = sentence;
+        this.conditionDSLSentences.add( sen );
+    }
+    
 
     /**
      * Returns a SuggestionCompletionEngine instance populated with 
@@ -174,7 +158,8 @@
         this.instance.fieldsForType = this.fieldsForType;
         this.instance.fieldTypes = this.fieldTypes;
         this.instance.globalTypes = this.globalTypes;
-        this.instance.actionDSLSentences = (DSLSentence[]) this.dslSentences.toArray( new DSLSentence[this.dslSentences.size()] );
+        this.instance.actionDSLSentences = (DSLSentence[]) this.actionDSLSentences.toArray( new DSLSentence[this.actionDSLSentences.size()] );
+        this.instance.conditionDSLSentences = (DSLSentence[]) this.conditionDSLSentences.toArray( new DSLSentence[this.conditionDSLSentences.size()] );
         return this.instance;
     }
 

Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/DSLSentenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/DSLSentenceTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/DSLSentenceTest.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -0,0 +1,24 @@
+package org.drools.brms.client.modeldriven;
+
+import org.drools.brms.client.modeldriven.brxml.DSLSentence;
+
+import junit.framework.TestCase;
+
+public class DSLSentenceTest extends TestCase {
+
+    
+    public void testSentence() {
+        
+        DSLSentence sen = new DSLSentence();
+        sen.sentence = "this is {something} here and {here}";
+        assertEquals("this is something here and here", sen.toString());
+        
+        sen.sentence = "foo bar";
+        assertEquals("foo bar", sen.toString());
+        
+        DSLSentence newOne = sen.copy();
+        assertFalse(newOne == sen);
+        assertEquals(newOne.sentence, sen.sentence);
+    }
+    
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/DSLSentenceTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/rules/SuggestionCompletionLoaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/rules/SuggestionCompletionLoaderTest.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/rules/SuggestionCompletionLoaderTest.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -1,7 +1,9 @@
 package org.drools.brms.server.rules;
 
+import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.brms.server.SessionHelper;
+import org.drools.repository.AssetItem;
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepository;
 
@@ -64,4 +66,27 @@
         assertEquals( SuggestionCompletionEngine.TYPE_COMPARABLE, fieldType );
     }
     
+    public void testLoadDSLs() throws Exception {
+        String dsl = "[when]The agents rating is {rating}=doNothing()\n[then]Send a notification to manufacturing '{message}'=foo()";
+        RulesRepository repo = new RulesRepository(SessionHelper.getSession());
+        PackageItem item = repo.createPackage( "testLoadDSLs", "to test the loader for DSLs" );
+        AssetItem asset = item.addAsset( "mydsl", "" );
+        asset.updateFormat( AssetFormats.DSL );
+        asset.updateContent( dsl );
+        asset.checkin( "ok" );
+        
+        item = repo.loadPackage( "testLoadDSLs" );
+        SuggestionCompletionLoader loader = new SuggestionCompletionLoader();
+        SuggestionCompletionEngine eng = loader.getSuggestionEngine( item );
+        assertEquals(1, eng.actionDSLSentences.length);
+        assertEquals(1, eng.conditionDSLSentences.length);
+        
+        assertEquals( "The agents rating is {rating}", eng.conditionDSLSentences[0].sentence );
+        assertEquals("Send a notification to manufacturing '{message}'",eng.actionDSLSentences[0].sentence);
+        
+        
+        
+        
+    }
+    
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/BRLPersitenceTest.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -6,11 +6,9 @@
 import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
 import org.drools.brms.client.modeldriven.brxml.ActionModifyField;
 import org.drools.brms.client.modeldriven.brxml.ActionRetractFact;
-import org.drools.brms.client.modeldriven.brxml.ActionSetField;
 import org.drools.brms.client.modeldriven.brxml.CompositeFactPattern;
 import org.drools.brms.client.modeldriven.brxml.Constraint;
 import org.drools.brms.client.modeldriven.brxml.DSLSentence;
-import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
 import org.drools.brms.client.modeldriven.brxml.FactPattern;
 import org.drools.brms.client.modeldriven.brxml.RuleAttribute;
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
@@ -109,12 +107,10 @@
         m.addRhsItem( ret );
         
         DSLSentence sen = new DSLSentence();
-        sen.elements = new DSLSentenceFragment[2];
-        sen.elements[0] = new DSLSentenceFragment("Send an email to", false);
-        sen.elements[1] = new DSLSentenceFragment("administrator", true);
+        sen.sentence = "Send an email to {administrator}";
+
         
         
-        
         m.addRhsItem( sen );
         return m;
     }

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilderTest.java	2007-03-14 03:10:16 UTC (rev 10170)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/SuggestionCompletionEngineBuilderTest.java	2007-03-14 12:10:04 UTC (rev 10171)
@@ -1,15 +1,11 @@
 package org.drools.brms.server.util;
 
-import java.util.HashMap;
-import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import junit.framework.TestCase;
 
 import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brxml.DSLSentence;
-import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
 
 public class SuggestionCompletionEngineBuilderTest extends TestCase {
     SuggestionCompletionEngineBuilder builder = new SuggestionCompletionEngineBuilder();
@@ -25,24 +21,17 @@
 
     public void testAddDSLSentence() {
         String input = "{This} is a {pattern} considered pretty \\{{easy}\\} by most \\{people\\}. What do you {say}?";
-        String[] strFrags = new String[] {"{This}", " is a ", "{pattern}", " considered pretty {", "{easy}", "} by most {people}. What do you ", "{say}", "?"};
-        boolean[] editable = new boolean[] { true, false, true, false, true, false, true, false };
-        builder.addDSLSentence( input );
-
+        builder.addDSLActionSentence(  input );
+        builder.addDSLConditionSentence( "foo bar" );
         SuggestionCompletionEngine engine = builder.getInstance();
 
         assertEquals( 1,
                       engine.actionDSLSentences.length );
-        DSLSentenceFragment[] fragments = engine.actionDSLSentences[0].elements;
-        assertEquals( 8,
-                      fragments.length );
-        for( int i = 0; i < 8; i++ ) {
-            assertEquals( strFrags[i],
-                          fragments[i].value );
-            assertEquals( editable[i],
-                          fragments[i].isEditableField );
-        }
+        assertEquals( 1,
+                      engine.conditionDSLSentences.length );
+        
 
+
     }
     
     public void testPattern() {




More information about the jboss-svn-commits mailing list