[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