[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