[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