[jboss-svn-commits] JBL Code SVN: r33409 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/agent/impl and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 8 14:53:48 EDT 2010


Author: eaa
Date: 2010-06-08 14:53:47 -0400 (Tue, 08 Jun 2010)
New Revision: 33409

Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentProviderImpl.java
Log:
JBRULES-2541: KnowledgeAgent: Add the possibility to add custom KnowledgeBuilderConfiguration
	- KnowledgeAgentFactory now provides a new method to construct a new KnowledgeAgent using a custom KnowledgeBuilderConfiguration object.
	- KnowledgeAgentImpl now have a new constructor parameter that permits to use a custom KnowledgeBuilderConfiguration object in every insternal builder it uses. 

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java	2010-06-08 18:09:31 UTC (rev 33408)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java	2010-06-08 18:53:47 UTC (rev 33409)
@@ -4,6 +4,7 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilderConfiguration;
 import org.drools.io.ResourceFactory;
 
 /**
@@ -143,6 +144,16 @@
                                                               configuration );
     }
 
+    public static KnowledgeAgent newKnowledgeAgent(String name,
+                                                   KnowledgeBase kbase,
+                                                   KnowledgeAgentConfiguration configuration,
+                                                   KnowledgeBuilderConfiguration builderConfiguration) {
+        return getKnowledgeAgentProvider().newKnowledgeAgent( name,
+                                                              kbase,
+                                                              configuration,
+                                                              builderConfiguration);
+    }
+
     private static synchronized void setKnowledgeAgentProvider(KnowledgeAgentProvider provider) {
         KnowledgeAgentFactory.provider = provider;
     }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java	2010-06-08 18:09:31 UTC (rev 33408)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java	2010-06-08 18:53:47 UTC (rev 33409)
@@ -3,6 +3,7 @@
 import java.util.Properties;
 
 import org.drools.KnowledgeBase;
+import org.drools.builder.KnowledgeBuilderConfiguration;
 
 /**
  * KnowledgeAgentProvider is used by the KnowledgeAgentFactory to "provide" it's concrete implementation.
@@ -22,4 +23,9 @@
     KnowledgeAgent newKnowledgeAgent(String name,
                                      KnowledgeBase kbase,
                                      KnowledgeAgentConfiguration configuration);
+
+    KnowledgeAgent newKnowledgeAgent(String name,
+                                     KnowledgeBase kbase,
+                                     KnowledgeAgentConfiguration configuration,
+                                     KnowledgeBuilderConfiguration builderConfiguration);
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java	2010-06-08 18:09:31 UTC (rev 33408)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java	2010-06-08 18:53:47 UTC (rev 33409)
@@ -38,6 +38,7 @@
 import org.drools.io.impl.ResourceChangeNotifierImpl;
 import org.drools.io.internal.InternalResource;
 import org.drools.agent.ResourceDiffProducer;
+import org.drools.builder.KnowledgeBuilderConfiguration;
 import org.drools.rule.Function;
 import org.drools.rule.Package;
 import org.drools.rule.Rule;
@@ -72,6 +73,8 @@
     private SemanticModules semanticModules;
     private final RegisteredResourceMap registeredResources = new RegisteredResourceMap();
 
+    private KnowledgeBuilderConfiguration builderConfiguration;
+
     /**
      * Default constructor for KnowledgeAgentImpl
      *
@@ -80,9 +83,10 @@
      * @param configuration
      */
     public KnowledgeAgentImpl(String name, KnowledgeBase kbase,
-            KnowledgeAgentConfiguration configuration) {
+            KnowledgeAgentConfiguration configuration, KnowledgeBuilderConfiguration builderConfiguration) {
         this.name = name;
         this.kbase = kbase;
+        this.builderConfiguration = builderConfiguration;
         this.resourceDirectories = new HashSet<Resource>();
         // this.listener = listener;
         this.listener = SystemEventListenerFactory.getSystemEventListener();
@@ -553,7 +557,11 @@
     private KnowledgePackageImp createPackageFromResource(Resource resource,KnowledgeBuilder kbuilder) {
 
         if (kbuilder == null){
-            kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+            if (this.builderConfiguration != null){
+                kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(this.builderConfiguration);
+            }else{
+                kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+            }
         }
 
         if (((InternalResource) resource).getResourceType() != ResourceType.PKG) {
@@ -799,7 +807,12 @@
      */
     private void addResourcesToKnowledgeBase(ChangeSetState changeSetState) {
 
-        KnowledgeBuilder kbuilder =  KnowledgeBuilderFactory.newKnowledgeBuilder();
+        KnowledgeBuilder kbuilder =  null;
+        if (this.builderConfiguration != null){
+            kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(this.builderConfiguration);
+        }else{
+            kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        }
         List<Package> packages = new ArrayList<Package>();
 
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentProviderImpl.java	2010-06-08 18:09:31 UTC (rev 33408)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentProviderImpl.java	2010-06-08 18:53:47 UTC (rev 33409)
@@ -3,10 +3,10 @@
 import java.util.Properties;
 
 import org.drools.KnowledgeBase;
-import org.drools.SystemEventListener;
 import org.drools.agent.KnowledgeAgent;
 import org.drools.agent.KnowledgeAgentConfiguration;
 import org.drools.agent.KnowledgeAgentProvider;
+import org.drools.builder.KnowledgeBuilderConfiguration;
 
 public class KnowledgeAgentProviderImpl implements KnowledgeAgentProvider {
     
@@ -20,13 +20,18 @@
 
     public KnowledgeAgent newKnowledgeAgent(String name,
                                             KnowledgeBase kbase) {
-        return new KnowledgeAgentImpl(name, kbase, new KnowledgeAgentConfigurationImpl() );
+        return new KnowledgeAgentImpl(name, kbase, new KnowledgeAgentConfigurationImpl(),null );
     }
 
     public KnowledgeAgent newKnowledgeAgent(String name,
                                             KnowledgeBase kbase,
                                             KnowledgeAgentConfiguration configuration) {
-        return new KnowledgeAgentImpl(name, kbase, configuration);
+        return new KnowledgeAgentImpl(name, kbase, configuration, null);
     }
 
+    public KnowledgeAgent newKnowledgeAgent(String name, KnowledgeBase kbase, KnowledgeAgentConfiguration configuration, KnowledgeBuilderConfiguration builderConfiguration) {
+        return new KnowledgeAgentImpl(name, kbase, configuration, builderConfiguration);
+    }
+
+
 }



More information about the jboss-svn-commits mailing list