[jboss-svn-commits] JBL Code SVN: r23553 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/guvnor/server/rules and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 22 20:25:04 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-10-22 20:25:03 -0400 (Wed, 22 Oct 2008)
New Revision: 23553

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilderTest.java
Log:
DSLs loading up other expression scopes

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2008-10-22 20:03:05 UTC (rev 23552)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2008-10-23 00:25:03 UTC (rev 23553)
@@ -103,14 +103,16 @@
      */
     public DSLSentence[]          conditionDSLSentences  = new DSLSentence[0];
     public DSLSentence[]          actionDSLSentences     = new DSLSentence[0];
+    public DSLSentence[] 		  keywordDSLItems 	     = new DSLSentence[0];
+    public DSLSentence[] 		  anyScopeDSLItems 	     = new DSLSentence[0];
 
 
-
     /**
      * This is used to calculate what fields an enum list may depend on. Optional.
      */
 	private transient Map dataEnumLookupFields;
 
+
     //    /**
     //     * For bulk loading up the data (from a previous rule save)
     //     *

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java	2008-10-22 20:03:05 UTC (rev 23552)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java	2008-10-23 00:25:03 UTC (rev 23553)
@@ -237,6 +237,10 @@
                     this.builder.addDSLConditionSentence( entry.getSentence() );
                 } else if ( entry.getSection() == DSLMappingEntry.CONSEQUENCE ) {
                     this.builder.addDSLActionSentence( entry.getSentence() );
+                } else if ( entry.getSection() == DSLMappingEntry.KEYWORD) {
+                	this.builder.addDSLMapping(entry);
+                } else if (entry.getSection() == DSLMappingEntry.ANY) {
+
                 }
             }
         }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilder.java	2008-10-22 20:03:05 UTC (rev 23552)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilder.java	2008-10-23 00:25:03 UTC (rev 23553)
@@ -23,6 +23,8 @@
 
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
+import org.drools.lang.dsl.AbstractDSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry;
 
 /**
  * A builder to incrementally populate a SuggestionCompletionEngine
@@ -39,6 +41,8 @@
     private Map                        globalTypes           = new HashMap();
     private List                       actionDSLSentences    = new ArrayList();
     private List                       conditionDSLSentences = new ArrayList();
+    private List                       keywordDSLItems = new ArrayList();
+    private List                       anyScopeDSLItems = new ArrayList();
 
     public SuggestionCompletionEngineBuilder() {
     }
@@ -55,6 +59,8 @@
         this.globalTypes = new HashMap();
         this.actionDSLSentences = new ArrayList();
         this.conditionDSLSentences = new ArrayList();
+        this.keywordDSLItems = new ArrayList();
+        this.anyScopeDSLItems = new ArrayList();
     }
 
     /**
@@ -151,12 +157,33 @@
         this.instance.modifiers = this.modifiersForType;
         this.instance.fieldTypes = this.fieldTypes;
         this.instance.globalTypes = this.globalTypes;
-        this.instance.actionDSLSentences = (DSLSentence[]) this.actionDSLSentences.toArray( new DSLSentence[this.actionDSLSentences.size()] );
-        this.instance.conditionDSLSentences = (DSLSentence[]) this.conditionDSLSentences.toArray( new DSLSentence[this.conditionDSLSentences.size()] );
+        this.instance.actionDSLSentences = makeArray(this.actionDSLSentences);
+        this.instance.conditionDSLSentences = makeArray(this.conditionDSLSentences);
+        this.instance.keywordDSLItems = makeArray(this.keywordDSLItems);
+        this.instance.anyScopeDSLItems = makeArray(this.anyScopeDSLItems);
         return this.instance;
     }
 
+	private DSLSentence[] makeArray(List ls) {
+		return (DSLSentence[]) ls.toArray( new DSLSentence[this.conditionDSLSentences.size()] );
+	}
 
+	public void addDSLMapping(AbstractDSLMappingEntry entry) {
+		DSLSentence sen = new DSLSentence();
+		sen.sentence = entry.getSentence();
+		if (entry.getSection() == DSLMappingEntry.CONDITION) {
+			this.conditionDSLSentences.add(sen);
+		} else if (entry.getSection() == DSLMappingEntry.CONSEQUENCE) {
+			this.actionDSLSentences.add(sen);
+		} else if (entry.getSection() == DSLMappingEntry.KEYWORD) {
+			this.keywordDSLItems.add(sen);
+		} else if (entry.getSection() == DSLMappingEntry.ANY) {
+			this.anyScopeDSLItems.add(sen);
+		}
 
+	}
 
+
+
+
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilderTest.java	2008-10-22 20:03:05 UTC (rev 23552)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/SuggestionCompletionEngineBuilderTest.java	2008-10-23 00:25:03 UTC (rev 23553)
@@ -1,9 +1,16 @@
 package org.drools.guvnor.server.util;
 
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
 import junit.framework.TestCase;
 
 import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.guvnor.server.util.SuggestionCompletionEngineBuilder;
+import org.drools.lang.dsl.AbstractDSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry.Section;
 
 public class SuggestionCompletionEngineBuilderTest extends TestCase {
     SuggestionCompletionEngineBuilder builder = new SuggestionCompletionEngineBuilder();
@@ -23,11 +30,35 @@
         this.builder.addDSLConditionSentence( "foo bar" );
         final SuggestionCompletionEngine engine = this.builder.getInstance();
 
-        assertEquals( 1,
-                      engine.actionDSLSentences.length );
-        assertEquals( 1,
-                      engine.conditionDSLSentences.length );
+        assertEquals( 1, engine.actionDSLSentences.length );
+        assertEquals( 1, engine.conditionDSLSentences.length );
 
     }
 
+    public void testAddSentenceMultipleTypes() {
+    	this.builder.addDSLMapping(new DSLMap(DSLMappingEntry.CONDITION, "cond"));
+    	this.builder.addDSLMapping(new DSLMap(DSLMappingEntry.CONSEQUENCE, "cons"));
+    	this.builder.addDSLMapping(new DSLMap(DSLMappingEntry.ANY, "any"));
+    	this.builder.addDSLMapping(new DSLMap(DSLMappingEntry.KEYWORD, "key"));
+
+        final SuggestionCompletionEngine engine = this.builder.getInstance();
+
+        assertEquals( 1, engine.actionDSLSentences.length );
+        assertEquals( 1, engine.conditionDSLSentences.length );
+        assertEquals( 1, engine.keywordDSLItems.length );
+        assertEquals( 1, engine.anyScopeDSLItems.length );
+
+
+        assertEquals("cond", engine.conditionDSLSentences[0].sentence);
+
+
+    }
+
+    class DSLMap extends AbstractDSLMappingEntry {
+    	DSLMap(Section sec, String sentence) {
+    		this.section = sec;
+    		this.sentence = sentence;
+    	}
+    }
+
 }




More information about the jboss-svn-commits mailing list