[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