[jboss-svn-commits] JBL Code SVN: r13321 - in labs/jbossrules/trunk/drools-compiler/src/main/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
Tue Jul 10 18:36:55 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-07-10 18:36:55 -0400 (Tue, 10 Jul 2007)
New Revision: 13321
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
Log:
-accessors now work, by putting MVEL into dynamic mode.
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java 2007-07-10 21:49:59 UTC (rev 13320)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java 2007-07-10 22:36:55 UTC (rev 13321)
@@ -61,6 +61,7 @@
import org.drools.rule.RuleConditionElement;
import org.drools.rule.VariableConstraint;
import org.drools.rule.VariableRestriction;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
import org.drools.spi.Constraint;
import org.drools.spi.Evaluator;
import org.drools.spi.FieldExtractor;
@@ -313,7 +314,11 @@
// it is a complex expression, so we need to turn it into an MVEL predicate
Dialect dialect = context.getDialect();
// switch to MVEL dialect
- context.setDialect( context.getDialect( "mvel" ) );
+ MVELDialect mvelDialect = ( MVELDialect ) context.getDialect( "mvel" );
+ boolean strictMode = mvelDialect.isStrictMode();
+ mvelDialect.setStrictMode( false );
+
+ context.setDialect( mvelDialect );
PredicateDescr predicateDescr = new PredicateDescr();
DrlDumper dumper = new DrlDumper();
@@ -325,6 +330,7 @@
predicateDescr,
container );
+ mvelDialect.setStrictMode( strictMode );
// fall back to original dialect
context.setDialect( dialect );
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-07-10 21:49:59 UTC (rev 13320)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2007-07-10 22:36:55 UTC (rev 13321)
@@ -87,6 +87,8 @@
private final StaticMethodImportResolverFactory staticImportFactory;
private final ClassImportResolverFactory importFactory;
+
+ private boolean strictMode;
public void addFunction(FunctionDescr functionDescr,
TypeResolver typeResolver) {
@@ -104,6 +106,7 @@
this.configuration = builder.getPackageBuilderConfiguration();
this.typeResolver = builder.getTypeResolver();
this.classFieldExtractorCache = builder.getClassFieldExtractorCache();
+ this.strictMode = true;
this.analyzer = new MVELExprAnalyzer();
@@ -223,7 +226,15 @@
public ClassImportResolverFactory getClassImportResolverFactory() {
return this.importFactory;
}
+
+ public boolean isStrictMode() {
+ return strictMode;
+ }
+ public void setStrictMode(boolean strictMode) {
+ this.strictMode = strictMode;
+ }
+
public void compileAll() {
}
@@ -297,7 +308,9 @@
null,
null );
- parserContext.setStrictTypeEnforcement( true );
+ //this.configuration.get
+
+ parserContext.setStrictTypeEnforcement( strictMode );
if ( interceptors != null ) {
parserContext.setInterceptors( interceptors );
}
More information about the jboss-svn-commits
mailing list