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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 15 21:23:50 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-08-15 21:23:50 -0400 (Fri, 15 Aug 2008)
New Revision: 21573

Modified:
   labs/jbossrules/trunk/drools-clips/.classpath
   labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/ClipsShell.java
   labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ClipsShellTest.java
Log:
JBRULES-1736 Dynamically generated Types 
-Must get classloader from the rulebase root classloader now

Modified: labs/jbossrules/trunk/drools-clips/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-clips/.classpath	2008-08-16 01:14:26 UTC (rev 21572)
+++ labs/jbossrules/trunk/drools-clips/.classpath	2008-08-16 01:23:50 UTC (rev 21573)
@@ -9,7 +9,21 @@
   <classpathentry kind="src" path="/drools-compiler"/>
   <classpathentry kind="src" path="/drools-core"/>
   <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-dp4/mvel-2.0-dp4.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/antlr/antlr-runtime/3.0.1/antlr-runtime-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.1-b1/stringtemplate-3.1-b1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/gunit/1.0.1/gunit-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar"/>
+  <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0.1/antlr-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.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/janino/janino/2.5.10/janino-2.5.10.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/ClipsShell.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/ClipsShell.java	2008-08-16 01:14:26 UTC (rev 21572)
+++ labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clips/ClipsShell.java	2008-08-16 01:23:50 UTC (rev 21573)
@@ -403,7 +403,8 @@
                         context.addPackageImport( importName.substring( 0,
                                                                         importName.length() - 2 ) );
                     } else {
-                        Class cls = pkg.getDialectRuntimeRegistry().getClassLoader().loadClass( importName );
+                    	
+                        Class cls = ((InternalRuleBase)ruleBase).getRootClassLoader().loadClass( importName );
                         context.addImport( cls.getSimpleName(),
                                            (Class) cls );
                     }
@@ -418,7 +419,7 @@
         }
 
         ClassLoader tempClassLoader = Thread.currentThread().getContextClassLoader();
-        Thread.currentThread().setContextClassLoader( pkg.getPackageScopeClassLoader() );
+        Thread.currentThread().setContextClassLoader( ((InternalRuleBase)ruleBase).getRootClassLoader() );
         
         ExpressionCompiler expr = new ExpressionCompiler( appendable.toString() );
         Serializable executable = expr.compile( context );

Modified: labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ClipsShellTest.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ClipsShellTest.java	2008-08-16 01:14:26 UTC (rev 21572)
+++ labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/clips/ClipsShellTest.java	2008-08-16 01:23:50 UTC (rev 21573)
@@ -31,6 +31,7 @@
 import org.drools.clips.functions.RunFunction;
 import org.drools.clips.functions.SetFunction;
 import org.drools.clips.functions.SwitchFunction;
+import org.drools.common.InternalRuleBase;
 import org.drools.rule.Package;
 import org.drools.rule.Rule;
 
@@ -251,7 +252,7 @@
         this.shell.eval( "(defrule xxx (PersonTemplate (name ?name&bob) (age 30) ) (PersonTemplate  (name ?name) (age 35)) => (printout t xx \" \" (eq 1 1) ) )" );
         this.shell.eval( "(assert (PersonTemplate (name 'mike') (age 34)))" );
 
-        Class personClass = this.shell.getStatefulSession().getRuleBase().getPackage( "MAIN" ).getPackageScopeClassLoader().loadClass( "MAIN.PersonTemplate" );
+        Class personClass = ((InternalRuleBase)this.shell.getStatefulSession().getRuleBase()).getRootClassLoader().loadClass( "MAIN.PersonTemplate" );
         assertNotNull( personClass );
     }
 
@@ -287,7 +288,7 @@
                       pkg.getRules().length );
 
         WorkingMemory wm = shell.getStatefulSession();
-        Class personClass = this.shell.getStatefulSession().getRuleBase().getPackage( "MAIN" ).getPackageScopeClassLoader().loadClass( "MAIN.Person" );
+        Class personClass = ((InternalRuleBase)this.shell.getStatefulSession().getRuleBase()).getRootClassLoader().loadClass( "MAIN.Person" );
 
         Method nameMethod = personClass.getMethod( "setName",
                                                    new Class[]{String.class} );




More information about the jboss-svn-commits mailing list