[jboss-svn-commits] JBL Code SVN: r13739 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/rule/builder/dialect/mvel and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jul 23 18:32:10 EDT 2007
Author: pombredanne
Date: 2007-07-23 18:32:10 -0400 (Mon, 23 Jul 2007)
New Revision: 13739
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
Log:
Made method delimiteExpressionas static. Removed old commented out code. Organized imports
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java 2007-07-23 22:24:06 UTC (rev 13738)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java 2007-07-23 22:32:10 UTC (rev 13739)
@@ -5,22 +5,13 @@
import java.util.Map;
import org.drools.base.mvel.DroolsMVELFactory;
-import org.drools.base.mvel.DroolsMVELKnowledgeHelper;
import org.drools.base.mvel.MVELConsequence;
import org.drools.compiler.Dialect;
import org.drools.compiler.RuleError;
import org.drools.rule.builder.ConsequenceBuilder;
import org.drools.rule.builder.RuleBuildContext;
-import org.drools.spi.KnowledgeHelper;
-import org.mvel.ASTNode;
-import org.mvel.CompiledExpression;
-import org.mvel.ExpressionCompiler;
import org.mvel.Macro;
import org.mvel.MacroProcessor;
-import org.mvel.ParserContext;
-import org.mvel.ast.WithNode;
-import org.mvel.integration.Interceptor;
-import org.mvel.integration.VariableResolverFactory;
public class MVELConsequenceBuilder
implements
@@ -69,36 +60,14 @@
try {
MVELDialect dialect = (MVELDialect) context.getDialect();
-
final DroolsMVELFactory factory = new DroolsMVELFactory( context.getDeclarationResolver().getDeclarations(),
null,
context.getPkg().getGlobals() );
-
factory.setNextFactory( dialect.getClassImportResolverFactory() );
MacroProcessor macroProcessor = new MacroProcessor();
macroProcessor.setMacros( macros );
- //MVEL: Compiler change (commented after incomming changes from r13267 port
-// String pkg = "";
-// if (context.getPkg()!= null && context.getPkg().getName()!= null
-// && context.getPkg().getName().length()>0) {
-// pkg = context.getPkg().getName()+".";
-// }
-// String sourceFile = pkg + context.getRuleDescr().getClassName();
-//
-// ParserContext parserContext = new ParserContext();
-// parserContext.setImports(dialect.getClassImportResolverFactory().getImportedClasses());
-//
-// parserContext.setInterceptors(this.interceptors);
-// parserContext.setSourceFile(sourceFile);
-// parserContext.setDebugSymbols( true );
-//
-// ExpressionCompiler parser = new ExpressionCompiler(macroProcessor.parse( delimitExpressions( (String) context.getRuleDescr().getConsequence() )));
-// CompiledExpression cExpr = parser.compile();
-//
-// final Serializable expr = cExpr;
-
String text = macroProcessor.parse( delimitExpressions( (String) context.getRuleDescr().getConsequence() ) );
Dialect.AnalysisResult analysis = dialect.analyzeBlock( context,
@@ -130,7 +99,7 @@
* Uses character based iteration which is at least an order of magnitude faster then a single
* simple regex.
*/
- public String delimitExpressions(String s) {
+ public static String delimitExpressions(String s) {
StringBuffer result = new StringBuffer();
char[] cs = s.toCharArray();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2007-07-23 22:24:06 UTC (rev 13738)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2007-07-23 22:32:10 UTC (rev 13739)
@@ -89,11 +89,11 @@
assertEquals( 5,
cheddar.getPrice() );
}
-
+
public void testKnowledgeHelper() {
-
+
}
-
+
public void testImperativeCodeError() throws Exception {
final Package pkg = new Package( "pkg1" );
final RuleDescr ruleDescr = new RuleDescr( "rule 1" );
@@ -101,7 +101,7 @@
Properties properties = new Properties();
properties.setProperty( "drools.dialect.default",
- "mvel" );
+ "mvel" );
PackageBuilderConfiguration cfg1 = new PackageBuilderConfiguration( properties );
MVELDialect mvelDialect = ( MVELDialect) cfg1.getDefaultDialect();
final PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
@@ -154,9 +154,9 @@
wm );
fail( "should throw an exception, as 'if' is not allowed" );
} catch ( Exception e) {
-
+
}
-
+
assertEquals( 10,
cheddar.getPrice() );
}
@@ -164,9 +164,9 @@
/**
* Just like MVEL command line, we can allow expressions to span lines, with optional ";"
* seperating expressions. If its needed a ";" can be thrown in, but if not, a new line is fine.
- *
+ *
* However, when in the middle of unbalanced brackets, a new line means nothing.
- *
+ *
* @throws Exception
*/
public void testLineSpanOptionalSemis() throws Exception {
@@ -174,23 +174,23 @@
String simpleEx = "foo\nbar\nbaz";
MVELConsequenceBuilder cons = new MVELConsequenceBuilder();
assertEquals( "foo;\nbar;\nbaz",
- cons.delimitExpressions( simpleEx ) );
+ MVELConsequenceBuilder.delimitExpressions( simpleEx ) );
String ex = "foo (\n bar \n)\nbar;\nyeah;\nman\nbaby";
assertEquals( "foo (\n bar \n);\nbar;\nyeah;\nman;\nbaby",
- cons.delimitExpressions( ex ) );
+ MVELConsequenceBuilder.delimitExpressions( ex ) );
ex = "foo {\n bar \n}\nbar; \nyeah;\nman\nbaby";
assertEquals( "foo {\n bar \n};\nbar; \nyeah;\nman;\nbaby",
- cons.delimitExpressions( ex ) );
+ MVELConsequenceBuilder.delimitExpressions( ex ) );
ex = "foo [\n bar \n]\nbar; x\nyeah();\nman[42]\nbaby;ca chiga;\nend";
assertEquals( "foo [\n bar \n];\nbar; x;\nyeah();\nman[42];\nbaby;ca chiga;\nend",
- cons.delimitExpressions( ex ) );
+ MVELConsequenceBuilder.delimitExpressions( ex ) );
ex = " \n\nfoo [\n bar \n]\n\n\nbar; x\n \nyeah();\nman[42]\nbaby;ca chiga;\nend";
assertEquals( " \n\nfoo [\n bar \n];\n\n\nbar; x;\n \nyeah();\nman[42];\nbaby;ca chiga;\nend",
- cons.delimitExpressions( ex ) );
+ MVELConsequenceBuilder.delimitExpressions( ex ) );
}
}
More information about the jboss-svn-commits
mailing list