[jboss-svn-commits] JBL Code SVN: r13320 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jul 10 17:49:59 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-07-10 17:49:59 -0400 (Tue, 10 Jul 2007)
New Revision: 13320

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAccumulateBuilder.java
   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/MVELDialect.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java
Log:
-added MVEL fixes for accumulate

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAccumulateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAccumulateBuilder.java	2007-07-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELAccumulateBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -139,31 +139,27 @@
             final Serializable init = dialect.compile( (String) accumDescr.getInitCode(),
                                                        initCodeAnalysis,
                                                        null,
+                                                       sourcePattern.getOuterDeclarations(),
                                                        context );
             final Serializable action = dialect.compile( (String) accumDescr.getActionCode(),
                                                          actionCodeAnalysis,
                                                          null,
+                                                         sourcePattern.getOuterDeclarations(),
                                                          context );
 
-            //            final Serializable init = MVEL.compileExpression( (String) accumDescr.getInitCode(),
-            //                                                              ((MVELDialect) context.getDialect()).getClassImportResolverFactory().getImportedClasses() );
-            //            final Serializable action = MVEL.compileExpression( (String) accumDescr.getActionCode(),
-            //                                                                ((MVELDialect) context.getDialect()).getClassImportResolverFactory().getImportedClasses() );
             Serializable reverse = null;
             if ( accumDescr.getReverseCode() != null ) {
-                //                reverse = MVEL.compileExpression( (String) accumDescr.getReverseCode(),
-                //                                                  ((MVELDialect) context.getDialect()).getClassImportResolverFactory().getImportedClasses() );
                 reverse = dialect.compile( (String) accumDescr.getReverseCode(),
                                            resultCodeAnalysis,
                                            null,
+                                           sourcePattern.getOuterDeclarations(),
                                            context );
             }
-            //            final Serializable result = MVEL.compileExpression( (String) accumDescr.getResultCode(),
-            //                                                                ((MVELDialect) context.getDialect()).getClassImportResolverFactory().getImportedClasses() );
 
             final Serializable result = dialect.compile( (String) accumDescr.getResultCode(),
                                                          resultCodeAnalysis,
                                                          null,
+                                                         sourcePattern.getOuterDeclarations(),
                                                          context );
 
             accumulator = new MVELAccumulator( factory,

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-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -86,6 +86,7 @@
             final Serializable expr = dialect.compile( text,
                                                        analysis,
                                                        dialect.getInterceptors(),
+                                                       null,
                                                        context );
 
             context.getRule().setConsequence( new MVELConsequence( expr,

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:45:58 UTC (rev 13319)
+++ 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)
@@ -30,6 +30,7 @@
 import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
+import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.rule.builder.AccumulateBuilder;
 import org.drools.rule.builder.ConsequenceBuilder;
@@ -287,6 +288,7 @@
     public Serializable compile(final String text,
                                 final Dialect.AnalysisResult analysis,
                                 final Map interceptors,
+                                final Map outerDeclarations,
                                 final RuleBuildContext context) {
         Map imports = getClassImportResolverFactory().getImportedClasses();
         imports.putAll( getStaticMethodImportResolverFactory().getImportedMethods() );
@@ -326,6 +328,14 @@
             }        
         }
         
+        if ( outerDeclarations != null ) {
+            for ( Iterator it = outerDeclarations.entrySet().iterator(); it.hasNext(); ) {
+                Entry entry = (Entry) it.next();
+                parserContext.addInput( (String)entry.getKey(),
+                                        ((Declaration) entry.getValue()).getExtractor().getExtractToClass() );
+            }
+        }
+        
         parserContext.addInput( "drools",
                                 KnowledgeHelper.class );
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java	2007-07-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -86,10 +86,14 @@
                 declarations[i] = context.getDeclarationResolver().getDeclaration( (String) usedIdentifiers[0].get( i ) );
             }
 
-            final EvalCondition eval = new EvalCondition( declarations );                        
-            
-            Serializable expr = ((MVELDialect) context.getDialect()).compile( (String) evalDescr.getContent(), analysis, null, context );
+            final EvalCondition eval = new EvalCondition( declarations );
 
+            Serializable expr = ((MVELDialect) context.getDialect()).compile( (String) evalDescr.getContent(),
+                                                                              analysis,
+                                                                              null,
+                                                                              null,
+                                                                              context );
+
             eval.setEvalExpression( new MVELEvalExpression( expr,
                                                             factory ) );
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java	2007-07-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -78,6 +78,7 @@
             final Serializable expr = dialect.compile( text,
                                                        analysis,
                                                        null,
+                                                       null,
                                                        context );
 
             dataProvider = new MVELDataProvider( expr,

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java	2007-07-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -73,7 +73,7 @@
                                                                                       predicateDescr,
                                                                                       predicateDescr.getContent() );
             
-            final Serializable expr = ((MVELDialect) context.getDialect()).compile( (String) predicateDescr.getContent(), analysis, null, context );            
+            final Serializable expr = ((MVELDialect) context.getDialect()).compile( (String) predicateDescr.getContent(), analysis, null, null, context );            
             
             predicate.setPredicateExpression( new MVELPredicateExpression( expr,
                                                                            factory ) );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java	2007-07-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -73,7 +73,7 @@
                                                                                   returnValueRestrictionDescr,
                                                                                   returnValueRestrictionDescr.getContent() );
         
-        final Serializable expr = ((MVELDialect) context.getDialect()).compile( (String) returnValueRestrictionDescr.getContent(), analysis, null, context );        
+        final Serializable expr = ((MVELDialect) context.getDialect()).compile( (String) returnValueRestrictionDescr.getContent(), analysis, null, null, context );        
         
         returnValueRestriction.setReturnValueExpression( new MVELReturnValueExpression( expr,
                                                                                         factory ) );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java	2007-07-10 21:45:58 UTC (rev 13319)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELSalienceBuilder.java	2007-07-10 21:49:59 UTC (rev 13320)
@@ -37,6 +37,7 @@
             final Serializable expr = dialect.compile( (String) context.getRuleDescr().getSalience(),
                                                                                     analysis,
                                                                                     null,
+                                                                                    null,
                                                                                     context );
 
             MVELSalienceExpression salience = new MVELSalienceExpression( expr,




More information about the jboss-svn-commits mailing list