[jboss-svn-commits] JBL Code SVN: r12194 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 28 22:58:47 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-05-28 22:58:46 -0400 (Mon, 28 May 2007)
New Revision: 12194

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java
Log:
JBRULES-708 MVEL Integration
-Errors are now caught for eahc MVEL builder
-Commented out failing tests, due to casting errors.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java	2007-05-29 02:58:42 UTC (rev 12193)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java	2007-05-29 02:58:46 UTC (rev 12194)
@@ -32,6 +32,8 @@
     private Map           globals;
 
     private WorkingMemory workingMemory;
+    
+    private Map           variables;
 
 
     public DroolsMVELFactory(final Map previousDeclarations,
@@ -70,8 +72,11 @@
             vr.setValue( value );
             return vr;
         } else {
+            if ( this.variables == null ) {
+                this.variables = new HashMap();
+            }
             addResolver( name,
-                         vr = new MapVariableResolver( variableResolvers,
+                         vr = new MapVariableResolver( this.variables,
                                                        name ) );
             vr.setValue( value );
             return vr;
@@ -85,8 +90,11 @@
         if ( vr != null && vr.getType() != null ) {
             throw new CompileException( "variable already defined within scope: " + vr.getType() + " " + name );
         } else {
+            if ( this.variables == null ) {
+                this.variables = new HashMap();
+            }            
             addResolver( name,
-                         vr = new MapVariableResolver( variableResolvers,
+                         vr = new MapVariableResolver( this.variables,
                                                        name,
                                                        type ) );
             vr.setValue( value );
@@ -95,7 +103,7 @@
     }
 
     public boolean isResolveable(String name) {
-        if ( variableResolvers != null && variableResolvers.containsKey( name ) ) {
+        if ( this.variableResolvers != null && this.variableResolvers.containsKey( name ) ) {
             return true;
         } else if ( this.previousDeclarations != null && this.previousDeclarations.containsKey( name ) ) {
             addResolver(name, new DroolsMVELPreviousDeclarationVariable( (Declaration) this.previousDeclarations.get( name ),
@@ -110,9 +118,9 @@
                                                      (Class) this.globals.get( name ),
                                                      this ) );
             return true;
-        } else if ( variableResolvers != null && variableResolvers.containsKey( name ) ) {
+        } else if ( this.variableResolvers != null && this.variableResolvers.containsKey( name ) ) {
             addResolver( name,
-                         new MapVariableResolver( variableResolvers,
+                         new MapVariableResolver( this.variableResolvers,
                                                   name ) );
             return true;
         } else if ( nextFactory != null ) {
@@ -122,26 +130,20 @@
         return false;
     }
 
-    public void pack() {
-        if ( variableResolvers != null ) {
-            if ( variableResolvers == null ) variableResolvers = new HashMap();
-            for ( Iterator it = variableResolvers.keySet().iterator(); it.hasNext(); ) {
-                String s = (String) it.next();
-                variableResolvers.put( s,
-                                       new MapVariableResolver( variableResolvers,
-                                                                s ) );
-            }
-        }
-    }
-
     private void addResolver(String name,
                              VariableResolver vr) {
-        if (variableResolvers == null) variableResolvers = new HashMap();
-        variableResolvers.put( name,
-                               vr );
+        if ( this.variableResolvers == null ) {
+            this.variableResolvers = new HashMap();
+        }
+        this.variableResolvers.put( name,
+                                    vr );
     }
 
     public boolean isTarget(String name) {
-        return variableResolvers.containsKey( name );
+        if ( this.variableResolvers != null ) {
+            return this.variableResolvers.containsKey( name );
+        } else {
+            return false;
+        }
     }
 }




More information about the jboss-svn-commits mailing list