[jboss-svn-commits] JBL Code SVN: r15871 - labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 17 02:18:14 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-10-17 02:18:14 -0400 (Wed, 17 Oct 2007)
New Revision: 15871

Modified:
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java
Log:
some test code for MVEL in rule tests

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java	2007-10-17 06:17:41 UTC (rev 15870)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/ContentPackageAssemblerTest.java	2007-10-17 06:18:14 UTC (rev 15871)
@@ -18,7 +18,10 @@
 
 
 import java.io.InputStream;
+import java.io.StringReader;
+import java.util.List;
 import java.util.Map;
+import java.util.jar.JarInputStream;
 
 import junit.framework.TestCase;
 
@@ -38,11 +41,13 @@
 import org.drools.brms.server.selector.SelectorManager;
 import org.drools.brms.server.util.BRXMLPersistence;
 import org.drools.brms.server.util.TestEnvironmentSessionHelper;
+import org.drools.compiler.PackageBuilder;
 import org.drools.repository.AssetItem;
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepository;
 import org.drools.rule.Package;
 import org.drools.ruleflow.core.RuleFlowProcess;
+import org.mvel.MVEL;
 
 /**
  * This will unit test package assembly into a binary.
@@ -170,6 +175,26 @@
         assertNotNull(flow);
         assertTrue(flow instanceof RuleFlowProcess);
 
+        //now check we can do some MVEL stuff from the classloader...
+        List<JarInputStream> jars = BRMSPackageBuilder.getJars( pkg );
+        PackageBuilder builder = BRMSPackageBuilder.getInstance( jars );
+        ClassLoader newCL = builder.getPackageBuilderConfiguration().getClassLoader();
+        ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
+
+        //set the CL for the current thread so MVEL can find it
+        Thread.currentThread().setContextClassLoader(newCL);
+
+        Object o = MVEL.eval("new com.billasurf.Board()");
+        assertEquals("com.billasurf.Board", o.getClass().getName());
+        System.err.println(o.toString());
+
+        Thread.currentThread().setContextClassLoader(oldCL);
+
+
+        builder.addPackageFromDrl(new StringReader("package foo\n import com.billasurf.Board"));
+        Object o2 = builder.getTypeResolver().resolveType("Board");
+        assertNotNull(o2);
+        assertEquals("com.billasurf.Board", ((Class)o2).getName());
     }
 
     public void testSimplePackageBuildNoErrors() throws Exception {




More information about the jboss-svn-commits mailing list