[jboss-svn-commits] JBL Code SVN: r18414 - in labs/jbossrules/trunk/drools-compiler: src/main/java/org/drools/compiler and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 8 08:02:50 EST 2008


Author: mark.proctor at jboss.com
Date: 2008-02-08 08:02:50 -0500 (Fri, 08 Feb 2008)
New Revision: 18414

Modified:
   labs/jbossrules/trunk/drools-compiler/.classpath
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
Log:
JBRULES-720 Clips Parser
-Factory added to hold MVEL functions is not serializable, so changed it to Externalizable.

Modified: labs/jbossrules/trunk/drools-compiler/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-compiler/.classpath	2008-02-08 13:02:34 UTC (rev 18413)
+++ labs/jbossrules/trunk/drools-compiler/.classpath	2008-02-08 13:02:50 UTC (rev 18414)
@@ -5,12 +5,12 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-alpha2-dp3-java1.5/mvel-2.0-alpha2-dp3-java1.5.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-alpha2-dp3-java1.5/mvel-2.0-alpha2-dp3-java1.5.jar"/>
   <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java	2008-02-08 13:02:34 UTC (rev 18413)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/Dialect.java	2008-02-08 13:02:50 UTC (rev 18414)
@@ -146,4 +146,7 @@
 
     }
 
+	void postCompileAddFunction(FunctionDescr functionDescr,
+								TypeResolver typeResolver);
+
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2008-02-08 13:02:34 UTC (rev 18413)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2008-02-08 13:02:50 UTC (rev 18414)
@@ -302,6 +302,11 @@
 
                 // We need to compile all the functions now, so scripting languages like mvel can find them
                 this.dialectRegistry.compileAll();
+                
+                for ( final Iterator it = packageDescr.getFunctions().iterator(); it.hasNext(); ) {
+                	FunctionDescr functionDescr = (FunctionDescr) it.next();
+                    postCompileAddFunction( functionDescr );
+                }                
             }
 
             // iterate and compile
@@ -391,6 +396,10 @@
         this.dialect.addFunction( functionDescr,
                                   getTypeResolver() );
     }
+    
+    private void postCompileAddFunction(final FunctionDescr functionDescr) {
+        this.dialect.postCompileAddFunction( functionDescr, getTypeResolver() );
+    }
 
     private void addFactTemplate(final FactTemplateDescr factTemplateDescr) {
         final List fields = new ArrayList();

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2008-02-08 13:02:34 UTC (rev 18413)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2008-02-08 13:02:50 UTC (rev 18414)
@@ -572,13 +572,17 @@
         mapping.setStartLine( functionDescr.getLine() );
         mapping.setOffset( functionDescr.getOffset() );
         this.pkg.getDialectDatas().getLineMappings().put( functionClassName,
-                                                          mapping );
+                                                          mapping );      
+    }
+    
+	public void postCompileAddFunction(FunctionDescr functionDescr,
+			TypeResolver typeResolver) {
+        final String functionClassName = this.pkg.getName() + "." + StringUtils.ucFirst( functionDescr.getName() );
         
-
         this.pkg.addStaticImport( functionClassName + "." + functionDescr.getName() );   
         
         this.packageBuilder.getDialectRegistry().addStaticImport( functionClassName + "." + functionDescr.getName() );
-    }
+	}    
 
     /**
      * This adds a compile "task" for when the compiler of

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	2008-02-08 13:02:34 UTC (rev 18413)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java	2008-02-08 13:02:50 UTC (rev 18414)
@@ -284,6 +284,11 @@
             this.data.addFunction( function );
         }
     }
+    
+	public void postCompileAddFunction(FunctionDescr functionDescr,
+			TypeResolver typeResolver) {
+		
+	}
 
     public void addImport(String importEntry) {
         if ( importEntry.endsWith( ".*" ) ) {

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java	2008-02-08 13:02:34 UTC (rev 18413)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java	2008-02-08 13:02:50 UTC (rev 18414)
@@ -435,6 +435,12 @@
             // TODO Auto-generated method stub
             return null;
         }
+
+		public void postCompileAddFunction(FunctionDescr functionDescr,
+				TypeResolver typeResolver) {
+			// TODO Auto-generated method stub
+			
+		}
     }
 
     public static class MockEvalBuilder




More information about the jboss-svn-commits mailing list