[jboss-svn-commits] JBL Code SVN: r13394 - in labs/jbossrules/trunk/drools-jbrms/src: test/java/org/drools/brms/server/builder and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 12 03:11:41 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-07-12 03:11:41 -0400 (Thu, 12 Jul 2007)
New Revision: 13394

Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/BRMSPackageBuilderTest.java
Log:
optional ability to set BRMS compiler to ECLIPSE (default is JANINO)

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java	2007-07-12 06:51:42 UTC (rev 13393)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/builder/BRMSPackageBuilder.java	2007-07-12 07:11:41 UTC (rev 13394)
@@ -51,6 +51,9 @@
     private List<DSLMappingFile> dslFiles;
     private DefaultExpander expander;
     
+    /** the default compiler. This is nominally JANINO but can be overridden by setting drools.compiler to ECLIPSE */
+    static int COMPILER = getPreferredBRMSCompiler();
+    
     /**
      * This will give you a fresh new PackageBuilder 
      * using the given classpath.
@@ -80,13 +83,26 @@
 
         PackageBuilderConfiguration config = new PackageBuilderConfiguration();
         config.setClassLoader( loader );
-        config.setCompiler( PackageBuilderConfiguration.JANINO );
+        config.setCompiler( COMPILER );
 
         return new BRMSPackageBuilder( config );
 
     }
 
     /**
+     * This will return the preferred compiler, according to the System property
+     * drools.compiler (JANINO|ECLIPSE) - default is JANINO due to classpath issues
+     * mainly in tomcat, grrr... 
+     */
+    static int getPreferredBRMSCompiler() {
+        if (System.getProperty( "drools.compiler", "JANINO" ).equals( "ECLIPSE" )) {
+            return PackageBuilderConfiguration.ECLIPSE;
+        } else {
+            return PackageBuilderConfiguration.JANINO;
+        }
+    }
+
+    /**
      * In the BRMS you should not need to use this, use the getInstance factory method instead.
      * @param config
      */

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/BRMSPackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/BRMSPackageBuilderTest.java	2007-07-12 06:51:42 UTC (rev 13393)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/builder/BRMSPackageBuilderTest.java	2007-07-12 07:11:41 UTC (rev 13394)
@@ -105,6 +105,14 @@
         assertNotNull(builder.getDSLExpander());
     }
     
+    public void testDefaultCompiler() {
+        assertEquals(PackageBuilderConfiguration.JANINO, BRMSPackageBuilder.COMPILER);
+        assertEquals(PackageBuilderConfiguration.JANINO, BRMSPackageBuilder.getPreferredBRMSCompiler());
+        System.setProperty( "drools.compiler", "ECLIPSE" );
+        assertEquals(PackageBuilderConfiguration.ECLIPSE, BRMSPackageBuilder.getPreferredBRMSCompiler());
+        System.setProperty( "drools.compiler", "" );
+        assertEquals(PackageBuilderConfiguration.JANINO, BRMSPackageBuilder.getPreferredBRMSCompiler());
+    }
 
     
     




More information about the jboss-svn-commits mailing list