[jboss-svn-commits] JBL Code SVN: r30948 - 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 Jan 5 14:05:51 EST 2010
Author: mark.proctor at jboss.com
Date: 2010-01-05 14:05:51 -0500 (Tue, 05 Jan 2010)
New Revision: 30948
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
Log:
JBRULES-2392 MVEL should only resolve used declarations
-added a fix for implicit bindings
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 2010-01-05 18:15:48 UTC (rev 30947)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java 2010-01-05 19:05:51 UTC (rev 30948)
@@ -585,12 +585,13 @@
// Set<String> usedIdentifiers = new HashSet<String>( list[0] );
- HashSet set = new HashSet( list[0] );
+ HashSet boundSet = new HashSet( list[0] );
+ HashSet implicitSet = new HashSet( analysis.getIdentifiers() );
List<Declaration> usedDeclrs = new ArrayList<Declaration>();
if ( previousDeclarations != null ) {
for ( Declaration declr : previousDeclarations ) {
- if ( set.contains( declr.getIdentifier() )) {
+ if ( boundSet.contains( declr.getIdentifier() )) {
usedDeclrs.add( declr );
resolvedInputs.put( declr.getIdentifier(),
declr.getExtractor().getExtractToClass() );
@@ -602,11 +603,15 @@
if ( localDeclarations != null ) {
usedDeclrs.clear();
for ( Declaration declr : localDeclarations ) {
- if ( set.contains( declr.getIdentifier() )) {
+ if ( boundSet.contains( declr.getIdentifier() )) {
usedDeclrs.add( declr );
resolvedInputs.put( declr.getIdentifier(),
declr.getExtractor().getExtractToClass() );
- }
+ } else if ( implicitSet.contains( declr.getIdentifier() )) {
+ usedDeclrs.add( declr );
+ resolvedInputs.put( declr.getIdentifier(),
+ declr.getExtractor().getExtractToClass() );
+ }
}
localDeclarations = usedDeclrs.toArray( new Declaration[usedDeclrs.size()]);
}
More information about the jboss-svn-commits
mailing list