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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 29 03:57:23 EDT 2010


Author: mark.proctor at jboss.com
Date: 2010-07-29 03:57:21 -0400 (Thu, 29 Jul 2010)
New Revision: 34282

Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactoryService.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/KnowledgeBaseFactoryServiceImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ClassPathResource.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
   labs/jbossrules/trunk/pom.xml
Log:
JBRULES-2351 OSGi ready
-Support vararg for classloaders, so multiple classloaders can be passed


Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -121,9 +121,9 @@
      *     The KnowledgeBaseConfiguration.
      */
     public static KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
-                                                                           ClassLoader classLoader) {
+                                                                           ClassLoader... classLoaders) {
         return getKnowledgeBaseFactoryService().newKnowledgeBaseConfiguration( properties,
-                                                                         classLoader );
+                                                                               classLoaders );
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactoryService.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactoryService.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactoryService.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -49,7 +49,7 @@
      *     The KnowledgeBaseConfiguration
      */
     public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
-                                                                    ClassLoader classLoader);
+                                                                    ClassLoader... classLoader);
 
     /**
      * Instantiate and return a new KnowledgeSessionConfiguration

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -44,7 +44,7 @@
      *     The KnowledgeBuilder
      */
     public static KnowledgeBuilder newKnowledgeBuilder() {
-        return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder();
+        return getKnowledgeBuilderServiceFactory().newKnowledgeBuilder();
     }
 
     /**
@@ -53,16 +53,16 @@
      *     The KnowledgeBuilder
      */
     public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
-        return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder( conf );
+        return getKnowledgeBuilderServiceFactory().newKnowledgeBuilder( conf );
     }
 
     public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
-        return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder( kbase );
+        return getKnowledgeBuilderServiceFactory().newKnowledgeBuilder( kbase );
     }
 
     public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
                                                        KnowledgeBuilderConfiguration conf) {
-        return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder( kbase,
+        return getKnowledgeBuilderServiceFactory().newKnowledgeBuilder( kbase,
                                                                   conf );
     }
 
@@ -72,7 +72,7 @@
      *     The KnowledgeBuilderConfiguration.
      */
     public static KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
-        return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilderConfiguration();
+        return getKnowledgeBuilderServiceFactory().newKnowledgeBuilderConfiguration();
     }
 
     /**
@@ -82,9 +82,9 @@
      *     The KnowledgeBuilderConfiguration.
      */
     public static KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
-                                                                                 ClassLoader classLoader) {
-        return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilderConfiguration( properties,
-                                                                               classLoader );
+                                                                                 ClassLoader... classLoaders) {
+        return getKnowledgeBuilderServiceFactory().newKnowledgeBuilderConfiguration( properties,
+                                                                                     classLoaders );
     }
 
     /**
@@ -107,12 +107,12 @@
      * @return
      */
     public static DecisionTableConfiguration newDecisionTableConfiguration() {
-        return getKnowledgeBuilderPerviceFactory().newDecisionTableConfiguration();
+        return getKnowledgeBuilderServiceFactory().newDecisionTableConfiguration();
     }
 
     public static JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
                                                          String systemId) {
-        return getKnowledgeBuilderPerviceFactory().newJaxbConfiguration(xjcOpts,
+        return getKnowledgeBuilderServiceFactory().newJaxbConfiguration(xjcOpts,
                                                                         systemId);
     }    
     
@@ -120,7 +120,7 @@
         KnowledgeBuilderFactory.factoryService = serviceFactory;
     }
 
-    private static synchronized KnowledgeBuilderFactoryService getKnowledgeBuilderPerviceFactory() {
+    private static synchronized KnowledgeBuilderFactoryService getKnowledgeBuilderServiceFactory() {
         if ( factoryService == null ) {
             loadServiceFactory();
         }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -48,7 +48,7 @@
      * @return
      */
     public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
-                                                                          ClassLoader classLoader);
+                                                                          ClassLoader... classLoader);
 
     /**
      * DecisionTables need to take a configuration of the InputType and XLS based

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -17,7 +17,7 @@
 package org.drools.util;
 
 public class ClassLoaderUtil {
-    public static CompositeClassLoader getClassLoader(final ClassLoader classLoader,
+    public static CompositeClassLoader getClassLoader(final ClassLoader[] classLoaders,
                                                       final Class< ? > cls,
                                                       final boolean enableCache) {
         ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
@@ -26,9 +26,13 @@
 
         CompositeClassLoader cl = new CompositeClassLoader( null );
 
-        if ( classLoader != null ) {
-            // the user specified classloader
-            cl.addClassLoader( classLoader );
+        if ( classLoaders != null && classLoaders.length > 0) {
+            // the user specified classloaders
+            for (ClassLoader classLoader : classLoaders ) {
+                if ( classLoader != null ) {
+                    cl.addClassLoader( classLoader );
+                }
+            }
         }
 
         if ( currentClassLoader != null ) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -22,8 +22,8 @@
         return new PackageBuilderConfiguration();
     }
     
-    public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties, ClassLoader classLoader) {
-        return new PackageBuilderConfiguration(classLoader, properties);
+    public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties, ClassLoader... classLoaders) {
+        return new PackageBuilderConfiguration(properties, classLoaders);
     }   
     
     public DecisionTableConfiguration newDecisionTableConfiguration() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -130,9 +130,9 @@
      * Constructor that sets the parent class loader for the package being built/compiled
      * @param classLoader
      */
-    public PackageBuilderConfiguration(ClassLoader classLoader) {
-        init( classLoader,
-              null );
+    public PackageBuilderConfiguration(ClassLoader... classLoaders) {
+        init( null,
+              classLoaders );
     }
 
     /**
@@ -140,8 +140,8 @@
      * @param properties
      */
     public PackageBuilderConfiguration(Properties properties) {
-        init( null,
-              properties );
+        init( properties,
+              null );
     }
 
     /**
@@ -149,10 +149,10 @@
      * @param classLoader
      * @param properties
      */
-    public PackageBuilderConfiguration(ClassLoader classLoader,
-                                       Properties properties) {
-        init( classLoader,
-              properties );
+    public PackageBuilderConfiguration(Properties properties,
+                                       ClassLoader... classLoaders) {
+        init( properties,
+              classLoaders );
     }
 
     public PackageBuilderConfiguration() {
@@ -160,9 +160,9 @@
               null );
     }
 
-    private void init(ClassLoader classLoader,
-                      Properties properties) {
-        setClassLoader( classLoader );
+    private void init(Properties properties,
+                      ClassLoader... classLoaders) {
+        setClassLoader( classLoaders );
 
         this.chainedProperties = new ChainedProperties( "packagebuilder.conf",
                                                         this.classLoader,
@@ -329,8 +329,8 @@
     }
 
     /** Use this to override the classLoader that will be used for the rules. */
-    public void setClassLoader(final ClassLoader classLoader) {
-        this.classLoader = ClassLoaderUtil.getClassLoader( classLoader,
+    public void setClassLoader(final ClassLoader... classLoaders) {
+        this.classLoader = ClassLoaderUtil.getClassLoader( classLoaders,
                                                            getClass(),
                                                            isClassLoaderCacheEnabled() );
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -234,8 +234,8 @@
      * @param properties
      */
     public RuleBaseConfiguration(Properties properties) {
-        init( null,
-              properties );
+        init( properties,
+              null );
     }
 
     /**
@@ -258,9 +258,9 @@
      *
      * @param classLoader
      */
-    public RuleBaseConfiguration(ClassLoader classLoader) {
-        init( classLoader,
-              null );
+    public RuleBaseConfiguration(ClassLoader... classLoaders) {
+        init( null,
+              classLoaders );
     }
 
     public void setProperty(String name,
@@ -380,17 +380,17 @@
      * @param classLoder
      * @param properties
      */
-    public RuleBaseConfiguration(ClassLoader classLoader,
-                                 Properties properties) {
-        init( classLoader,
-              properties );
+    public RuleBaseConfiguration(Properties properties,
+                                 ClassLoader... classLoaders) {
+        init( properties,
+              classLoader );
     }
 
-    private void init(ClassLoader classLoader,
-                      Properties properties) {
+    private void init(Properties properties,
+                      ClassLoader... classLoaders) {
         this.immutable = false;
 
-        setClassLoader( classLoader );
+        setClassLoader( classLoaders );
 
         this.chainedProperties = new ChainedProperties( "rulebase.conf",
                                                         this.classLoader,
@@ -990,8 +990,8 @@
         return classLoader;
     }
 
-    public void setClassLoader(ClassLoader classLoader) {
-        this.classLoader = ClassLoaderUtil.getClassLoader( classLoader,
+    public void setClassLoader(ClassLoader... classLoaders) {
+        this.classLoader = ClassLoaderUtil.getClassLoader( classLoaders,
                                                            getClass(),
                                                            isClassLoaderCacheEnabled() );
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -111,8 +111,8 @@
      * @param properties
      */
     public SessionConfiguration(Properties properties) {
-        init( null,
-              properties );
+        init( properties,
+              null );
     }
 
     /**
@@ -123,13 +123,13 @@
               null );
     }
 
-    public SessionConfiguration(ClassLoader classLoader) {
-        init( classLoader,
-              null );
+    public SessionConfiguration(ClassLoader... classLoader) {
+        init( null,  
+              classLoader );
     }
 
-    private void init(ClassLoader classLoader,
-                      Properties properties) {
+    private void init(Properties properties,
+                      ClassLoader... classLoader) {
         this.classLoader = ClassLoaderUtil.getClassLoader( classLoader,
                                                            getClass(),
                                                            false );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/KnowledgeBaseFactoryServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/KnowledgeBaseFactoryServiceImpl.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/KnowledgeBaseFactoryServiceImpl.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -33,8 +33,8 @@
         return new RuleBaseConfiguration();
     }
         
-    public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties, ClassLoader classLoader) {
-        return new RuleBaseConfiguration(classLoader, properties);
+    public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties, ClassLoader... classLoaders) {
+        return new RuleBaseConfiguration(properties, classLoaders);
     }        
     
     public KnowledgeSessionConfiguration newKnowledgeSessionConfiguration() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ClassPathResource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ClassPathResource.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ClassPathResource.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -83,7 +83,7 @@
         }
         this.path = path;
         this.clazz = clazz;
-        this.classLoader = ClassLoaderUtil.getClassLoader( classLoader,
+        this.classLoader = ClassLoaderUtil.getClassLoader( classLoader == null ? null : new ClassLoader[] { classLoader },
                                                            clazz,
                                                            false );
     }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -30,7 +30,7 @@
     }
 
     public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
-                                                                    ClassLoader classLoader) {
+                                                                    ClassLoader... classLoader) {
         // TODO Auto-generated method stub
         return null;
     }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -47,9 +47,9 @@
     }
 
     public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
-                                                                          ClassLoader classLoader) {
+                                                                          ClassLoader... classLoaders) {
         return KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration( properties,
-                                                                         classLoader );
+                                                                         classLoaders );
     }
     
     public JaxbConfiguration newJaxbConfiguration(Options xjcOpts,

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -69,7 +69,7 @@
     }
 
     public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
-                                                                    ClassLoader classLoader) {
+                                                                    ClassLoader... classLoader) {
         // TODO Auto-generated method stub
         return null;
     }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java	2010-07-29 07:57:21 UTC (rev 34282)
@@ -87,7 +87,7 @@
     }
 
     public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
-                                                                          ClassLoader classLoader) {
+                                                                          ClassLoader... classLoaders) {
         // TODO Auto-generated method stub
         return null;
     }

Modified: labs/jbossrules/trunk/pom.xml
===================================================================
--- labs/jbossrules/trunk/pom.xml	2010-07-29 07:51:43 UTC (rev 34281)
+++ labs/jbossrules/trunk/pom.xml	2010-07-29 07:57:21 UTC (rev 34282)
@@ -1108,12 +1108,7 @@
             <artifactId>xstream</artifactId>
             <version>1.3.1</version>
          </dependency>
-		<dependency>
-		    <groupId>org.codehaus.jettison</groupId>
-		    <artifactId>jettison</artifactId>
-		    <version>1.2</version>
-		</dependency>
-		 
+			 
          <dependency>
             <groupId>org.mvel</groupId>
             <artifactId>mvel2</artifactId>
@@ -1786,7 +1781,23 @@
                   <artifactId>jakarta-regexp</artifactId>
                   <groupId>jakarta-regexp</groupId>
                   <version>1.4</version>
-               </dependency>			   
+               </dependency>	
+			   
+		<dependency>
+		    <groupId>org.codehaus.jettison</groupId>
+		    <artifactId>jettison</artifactId>
+		    <version>1.2</version>
+		</dependency>			
+		<dependency>		
+			<groupId>org.codehaus.jackson</groupId>
+			<artifactId>jackson-core-asl</artifactId>
+			<version>1.5.5</version>
+		</dependency>	
+		<dependency>		
+			<groupId>org.codehaus.jackson</groupId>
+			<artifactId>jackson-mapper-asl</artifactId>
+			<version>1.5.5</version>
+		</dependency>				   
       </dependencies>
    </dependencyManagement>
    <distributionManagement>



More information about the jboss-svn-commits mailing list