Seam SVN: r12430 - in modules/drools/trunk: impl/src/main/java/org/jboss/seam/drools and 6 other directories.
by seam-commits@lists.jboss.org
Author: tsurdilovic
Date: 2010-04-12 03:21:35 -0400 (Mon, 12 Apr 2010)
New Revision: 12430
Added:
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/FactProvider.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KAgentConfigured.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfigured.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseEventListener.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KSessionEventListener.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/TemplateData.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/WIHandler.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/EntryPointProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/DroolsConfiguration.java
modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/MyKnowledgeBaseEventListener.java
Removed:
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java
Modified:
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java
modules/drools/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java
modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml
Log:
moved all configs into single Drools configuration bean.
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/FactProvider.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/FactProvider.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/FactProvider.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.util.Nonbinding;
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface FactProvider {
+ @Nonbinding String name();
+ @Nonbinding String entryPointName();
+}
Copied: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KAgentConfigured.java (from rev 12428, modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java)
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KAgentConfigured.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KAgentConfigured.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Qualifier for Drools KnowledgeBase configured for KnowledgeAgent.
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KAgentConfigured
+{
+
+}
Copied: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfigured.java (from rev 12428, modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java)
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfigured.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfigured.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Qualifier for Drools KnowledgeBase default configuration.
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KBaseConfigured
+{
+
+}
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseEventListener.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseEventListener.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KBaseEventListener.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,27 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KBaseEventListener {
+
+}
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KSessionEventListener.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KSessionEventListener.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/KSessionEventListener.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,27 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KSessionEventListener {
+
+}
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/TemplateData.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/TemplateData.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/TemplateData.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,28 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.util.Nonbinding;
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface TemplateData {
+ @Nonbinding String name();
+}
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/WIHandler.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/WIHandler.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/WIHandler.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,28 @@
+package org.jboss.seam.drools.qualifiers;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.util.Nonbinding;
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface WIHandler {
+ @Nonbinding String name();
+}
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/EntryPointProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/EntryPointProducer.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/EntryPointProducer.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,25 @@
+package org.jboss.seam.drools;
+
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.Produces;
+
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
+import org.jboss.seam.drools.qualifiers.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.KBaseConfigured;
+
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
+public class EntryPointProducer
+{
+ @Produces @KBaseConfigured WorkingMemoryEntryPoint produceEntryPoint(@KBaseConfigured StatefulKnowledgeSession ksession, Instance<String> entryPointNameInstance) {
+ return ksession.getWorkingMemoryEntryPoint(entryPointNameInstance.get());
+ }
+
+ @Produces @KAgentConfigured WorkingMemoryEntryPoint produceKAgentEntryPoint(@KAgentConfigured StatefulKnowledgeSession ksession, Instance<String> entryPointNameInstance) {
+ return ksession.getWorkingMemoryEntryPoint(entryPointNameInstance.get());
+ }
+
+}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -2,7 +2,9 @@
import java.util.Properties;
+import javax.enterprise.inject.Any;
import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
@@ -14,9 +16,10 @@
import org.drools.builder.ResourceType;
import org.drools.io.ResourceChangeScannerConfiguration;
import org.drools.io.ResourceFactory;
-import org.jboss.seam.drools.config.KnowledgeAgentConfig;
+import org.jboss.seam.drools.config.DroolsConfiguration;
import org.jboss.seam.drools.events.RuleResourceAddedEvent;
-import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.config.DroolsConfig;
import org.jboss.seam.drools.utils.ConfigUtils;
import org.jboss.weld.extensions.resources.ResourceProvider;
import org.slf4j.Logger;
@@ -37,13 +40,14 @@
@Produces
@KAgentConfigured
- KnowledgeBase produceAgentKBase(KnowledgeAgentConfig kagentConfig) throws Exception
+ KnowledgeBase produceAgentKBase(Instance<DroolsConfiguration> kagentConfigInstance) throws Exception
{
+ DroolsConfiguration kagentConfig = kagentConfigInstance.get();
ResourceFactory.getResourceChangeScannerService().configure(getResourceChangeScannerConfig(kagentConfig.getResourceChangeScannerConfigPath()));
KnowledgeAgentConfiguration aconf = getKnowledgeAgentConfiguration(kagentConfig.getKnowledgeAgentConfigPath());
KnowledgeAgent kagent;
- kagent = KnowledgeAgentFactory.newKnowledgeAgent(kagentConfig.getName(), aconf);
+ kagent = KnowledgeAgentFactory.newKnowledgeAgent(kagentConfig.getKnowledgeAgentName(), aconf);
applyChangeSet(kagent, kagentConfig.getChangeSetResource());
if(kagentConfig.isStartChangeNotifierService()) {
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,9 +1,15 @@
package org.jboss.seam.drools;
+import java.util.Iterator;
import java.util.Properties;
+import java.util.Set;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Inject;
import org.drools.KnowledgeBase;
@@ -17,10 +23,11 @@
import org.drools.builder.ResourceType;
import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
import org.drools.io.ResourceFactory;
-import org.jboss.seam.drools.config.KnowledgeBaseConfig;
+import org.jboss.seam.drools.config.DroolsConfiguration;
import org.jboss.seam.drools.events.KnowledgeBuilderErrorsEvent;
import org.jboss.seam.drools.events.RuleResourceAddedEvent;
-import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
+import org.jboss.seam.drools.qualifiers.KBaseConfigured;
+import org.jboss.seam.drools.qualifiers.KBaseEventListener;
import org.jboss.seam.drools.utils.ConfigUtils;
import org.jboss.weld.extensions.resources.ResourceProvider;
import org.slf4j.Logger;
@@ -39,8 +46,9 @@
@Inject
ResourceProvider resourceProvider;
- @Produces @KBaseConfigured
- public KnowledgeBase produceKBase(KnowledgeBaseConfig kbaseConfig) throws Exception
+ @Produces
+ @KBaseConfigured
+ public KnowledgeBase produceKBase(DroolsConfiguration kbaseConfig) throws Exception
{
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(getKnowledgeBuilderConfiguration(kbaseConfig.getKnowledgeBuilderConfigPath()));
@@ -62,13 +70,16 @@
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(getKnowledgeBaseConfiguration(kbaseConfig.getKnowledgeBaseConfigPath()));
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- if (kbaseConfig.getEventListeners() != null)
- {
- for (String eventListener : kbaseConfig.getEventListeners())
+ Set<Bean<?>> allKBaseEventListeners = manager.getBeans(KnowledgeBaseEventListener.class, new AnnotationLiteral<KBaseEventListener>() {});
+ if (allKBaseEventListeners != null)
+ {
+ Iterator<Bean<?>> iter = allKBaseEventListeners.iterator();
+ while (iter.hasNext())
{
- addEventListener(kbase, eventListener);
+ addEventListener(kbase, iter.next());
}
}
+
return kbase;
}
@@ -77,7 +88,7 @@
KnowledgeBuilderConfiguration droolsKbuilderConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
if (knowledgeBuilderConfigPath != null && knowledgeBuilderConfigPath.endsWith(".properties"))
{
-
+
Properties kbuilderProp = ConfigUtils.loadProperties(resourceProvider, knowledgeBuilderConfigPath);
droolsKbuilderConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(kbuilderProp, null);
log.debug("KnowledgeBuilderConfiguration loaded: " + knowledgeBuilderConfigPath);
@@ -133,26 +144,11 @@
}
}
- private void addEventListener(org.drools.KnowledgeBase kbase, String eventListener)
+ private void addEventListener(org.drools.KnowledgeBase kbase, Bean<?> listener)
{
- try
- {
- @SuppressWarnings("unchecked")
- Class eventListenerClass = Class.forName(eventListener);
- Object eventListenerObject = eventListenerClass.newInstance();
-
- if (eventListenerObject instanceof KnowledgeBaseEventListener)
- {
- kbase.addEventListener((KnowledgeBaseEventListener) eventListenerObject);
- }
- else
- {
- log.debug("Event Listener " + eventListener + " is not of type KnowledgeBaseEventListener");
- }
- }
- catch (Exception e)
- {
- log.error("Error adding event listener " + e.getMessage());
- }
- }
+ CreationalContext<?> context = manager.createCreationalContext(listener);
+ KnowledgeBaseEventListener listenerInstance = (KnowledgeBaseEventListener) manager.getReference(listener, KnowledgeBaseEventListener.class, context);
+ kbase.addEventListener(listenerInstance);
+ log.debug("Added KnowledgeBaseEventListener: " + listener);
+ }
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,6 +1,7 @@
package org.jboss.seam.drools;
import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
import org.drools.event.KnowledgeRuntimeEventManager;
@@ -8,9 +9,9 @@
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
-import org.jboss.seam.drools.config.KnowledgeLoggerConfig;
-import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
-import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
+import org.jboss.seam.drools.config.DroolsConfiguration;
+import org.jboss.seam.drools.qualifiers.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.KBaseConfigured;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -23,55 +24,63 @@
private static final Logger log = LoggerFactory.getLogger(KnowledgeLoggerProducer.class);
@Produces
- public KnowledgeRuntimeLogger produceStatefulKnowledgeLogger(@KBaseConfigured StatefulKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ @KBaseConfigured
+ public KnowledgeRuntimeLogger produceStatefulKnowledgeLogger(@KBaseConfigured StatefulKnowledgeSession ksession, Instance<DroolsConfiguration> loggerConfigInstance)
{
- return getLogger(ksession, loggerConfig);
+ return getLogger(ksession, loggerConfigInstance.get());
}
@Produces
- public KnowledgeRuntimeLogger produceStatefulKnowledgeLoggerForKAgent(@KAgentConfigured StatefulKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ @KAgentConfigured
+ public KnowledgeRuntimeLogger produceStatefulKnowledgeLoggerForKAgent(@KAgentConfigured StatefulKnowledgeSession ksession, Instance<DroolsConfiguration> loggerConfigInstance)
{
- return getLogger(ksession, loggerConfig);
+ return getLogger(ksession, loggerConfigInstance.get());
}
@Produces
- public KnowledgeRuntimeLogger produceStatelessKnowledgeLogger(@KBaseConfigured StatelessKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ @KBaseConfigured
+ public KnowledgeRuntimeLogger produceStatelessKnowledgeLogger(@KBaseConfigured StatelessKnowledgeSession ksession, Instance<DroolsConfiguration> loggerConfigInstance)
{
- return getLogger(ksession, loggerConfig);
+ return getLogger(ksession, loggerConfigInstance.get());
}
@Produces
- public KnowledgeRuntimeLogger produceStatelessKnowledgeLoggerForKAgent(@KAgentConfigured StatelessKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ @KAgentConfigured
+ public KnowledgeRuntimeLogger produceStatelessKnowledgeLoggerForKAgent(@KAgentConfigured StatelessKnowledgeSession ksession, Instance<DroolsConfiguration> loggerConfigInstance)
{
- return getLogger(ksession, loggerConfig);
+ return getLogger(ksession, loggerConfigInstance.get());
}
- private KnowledgeRuntimeLogger getLogger(KnowledgeRuntimeEventManager ksession, KnowledgeLoggerConfig loggerConfig)
+ private KnowledgeRuntimeLogger getLogger(KnowledgeRuntimeEventManager ksession, DroolsConfiguration loggerConfig)
{
KnowledgeRuntimeLogger krLogger = null;
- if (loggerConfig.isFileType())
+ if (loggerConfig.getLoggerType().equalsIgnoreCase("file"))
{
- String logName = loggerConfig.getPath() + System.currentTimeMillis();
+ String logName = loggerConfig.getLoggerPath() + System.currentTimeMillis();
krLogger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, logName);
}
- else if (loggerConfig.isConsoleType())
+ else if (loggerConfig.getLoggerType().equalsIgnoreCase("console"))
{
krLogger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);
}
- else if (loggerConfig.isThreadedType())
+ else if (loggerConfig.getLoggerType().equalsIgnoreCase("threaded"))
{
- String logName = loggerConfig.getPath() + System.currentTimeMillis();
- krLogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, logName, loggerConfig.getInterval());
+ String logName = loggerConfig.getLoggerPath() + System.currentTimeMillis();
+ krLogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, logName, loggerConfig.getLoggerInterval());
}
else
{
- log.error("Invalid logger specified: type: " + loggerConfig.getType() + " path: " + loggerConfig.getPath() + " interval: " + loggerConfig.getInterval());
+ log.error("Invalid logger specified: type: " + loggerConfig.getLoggerType() + " path: " + loggerConfig.getLoggerPath() + " interval: " + loggerConfig.getLoggerInterval());
}
return krLogger;
}
- public void disposeKnowledgeLogger(@Disposes KnowledgeRuntimeLogger logger)
+ public void disposeKBaseConfiguredKnowledgeLogger(@Disposes @KBaseConfigured KnowledgeRuntimeLogger logger)
{
logger.close();
}
+
+ public void disposeKAgentConfiguredKnowledgeLogger(@Disposes @KAgentConfigured KnowledgeRuntimeLogger logger) {
+ logger.close();
+ }
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,12 +1,17 @@
package org.jboss.seam.drools;
+import java.util.Iterator;
import java.util.Properties;
+import java.util.Set;
+import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.Any;
import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Inject;
import org.drools.KnowledgeBase;
@@ -19,9 +24,11 @@
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
import org.drools.runtime.process.WorkItemHandler;
-import org.jboss.seam.drools.config.KnowledgeSessionConfig;
-import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
-import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
+import org.jboss.seam.drools.config.DroolsConfiguration;
+import org.jboss.seam.drools.qualifiers.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.KBaseConfigured;
+import org.jboss.seam.drools.qualifiers.KSessionEventListener;
+import org.jboss.seam.drools.qualifiers.WIHandler;
import org.jboss.seam.drools.utils.ConfigUtils;
import org.jboss.weld.extensions.resources.ResourceProvider;
import org.slf4j.Logger;
@@ -42,35 +49,42 @@
@Produces
@KBaseConfigured
- public StatefulKnowledgeSession produceStatefulSession(@KBaseConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception
+ public StatefulKnowledgeSession produceStatefulSession(@KBaseConfigured KnowledgeBase kbase, Instance<DroolsConfiguration> ksessionConfigInstance) throws Exception
{
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(getConfig(ksessionConfig.getKnowledgeSessionConfigPath()), null);
- addEventListeners(ksession, ksessionConfig);
- addWorkItemHandlers(ksession, ksessionConfig);
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(getConfig(ksessionConfigInstance.get().getKnowledgeSessionConfigPath()), null);
+ addEventListeners(ksession);
+ addWorkItemHandlers(ksession);
return ksession;
}
@Produces
@KAgentConfigured
- StatefulKnowledgeSession produceStatefulSessionFromKAgent(@KAgentConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception
+ StatefulKnowledgeSession produceStatefulSessionFromKAgent(@KAgentConfigured KnowledgeBase kbase, Instance<DroolsConfiguration> ksessionConfigInstance) throws Exception
{
- return null;
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(getConfig(ksessionConfigInstance.get().getKnowledgeSessionConfigPath()), null);
+ addEventListeners(ksession);
+ addWorkItemHandlers(ksession);
+
+ return ksession;
}
@Produces
@KAgentConfigured
- StatelessKnowledgeSession produceStatelessSessionFromKAgent(@KAgentConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksesiosnConfig)
+ StatelessKnowledgeSession produceStatelessSessionFromKAgent(@KAgentConfigured KnowledgeBase kbase, Instance<DroolsConfiguration> ksessionConfigInstance) throws Exception
{
- return null;
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(getConfig(ksessionConfigInstance.get().getKnowledgeSessionConfigPath()));
+ addEventListeners(ksession);
+
+ return ksession;
}
@Produces
@KBaseConfigured
- public StatelessKnowledgeSession produceStatelessSession(@KBaseConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception
+ public StatelessKnowledgeSession produceStatelessSession(@KBaseConfigured KnowledgeBase kbase, Instance<DroolsConfiguration> ksessionConfigInstance) throws Exception
{
- StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(getConfig(ksessionConfig.getKnowledgeSessionConfigPath()));
- addEventListeners(ksession, ksessionConfig);
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(getConfig(ksessionConfigInstance.get().getKnowledgeSessionConfigPath()));
+ addEventListeners(ksession);
return ksession;
}
@@ -96,53 +110,55 @@
return droolsKsessionConfig;
}
- private void addEventListeners(KnowledgeRuntimeEventManager ksession, KnowledgeSessionConfig ksessionConfig) throws Exception
+ private void addEventListeners(KnowledgeRuntimeEventManager ksession)
{
- if (ksessionConfig.getEventListeners() != null)
+ Set<Bean<?>> allKSessionEventListeners = manager.getBeans(Object.class, new AnnotationLiteral<KSessionEventListener>()
{
- for (String eventListener : ksessionConfig.getEventListeners())
- {
- @SuppressWarnings("unchecked")
- Class eventListenerClass = Class.forName(eventListener);
- Object eventListenerObject = eventListenerClass.newInstance();
- if (eventListenerObject instanceof WorkingMemoryEventListener)
+ });
+ if(allKSessionEventListeners != null) {
+ Iterator<Bean<?>> iter = allKSessionEventListeners.iterator();
+ while(iter.hasNext()) {
+ Bean<?> eventListener = iter.next();
+ CreationalContext<?> context = manager.createCreationalContext(eventListener);
+ Object eventListenerInstance = manager.getReference(eventListener, Object.class, context);
+
+ if (eventListenerInstance instanceof WorkingMemoryEventListener)
{
- ksession.addEventListener((WorkingMemoryEventListener) eventListenerObject);
+ ksession.addEventListener((WorkingMemoryEventListener) eventListenerInstance);
}
- else if (eventListenerObject instanceof AgendaEventListener)
+ else if (eventListenerInstance instanceof AgendaEventListener)
{
- ksession.addEventListener((AgendaEventListener) eventListenerObject);
+ ksession.addEventListener((AgendaEventListener) eventListenerInstance);
}
- else if (eventListenerObject instanceof ProcessEventListener)
+ else if (eventListenerInstance instanceof ProcessEventListener)
{
- ksession.addEventListener((ProcessEventListener) eventListenerObject);
+ ksession.addEventListener((ProcessEventListener) eventListenerInstance);
}
else
{
- log.debug("Invalid Event Listener: " + eventListener);
+ log.debug("Invalid Event Listener: " + eventListenerInstance);
}
}
}
}
- private void addWorkItemHandlers(StatefulKnowledgeSession ksession, KnowledgeSessionConfig ksessionConfig)
+ private void addWorkItemHandlers(StatefulKnowledgeSession ksession)
{
- if (ksessionConfig.getWorkItemHandlers() != null)
+ Set<Bean<?>> allWorkItemHandlers = manager.getBeans(WorkItemHandler.class, new AnnotationLiteral<WIHandler>()
{
- for (String workItemHandlerStr : ksessionConfig.getWorkItemHandlers())
+ });
+ if (allWorkItemHandlers != null)
+ {
+ Iterator<Bean<?>> iter = allWorkItemHandlers.iterator();
+ while (iter.hasNext())
{
- if (ConfigUtils.isValidWorkItemHandler(workItemHandlerStr))
- {
- @SuppressWarnings("unchecked")
- Bean<WorkItemHandler> workItemHandlerBean = (Bean<WorkItemHandler>) manager.getBeans(ConfigUtils.getWorkItemHandlerType(workItemHandlerStr)).iterator().next();
- WorkItemHandler handler = (WorkItemHandler) manager.getReference(workItemHandlerBean, WorkItemHandler.class, manager.createCreationalContext(workItemHandlerBean));
- log.debug("Registering new WorkItemHandler: " + ConfigUtils.getWorkItemHandlerName(workItemHandlerStr));
- ksession.getWorkItemManager().registerWorkItemHandler(ConfigUtils.getWorkItemHandlerName(workItemHandlerStr), handler);
- }
- else
- {
- log.warn("Invalid workitem handler configuration for: " + workItemHandlerStr);
- }
+ Bean<?> handler = iter.next();
+ WIHandler handlerQualifier = (WIHandler) handler.getQualifiers().toArray()[0];
+ CreationalContext<?> context = manager.createCreationalContext(handler);
+ WorkItemHandler handlerInstance = (WorkItemHandler) manager.getReference(handler, WorkItemHandler.class, context);
+
+ log.info("Registering new WorkItemHandler: " + handlerQualifier.name());
+ ksession.getWorkItemManager().registerWorkItemHandler(handlerQualifier.name(), handlerInstance);
}
}
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,8 +1,18 @@
package org.jboss.seam.drools.bootstrap;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.Extension;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
public class DroolsExtension implements Extension
{
+ private static final Logger log = LoggerFactory.getLogger(DroolsExtension.class);
+ void afterBeanDiscovery(@Observes AfterBeanDiscovery abd) {
+
+ }
+
}
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/DroolsConfiguration.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/DroolsConfiguration.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/DroolsConfiguration.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,141 @@
+package org.jboss.seam.drools.config;
+
+import org.jboss.seam.drools.qualifiers.config.DroolsConfig;
+
+@DroolsConfig
+public class DroolsConfiguration
+{
+ //KnowledgeBase configuration
+ private String knowledgeBuilderConfigPath;
+ private String knowledgeBaseConfigPath;
+ private String[] ruleResources;
+ //KnowledgeSession configuration
+ private String knowledgeSessionConfigPath;
+ //KnowledgeAgent configuration
+ private String resourceChangeScannerConfigPath;
+ private String knowledgeAgentConfigPath;
+ private String changeSetResource;
+ private String knowledgeAgentName;
+ private boolean startChangeNotifierService;
+ private boolean startChangeScannerService;
+ //KnowledgeLogger configuration
+ private String loggerName;
+ private String loggerType;
+ private String loggerPath;
+ private int loggerInterval;
+
+ public String getKnowledgeBuilderConfigPath()
+ {
+ return knowledgeBuilderConfigPath;
+ }
+ public void setKnowledgeBuilderConfigPath(String knowledgeBuilderConfigPath)
+ {
+ this.knowledgeBuilderConfigPath = knowledgeBuilderConfigPath;
+ }
+ public String getKnowledgeBaseConfigPath()
+ {
+ return knowledgeBaseConfigPath;
+ }
+ public void setKnowledgeBaseConfigPath(String knowledgeBaseConfigPath)
+ {
+ this.knowledgeBaseConfigPath = knowledgeBaseConfigPath;
+ }
+ public String[] getRuleResources()
+ {
+ return ruleResources;
+ }
+ public void setRuleResources(String[] ruleResources)
+ {
+ this.ruleResources = ruleResources;
+ }
+ public String getKnowledgeSessionConfigPath()
+ {
+ return knowledgeSessionConfigPath;
+ }
+ public void setKnowledgeSessionConfigPath(String knowledgeSessionConfigPath)
+ {
+ this.knowledgeSessionConfigPath = knowledgeSessionConfigPath;
+ }
+ public String getResourceChangeScannerConfigPath()
+ {
+ return resourceChangeScannerConfigPath;
+ }
+ public void setResourceChangeScannerConfigPath(String resourceChangeScannerConfigPath)
+ {
+ this.resourceChangeScannerConfigPath = resourceChangeScannerConfigPath;
+ }
+ public String getKnowledgeAgentConfigPath()
+ {
+ return knowledgeAgentConfigPath;
+ }
+ public void setKnowledgeAgentConfigPath(String knowledgeAgentConfigPath)
+ {
+ this.knowledgeAgentConfigPath = knowledgeAgentConfigPath;
+ }
+ public String getChangeSetResource()
+ {
+ return changeSetResource;
+ }
+ public void setChangeSetResource(String changeSetResource)
+ {
+ this.changeSetResource = changeSetResource;
+ }
+ public String getKnowledgeAgentName()
+ {
+ return knowledgeAgentName;
+ }
+ public void setKnowledgeAgentName(String knowledgeAgentName)
+ {
+ this.knowledgeAgentName = knowledgeAgentName;
+ }
+ public boolean isStartChangeNotifierService()
+ {
+ return startChangeNotifierService;
+ }
+ public void setStartChangeNotifierService(boolean startChangeNotifierService)
+ {
+ this.startChangeNotifierService = startChangeNotifierService;
+ }
+ public boolean isStartChangeScannerService()
+ {
+ return startChangeScannerService;
+ }
+ public void setStartChangeScannerService(boolean startChangeScannerService)
+ {
+ this.startChangeScannerService = startChangeScannerService;
+ }
+ public String getLoggerName()
+ {
+ return loggerName;
+ }
+ public void setLoggerName(String loggerName)
+ {
+ this.loggerName = loggerName;
+ }
+ public String getLoggerType()
+ {
+ return loggerType;
+ }
+ public void setLoggerType(String loggerType)
+ {
+ this.loggerType = loggerType;
+ }
+ public String getLoggerPath()
+ {
+ return loggerPath;
+ }
+ public void setLoggerPath(String loggerPath)
+ {
+ this.loggerPath = loggerPath;
+ }
+ public int getLoggerInterval()
+ {
+ return loggerInterval;
+ }
+ public void setLoggerInterval(int loggerInterval)
+ {
+ this.loggerInterval = loggerInterval;
+ }
+
+
+}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,77 +0,0 @@
-package org.jboss.seam.drools.config;
-
-/**
- * Configuration data for Drools KnowledeAgent.
- *
- * @author Tihomir Surdilovic
- */
-public class KnowledgeAgentConfig
-{
- private String resourceChangeScannerConfigPath;
- private String knowledgeAgentConfigPath;
- private String changeSetResource;
- private String name;
- private boolean startChangeNotifierService;
- private boolean startChangeScannerService;
-
- public String getResourceChangeScannerConfigPath()
- {
- return resourceChangeScannerConfigPath;
- }
-
- public void setResourceChangeScannerConfigPath(String resourceChangeScannerConfigPath)
- {
- this.resourceChangeScannerConfigPath = resourceChangeScannerConfigPath;
- }
-
- public String getKnowledgeAgentConfigPath()
- {
- return knowledgeAgentConfigPath;
- }
-
- public void setKnowledgeAgentConfigPath(String knowledgeAgentConfigPath)
- {
- this.knowledgeAgentConfigPath = knowledgeAgentConfigPath;
- }
-
- public String getChangeSetResource()
- {
- return changeSetResource;
- }
-
- public void setChangeSetResource(String changeSetResource)
- {
- this.changeSetResource = changeSetResource;
- }
-
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public boolean isStartChangeNotifierService()
- {
- return startChangeNotifierService;
- }
-
- public void setStartChangeNotifierService(boolean startChangeNotifierService)
- {
- this.startChangeNotifierService = startChangeNotifierService;
- }
-
- public boolean isStartChangeScannerService()
- {
- return startChangeScannerService;
- }
-
- public void setStartChangeScannerService(boolean startChangeScannerService)
- {
- this.startChangeScannerService = startChangeScannerService;
- }
-
-}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,77 +0,0 @@
-package org.jboss.seam.drools.config;
-
-/**
- *
- * @author Tihomir Surdilovic
- */
-public class KnowledgeBaseConfig
-{
- private String knowledgeBuilderConfigPath;
- private String knowledgeBaseConfigPath;
- private String[] ruleResources;
- private String[] eventListeners;
-
- public String getKnowledgeBuilderConfigPath()
- {
- return knowledgeBuilderConfigPath;
- }
-
- public void setKnowledgeBuilderConfigPath(String knowledgeBuilderConfigPath)
- {
- this.knowledgeBuilderConfigPath = knowledgeBuilderConfigPath;
- }
-
- public String getKnowledgeBaseConfigPath()
- {
- return knowledgeBaseConfigPath;
- }
-
- public void setKnowledgeBaseConfigPath(String knowledgeBaseConfigPath)
- {
- this.knowledgeBaseConfigPath = knowledgeBaseConfigPath;
- }
-
- public String[] getRuleResources()
- {
- return ruleResources;
- }
-
- public void setRuleResources(String[] ruleResources)
- {
- this.ruleResources = ruleResources;
- }
-
- public String[] getEventListeners()
- {
- return eventListeners;
- }
-
- public void setEventListeners(String[] eventListeners)
- {
- this.eventListeners = eventListeners;
- }
-
- public String toString()
- {
- StringBuffer buff = new StringBuffer();
- buff.append("knowledgeBuilderConfigPath: " + knowledgeBuilderConfigPath + "\n").append("knowledgeBaseConfigPath: " + knowledgeBaseConfigPath + "\n");
- if (ruleResources != null)
- {
- buff.append("Rule Resources:\n");
- for (String rr : ruleResources)
- {
- buff.append("\t" + rr);
- }
- }
- if (eventListeners != null)
- {
- buff.append("\nEvent Listeners: \n");
- for (String el : eventListeners)
- {
- buff.append("\t" + el);
- }
- }
-
- return buff.toString();
- }
-}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,65 +0,0 @@
-package org.jboss.seam.drools.config;
-
-public class KnowledgeLoggerConfig
-{
- private String name;
- private String type;
- private String path;
- private int interval;
-
- public boolean isFileType()
- {
- return type != null && type.equalsIgnoreCase("file");
- }
-
- public boolean isConsoleType()
- {
- return type != null && type.equalsIgnoreCase("console");
- }
-
- public boolean isThreadedType()
- {
- return type != null && type.equalsIgnoreCase("threaded");
- }
-
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public String getType()
- {
- return type;
- }
-
- public void setType(String type)
- {
- this.type = type;
- }
-
- public String getPath()
- {
- return path;
- }
-
- public void setPath(String path)
- {
- this.path = path;
- }
-
- public int getInterval()
- {
- return interval;
- }
-
- public void setInterval(int interval)
- {
- this.interval = interval;
- }
-
-}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,65 +0,0 @@
-package org.jboss.seam.drools.config;
-
-/**
- *
- * @author Tihomir Surdilovic
- */
-public class KnowledgeSessionConfig
-{
- private String[] eventListeners;
- private String[] workItemHandlers;
- private String knowledgeSessionConfigPath;
-
- public String[] getEventListeners()
- {
- return eventListeners;
- }
-
- public void setEventListeners(String[] eventListeners)
- {
- this.eventListeners = eventListeners;
- }
-
- public String[] getWorkItemHandlers()
- {
- return workItemHandlers;
- }
-
- public void setWorkItemHandlers(String[] workItemHandlers)
- {
- this.workItemHandlers = workItemHandlers;
- }
-
- public String getKnowledgeSessionConfigPath()
- {
- return knowledgeSessionConfigPath;
- }
-
- public void setKnowledgeSessionConfigPath(String knowledgeSessionConfigPath)
- {
- this.knowledgeSessionConfigPath = knowledgeSessionConfigPath;
- }
-
- public String toString()
- {
- StringBuffer buff = new StringBuffer();
- buff.append("knowledgeSessionConfigPath: " + knowledgeSessionConfigPath + "\n");
- if (eventListeners != null)
- {
- buff.append("Event Listeners:\n");
- for (String el : eventListeners)
- {
- buff.append("\t" + el);
- }
- }
- if (workItemHandlers != null)
- {
- buff.append("\nWorkitem handlers: \n");
- for (String el : workItemHandlers)
- {
- buff.append("\t" + el);
- }
- }
- return buff.toString();
- }
-}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -1,5 +1,8 @@
package org.jboss.seam.drools.qualifiers.config;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@@ -10,8 +13,12 @@
import javax.inject.Qualifier;
+/**
+ *
+ * @author Tihomir Surdilovic
+ */
@Qualifier
-@Target( { TYPE })
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
@Documented
@Retention(RUNTIME)
@Inherited
Modified: modules/drools/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
===================================================================
--- modules/drools/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1 @@
+org.jboss.seam.drools.bootstrap.DroolsExtension
\ No newline at end of file
Modified: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -8,8 +8,9 @@
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.seam.drools.KnowledgeBaseProducer;
-import org.jboss.seam.drools.config.KnowledgeBaseConfig;
-import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
+import org.jboss.seam.drools.config.DroolsConfiguration;
+import org.jboss.seam.drools.qualifiers.KBaseConfigured;
+import org.jboss.seam.drools.qualifiers.config.DroolsConfig;
import org.jboss.shrinkwrap.api.ArchivePaths;
import org.jboss.shrinkwrap.api.Archives;
import org.jboss.shrinkwrap.api.formatter.Formatters;
@@ -25,15 +26,23 @@
public static JavaArchive createTestArchive()
{
String pkgPath = KBaseTest.class.getPackage().getName().replaceAll("\\.", "/");
- JavaArchive archive = Archives.create("test.jar", JavaArchive.class).addPackages(true, KnowledgeBaseProducer.class.getPackage()).addPackages(true, ResourceProvider.class.getPackage()).addClass(ForKBaseTest.class).addResource(pkgPath + "/kbasetest.drl", ArchivePaths.create("kbasetest.drl")).addResource(pkgPath + "/kbuilderconfig.properties", ArchivePaths.create("kbuilderconfig.properties")).addResource(pkgPath + "/kbaseconfig.properties", ArchivePaths.create("kbaseconfig.properties")).addManifestResource(pkgPath + "/KBaseTest-beans.xml", ArchivePaths.create("beans.xml"));
+ JavaArchive archive = Archives.create("test.jar", JavaArchive.class)
+ .addPackages(true, KnowledgeBaseProducer.class.getPackage())
+ .addPackages(true, ResourceProvider.class.getPackage())
+ .addClass(ForKBaseTest.class)
+ .addClass(MyKnowledgeBaseEventListener.class)
+ .addResource(pkgPath + "/kbasetest.drl", ArchivePaths.create("kbasetest.drl"))
+ .addResource(pkgPath + "/kbuilderconfig.properties", ArchivePaths.create("kbuilderconfig.properties"))
+ .addResource(pkgPath + "/kbaseconfig.properties", ArchivePaths.create("kbaseconfig.properties"))
+ .addManifestResource(pkgPath + "/KBaseTest-beans.xml", ArchivePaths.create("beans.xml"));
System.out.println(archive.toString(Formatters.VERBOSE));
return archive;
}
- // @Inject @Any Instance<KnowledgeBaseConfig> kbaseConfigResolver;
@Inject
@ForKBaseTest
- KnowledgeBaseConfig config;
+ DroolsConfiguration config;
+
@Inject
@ForKBaseTest
@KBaseConfigured
Added: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/MyKnowledgeBaseEventListener.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/MyKnowledgeBaseEventListener.java (rev 0)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/MyKnowledgeBaseEventListener.java 2010-04-12 07:21:35 UTC (rev 12430)
@@ -0,0 +1,13 @@
+package org.jboss.seam.drools.test.kbase;
+
+import org.drools.event.knowledgebase.DefaultKnowledgeBaseEventListener;
+import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
+import org.jboss.seam.drools.qualifiers.KBaseEventListener;
+
+@KBaseEventListener
+public class MyKnowledgeBaseEventListener extends DefaultKnowledgeBaseEventListener implements KnowledgeBaseEventListener
+{
+ public MyKnowledgeBaseEventListener() {
+ super();
+ }
+}
Modified: modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml
===================================================================
--- modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml 2010-04-12 07:07:53 UTC (rev 12429)
+++ modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml 2010-04-12 07:21:35 UTC (rev 12430)
@@ -4,7 +4,7 @@
xmlns:drools="urn:java:org.jboss.seam.drools:org.jboss.seam.drools.config"
xmlns:test="urn:java:org.jboss.seam.drools.test.kbase">
- <drools:KnowledgeBaseConfig>
+ <drools:DroolsConfiguration>
<s:overrides/>
<test:ForKBaseTest/>
<drools:knowledgeBuilderConfigPath>kbuilderconfig.properties</drools:knowledgeBuilderConfigPath>
@@ -12,22 +12,33 @@
<drools:ruleResources>
<s:value>classpath;kbasetest.drl;DRL</s:value>
</drools:ruleResources>
- <drools:eventListeners>
- <s:value>org.drools.event.knowledgebase.DefaultKnowledgeBaseEventListener</s:value>
- </drools:eventListeners>
- </drools:KnowledgeBaseConfig>
+ </drools:DroolsConfiguration>
<drools:KnowledgeBaseProducer>
<s:specializes/>
<drools:produceKBase>
<test:ForKBaseTest/>
<s:parameters>
- <drools:KnowledgeBaseConfig>
+ <drools:DroolsConfiguration>
<s:Inject/>
<test:ForKBaseTest/>
- </drools:KnowledgeBaseConfig>
+ </drools:DroolsConfiguration>
</s:parameters>
</drools:produceKBase>
</drools:KnowledgeBaseProducer>
-
+
+ <!--
+ WITH LATEST WELD-EXTENSION AND Instance<XYZ> zyx param in producer!
+ <drools:KnowledgeBaseProducer>
+ <s:specializes/>
+ <drools:produceKBase>
+ <test:ForKBaseTest/>
+ <s:parameters>
+ <s:Instance>
+ <s:Inject/>
+ <test:ForKBaseTest/>
+ </s:Instance>
+ </s:parameters>
+ </drools:produceKBase>
+ </drools:KnowledgeBaseProducer> -->
</beans>
16 years
Seam SVN: r12429 - in modules/xml/trunk/impl/src/test: resources/org/jboss/seam/xml/test/method and 1 other directory.
by seam-commits@lists.jboss.org
Author: swd847
Date: 2010-04-12 03:07:53 -0400 (Mon, 12 Apr 2010)
New Revision: 12429
Modified:
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodBean.java
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTarget.java
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTest.java
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodValueBean.java
modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/method/method-beans.xml
Log:
updated test to deal with parameters that are a paramatized type
Modified: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodBean.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodBean.java 2010-04-11 07:39:13 UTC (rev 12428)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodBean.java 2010-04-12 07:07:53 UTC (rev 12429)
@@ -4,6 +4,8 @@
*/
package org.jboss.seam.xml.test.method;
+import javax.enterprise.inject.Instance;
+
public class MethodBean
{
@@ -21,5 +23,10 @@
{
return beans.length;
}
+
+ public int method(Instance<MethodValueBean> bean)
+ {
+ return bean.get().getValue() + 1;
+ }
}
Modified: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTarget.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTarget.java 2010-04-11 07:39:13 UTC (rev 12428)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTarget.java 2010-04-12 07:07:53 UTC (rev 12429)
@@ -7,7 +7,7 @@
public class MethodTarget
{
- public int value1, value2;
+ public int value1, value2,value3;
public long longValue;
}
Modified: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTest.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTest.java 2010-04-11 07:39:13 UTC (rev 12428)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodTest.java 2010-04-12 07:07:53 UTC (rev 12429)
@@ -23,6 +23,7 @@
assert x != null;
assert x.value1 == 1;
assert x.value2 == 11;
+ assert x.value3 == 11;
assert x.longValue == 10;
}
Modified: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodValueBean.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodValueBean.java 2010-04-11 07:39:13 UTC (rev 12428)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/method/MethodValueBean.java 2010-04-12 07:07:53 UTC (rev 12429)
@@ -7,4 +7,12 @@
public class MethodValueBean
{
public int value = 10;
+
+public int getValue() {
+ return value;
}
+
+public void setValue(int value) {
+ this.value = value;
+}
+}
Modified: modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/method/method-beans.xml
===================================================================
--- modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/method/method-beans.xml 2010-04-11 07:39:13 UTC (rev 12428)
+++ modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/method/method-beans.xml 2010-04-12 07:07:53 UTC (rev 12429)
@@ -36,7 +36,16 @@
</array>
</parameters>
</test:method>
-
+
+ <test:method>
+ <Produces />
+ <test:Qualifier2 />
+ <parameters>
+ <Instance>
+ <test:Qualifier2 />
+ </Instance>
+ </parameters>
+ </test:method>
</test:MethodBean>
<test:MethodTarget>
@@ -48,6 +57,10 @@
<Inject />
<test:Qualifier1 />
</test:value2>
+ <test:value3>
+ <Inject />
+ <test:Qualifier2 />
+ </test:value3>
<test:longValue>
<Inject />
<test:Qualifier1 />
16 years
Seam SVN: r12428 - in modules/drools/trunk: api/src/main/java/org/jboss/seam/drools/qualifiers/kbase and 3 other directories.
by seam-commits@lists.jboss.org
Author: tsurdilovic
Date: 2010-04-11 03:39:13 -0400 (Sun, 11 Apr 2010)
New Revision: 12428
Added:
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java
Removed:
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/
Modified:
modules/drools/trunk/impl/pom.xml
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java
Log:
changed dependency to xml-bean-config back to "test" and moved qualifiers to drools-api submodule.
Copied: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java (from rev 12427, modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java)
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java 2010-04-11 07:39:13 UTC (rev 12428)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers.kbase;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Qualifier for Drools KnowledgeBase configured for KnowledgeAgent.
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KAgentConfigured
+{
+
+}
Copied: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java (from rev 12427, modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java)
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java 2010-04-11 07:39:13 UTC (rev 12428)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers.kbase;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Qualifier for Drools KnowledgeBase default configuration.
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KBaseConfigured
+{
+
+}
Modified: modules/drools/trunk/impl/pom.xml
===================================================================
--- modules/drools/trunk/impl/pom.xml 2010-04-11 07:32:02 UTC (rev 12427)
+++ modules/drools/trunk/impl/pom.xml 2010-04-11 07:39:13 UTC (rev 12428)
@@ -89,8 +89,7 @@
<dependency>
<groupId>org.jboss.seam.xml</groupId>
<artifactId>seam-xml-bean-config</artifactId>
- <!-- TODO change back to test scope after we figure out what to do w/ @XmlConfigured -->
- <scope>compile</scope>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java 2010-04-11 07:32:02 UTC (rev 12427)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java 2010-04-11 07:39:13 UTC (rev 12428)
@@ -11,7 +11,6 @@
import org.jboss.seam.drools.config.KnowledgeLoggerConfig;
import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
-import org.jboss.seam.xml.annotations.XmlConfigured;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
16 years
Seam SVN: r12427 - in modules/drools/trunk: api/src/main/java/org/jboss/seam/drools and 18 other directories.
by seam-commits@lists.jboss.org
Author: tsurdilovic
Date: 2010-04-11 03:32:02 -0400 (Sun, 11 Apr 2010)
New Revision: 12427
Added:
modules/drools/trunk/.settings/
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/annotations/
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/KnowledgeBuilderErrorsEvent.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/RuleResourceAddedEvent.java
modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/qualifiers/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java
modules/drools/trunk/impl/src/main/resources/META-INF/services/
modules/drools/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
Removed:
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotation/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/events/
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KAgentProduced.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBase.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KSession.java
modules/drools/trunk/impl/src/main/resources/META-INF/javax.enterprise.inject.spi.Extension
Modified:
modules/drools/trunk/impl/pom.xml
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/QueryResultsProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/InsertFact.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/Abort.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/SignalEvent.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/StartProcess.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/interceptor/InsertInterceptor.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/FactProvider.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManager.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManagerConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManager.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManagerConfig.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/utils/ConfigUtils.java
modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertInterceptorTest.java
modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertionBean.java
modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/ForKBaseTest.java
modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java
modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml
Log:
added support for knowledge agent and minor configuration changes.
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/KnowledgeBuilderErrorsEvent.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/KnowledgeBuilderErrorsEvent.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/KnowledgeBuilderErrorsEvent.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.events;
+
+import org.drools.builder.KnowledgeBuilderErrors;
+
+/**
+ * This event is fires in case of KnowledgeBuilder errors.
+ *
+ * @author Tihomir Surdilovic
+ */
+public class KnowledgeBuilderErrorsEvent
+{
+ private KnowledgeBuilderErrors errors;
+
+ public KnowledgeBuilderErrorsEvent(KnowledgeBuilderErrors errors)
+ {
+ this.errors = errors;
+ }
+
+ public KnowledgeBuilderErrors getErrors()
+ {
+ return errors;
+ }
+
+ public void setErrors(KnowledgeBuilderErrors errors)
+ {
+ this.errors = errors;
+ }
+
+}
Added: modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/RuleResourceAddedEvent.java
===================================================================
--- modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/RuleResourceAddedEvent.java (rev 0)
+++ modules/drools/trunk/api/src/main/java/org/jboss/seam/drools/events/RuleResourceAddedEvent.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,26 @@
+package org.jboss.seam.drools.events;
+
+/**
+ * This event is fires when a rule resource is added.
+ *
+ * @author Tihomir Surdilovic
+ */
+public class RuleResourceAddedEvent
+{
+ String resource;
+
+ public RuleResourceAddedEvent(String resource)
+ {
+ this.resource = resource;
+ }
+
+ public String getResource()
+ {
+ return resource;
+ }
+
+ public void setResource(String resource)
+ {
+ this.resource = resource;
+ }
+}
Modified: modules/drools/trunk/impl/pom.xml
===================================================================
--- modules/drools/trunk/impl/pom.xml 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/pom.xml 2010-04-11 07:32:02 UTC (rev 12427)
@@ -89,7 +89,8 @@
<dependency>
<groupId>org.jboss.seam.xml</groupId>
<artifactId>seam-xml-bean-config</artifactId>
- <scope>test</scope>
+ <!-- TODO change back to test scope after we figure out what to do w/ @XmlConfigured -->
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeAgentProducer.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,8 +1,24 @@
package org.jboss.seam.drools;
+import java.util.Properties;
+
+import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
+import org.drools.KnowledgeBase;
+import org.drools.agent.KnowledgeAgent;
+import org.drools.agent.KnowledgeAgentConfiguration;
+import org.drools.agent.KnowledgeAgentFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceChangeScannerConfiguration;
+import org.drools.io.ResourceFactory;
+import org.jboss.seam.drools.config.KnowledgeAgentConfig;
+import org.jboss.seam.drools.events.RuleResourceAddedEvent;
+import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
+import org.jboss.seam.drools.utils.ConfigUtils;
+import org.jboss.weld.extensions.resources.ResourceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -12,7 +28,107 @@
*/
public class KnowledgeAgentProducer
{
- private static final Logger log = LoggerFactory.getLogger(KnowledgeBaseProducer.class);
+ private static final Logger log = LoggerFactory.getLogger(KnowledgeAgentProducer.class);
+
+ @Inject
+ BeanManager manager;
+ @Inject
+ ResourceProvider resourceProvider;
+
+ @Produces
+ @KAgentConfigured
+ KnowledgeBase produceAgentKBase(KnowledgeAgentConfig kagentConfig) throws Exception
+ {
+ ResourceFactory.getResourceChangeScannerService().configure(getResourceChangeScannerConfig(kagentConfig.getResourceChangeScannerConfigPath()));
+ KnowledgeAgentConfiguration aconf = getKnowledgeAgentConfiguration(kagentConfig.getKnowledgeAgentConfigPath());
+
+ KnowledgeAgent kagent;
+ kagent = KnowledgeAgentFactory.newKnowledgeAgent(kagentConfig.getName(), aconf);
+ applyChangeSet(kagent, kagentConfig.getChangeSetResource());
+
+ if(kagentConfig.isStartChangeNotifierService()) {
+ ResourceFactory.getResourceChangeNotifierService().start();
+ }
+ if(kagentConfig.isStartChangeScannerService()) {
+ ResourceFactory.getResourceChangeScannerService().start();
+ }
+
+ return kagent.getKnowledgeBase();
+
+ }
- @Inject BeanManager manager;
+ public void disposeAgentKBase(@Disposes @KAgentConfigured KnowledgeBase kbase) {
+ ResourceFactory.getResourceChangeNotifierService().stop();
+ ResourceFactory.getResourceChangeScannerService().stop();
+ }
+
+ private void applyChangeSet(KnowledgeAgent kagent, String changeSetResource) {
+ if (ConfigUtils.isValidResource(changeSetResource))
+ {
+ ResourceType resourceType = ResourceType.getResourceType(ConfigUtils.getResourceType(changeSetResource));
+ if(resourceType.equals(ResourceType.CHANGE_SET)) {
+ if (ConfigUtils.getResourcePath(changeSetResource).equals(ConfigUtils.RESOURCE_TYPE_URL))
+ {
+ kagent.applyChangeSet(ResourceFactory.newUrlResource(ConfigUtils.getRuleResource(changeSetResource)));
+ manager.fireEvent(new RuleResourceAddedEvent(ConfigUtils.getRuleResource(changeSetResource)));
+ }
+ else if (ConfigUtils.getResourcePath(changeSetResource).equals(ConfigUtils.RESOURCE_TYPE_FILE))
+ {
+ kagent.applyChangeSet(ResourceFactory.newFileResource(ConfigUtils.getRuleResource(changeSetResource)));
+ manager.fireEvent(new RuleResourceAddedEvent(ConfigUtils.getRuleResource(changeSetResource)));
+ }
+ else if (ConfigUtils.getResourcePath(changeSetResource).equals(ConfigUtils.RESOURCE_TYPE_CLASSPATH))
+ {
+ kagent.applyChangeSet(ResourceFactory.newClassPathResource(ConfigUtils.getRuleResource(changeSetResource)));
+ manager.fireEvent(new RuleResourceAddedEvent(ConfigUtils.getRuleResource(changeSetResource)));
+ }
+ else
+ {
+ log.error("Invalid resource: " + ConfigUtils.getResourcePath(changeSetResource));
+ }
+ } else {
+ log.error("Resource must be of type CHANGE_SET");
+ }
+ } else {
+ log.error("Invalid resource definition: " + changeSetResource);
+ }
+
+
+ }
+
+ private ResourceChangeScannerConfiguration getResourceChangeScannerConfig(String resourceChangeScannerConfigPath) throws Exception
+ {
+ ResourceChangeScannerConfiguration sconf = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
+
+ if (resourceChangeScannerConfigPath != null && resourceChangeScannerConfigPath.endsWith(".properties"))
+ {
+ Properties resourceChangeScannerConfProp = ConfigUtils.loadProperties(resourceProvider, resourceChangeScannerConfigPath);
+ sconf = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration(resourceChangeScannerConfProp);
+ log.debug("ResourceChangeScannerConfiguration loaded: " + resourceChangeScannerConfigPath);
+ }
+ else
+ {
+ log.warn("Invalid config type: " + resourceChangeScannerConfigPath);
+ }
+
+ return sconf;
+ }
+
+ private KnowledgeAgentConfiguration getKnowledgeAgentConfiguration(String knowledgeAgentConfigPath) throws Exception
+ {
+ KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
+
+ if (knowledgeAgentConfigPath != null && knowledgeAgentConfigPath.endsWith(".properties"))
+ {
+ Properties knowledgeAgentConfProp = ConfigUtils.loadProperties(resourceProvider, knowledgeAgentConfigPath);
+ aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration(knowledgeAgentConfProp);
+ log.debug("KnowledgeAgentConfiguration loaded: " + knowledgeAgentConfigPath);
+ }
+ else
+ {
+ log.warn("Invalid config type: " + knowledgeAgentConfigPath);
+ }
+
+ return aconf;
+ }
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,10 +1,7 @@
package org.jboss.seam.drools;
-import java.io.InputStream;
import java.util.Properties;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
@@ -23,6 +20,7 @@
import org.jboss.seam.drools.config.KnowledgeBaseConfig;
import org.jboss.seam.drools.events.KnowledgeBuilderErrorsEvent;
import org.jboss.seam.drools.events.RuleResourceAddedEvent;
+import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
import org.jboss.seam.drools.utils.ConfigUtils;
import org.jboss.weld.extensions.resources.ResourceProvider;
import org.slf4j.Logger;
@@ -35,19 +33,22 @@
public class KnowledgeBaseProducer
{
private static final Logger log = LoggerFactory.getLogger(KnowledgeBaseProducer.class);
-
- @Inject BeanManager manager;
- @Inject ResourceProvider resourceProvider;
-
- @Produces public KnowledgeBase produceKBase(KnowledgeBaseConfig kbaseConfig) throws Exception
+
+ @Inject
+ BeanManager manager;
+ @Inject
+ ResourceProvider resourceProvider;
+
+ @Produces @KBaseConfigured
+ public KnowledgeBase produceKBase(KnowledgeBaseConfig kbaseConfig) throws Exception
{
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(getKnowledgeBuilderConfiguration(kbaseConfig));
-
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(getKnowledgeBuilderConfiguration(kbaseConfig.getKnowledgeBuilderConfigPath()));
+
for (String nextResource : kbaseConfig.getRuleResources())
{
addResource(kbuilder, nextResource);
}
-
+
KnowledgeBuilderErrors kbuildererrors = kbuilder.getErrors();
if (kbuildererrors.size() > 0)
{
@@ -57,8 +58,8 @@
}
manager.fireEvent(new KnowledgeBuilderErrorsEvent(kbuildererrors));
}
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(getKnowledgeBaseConfiguration(kbaseConfig));
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(getKnowledgeBaseConfiguration(kbaseConfig.getKnowledgeBaseConfigPath()));
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
if (kbaseConfig.getEventListeners() != null)
@@ -70,57 +71,42 @@
}
return kbase;
}
-
- public void disposeKBase(@Disposes @Any KnowledgeBase kbase) {
- log.info("Disposing Knowledge Base");
- kbase = null;
- }
- private KnowledgeBuilderConfiguration getKnowledgeBuilderConfiguration(KnowledgeBaseConfig kbaseConfig) throws Exception
+ private KnowledgeBuilderConfiguration getKnowledgeBuilderConfiguration(String knowledgeBuilderConfigPath) throws Exception
{
- KnowledgeBuilderConfiguration droolsKbuilderConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
- if (kbaseConfig.getKnowledgeBuilderConfig() != null && kbaseConfig.getKnowledgeBuilderConfig().endsWith(".properties"))
+ KnowledgeBuilderConfiguration droolsKbuilderConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
+ if (knowledgeBuilderConfigPath != null && knowledgeBuilderConfigPath.endsWith(".properties"))
{
- Properties kbuilderProp = new Properties();
- InputStream in = resourceProvider.loadResourceStream(kbaseConfig.getKnowledgeBuilderConfig());
- if (in == null)
- {
- throw new IllegalStateException("Could not locate knowledgeBuilderConfig: " + kbaseConfig.getKnowledgeBuilderConfig());
- }
- kbuilderProp.load(in);
- in.close();
+
+ Properties kbuilderProp = ConfigUtils.loadProperties(resourceProvider, knowledgeBuilderConfigPath);
droolsKbuilderConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(kbuilderProp, null);
- log.debug("KnowledgeBuilderConfiguration loaded: " + kbaseConfig.getKnowledgeBuilderConfig());
- } else {
- log.warn("Invalid config type: " + kbaseConfig.getKnowledgeBuilderConfig());
+ log.debug("KnowledgeBuilderConfiguration loaded: " + knowledgeBuilderConfigPath);
}
+ else
+ {
+ log.warn("Invalid config type: " + knowledgeBuilderConfigPath);
+ }
return droolsKbuilderConfig;
}
-
- public KnowledgeBaseConfiguration getKnowledgeBaseConfiguration(KnowledgeBaseConfig kbaseConfig) throws Exception
+
+ public KnowledgeBaseConfiguration getKnowledgeBaseConfiguration(String knowledgeBaseConfigPath) throws Exception
{
KnowledgeBaseConfiguration droolsKbaseConfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
- if (kbaseConfig.getKnowledgeBaseConfig() != null && kbaseConfig.getKnowledgeBaseConfig().endsWith(".properties"))
+ if (knowledgeBaseConfigPath != null && knowledgeBaseConfigPath.endsWith(".properties"))
{
- Properties kbaseProp = new Properties();
- InputStream in = resourceProvider.loadResourceStream(kbaseConfig.getKnowledgeBaseConfig());
- if (in == null)
- {
- throw new IllegalStateException("Could not locate knowledgeBaseConfig: " + kbaseConfig.getKnowledgeBaseConfig());
- }
- kbaseProp.load(in);
- in.close();
+ Properties kbaseProp = ConfigUtils.loadProperties(resourceProvider, knowledgeBaseConfigPath);
droolsKbaseConfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(kbaseProp, null);
- log.debug("KnowledgeBaseConfiguration loaded: " + kbaseConfig.getKnowledgeBaseConfig());
+ log.debug("KnowledgeBaseConfiguration loaded: " + knowledgeBaseConfigPath);
}
return droolsKbaseConfig;
}
-
+
private void addResource(KnowledgeBuilder kbuilder, String resource) throws Exception
{
- //TODO add support for drools templates definition!
- ResourceType resourceType = ResourceType.getResourceType(ConfigUtils.getResourceType(resource));
- if(ConfigUtils.isValidResource(resource)) {
+ // TODO add support for drools templates definition!
+ if (ConfigUtils.isValidResource(resource))
+ {
+ ResourceType resourceType = ResourceType.getResourceType(ConfigUtils.getResourceType(resource));
if (ConfigUtils.getResourcePath(resource).equals(ConfigUtils.RESOURCE_TYPE_URL))
{
kbuilder.add(ResourceFactory.newUrlResource(ConfigUtils.getRuleResource(resource)), resourceType);
@@ -138,25 +124,34 @@
}
else
{
- log.error("Invalid resource path: " + ConfigUtils .getResourcePath(resource));
+ log.error("Invalid resource: " + ConfigUtils.getResourcePath(resource));
}
- } else {
+ }
+ else
+ {
log.error("Invalid resource definition: " + resource);
}
}
-
- private void addEventListener(org.drools.KnowledgeBase kbase, String eventListener) {
- try {
+
+ private void addEventListener(org.drools.KnowledgeBase kbase, String eventListener)
+ {
+ try
+ {
@SuppressWarnings("unchecked")
Class eventListenerClass = Class.forName(eventListener);
Object eventListenerObject = eventListenerClass.newInstance();
-
- if(eventListenerObject instanceof KnowledgeBaseEventListener) {
+
+ if (eventListenerObject instanceof KnowledgeBaseEventListener)
+ {
kbase.addEventListener((KnowledgeBaseEventListener) eventListenerObject);
- } else {
+ }
+ else
+ {
log.debug("Event Listener " + eventListener + " is not of type KnowledgeBaseEventListener");
}
- } catch(Exception e) {
+ }
+ catch (Exception e)
+ {
log.error("Error adding event listener " + e.getMessage());
}
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeLoggerProducer.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,18 +1,17 @@
package org.jboss.seam.drools;
-import java.util.Map;
-
-import java.lang.annotation.Annotation;
-import javax.enterprise.inject.Any;
import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.InjectionPoint;
import org.drools.event.KnowledgeRuntimeEventManager;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.StatelessKnowledgeSession;
+import org.jboss.seam.drools.config.KnowledgeLoggerConfig;
+import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
+import org.jboss.seam.xml.annotations.XmlConfigured;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -22,35 +21,58 @@
*/
public class KnowledgeLoggerProducer
{
- private static final String fileLoggerType = "file";
- private static final String consoleLoggerType = "console";
- private static final String threadedLoggerType = "threaded";
- private static final String loggerType = "type";
- private static final String loggerPath = "path";
- private static final String loggerInterval = "interval";
-
private static final Logger log = LoggerFactory.getLogger(KnowledgeLoggerProducer.class);
+
+ @Produces
+ public KnowledgeRuntimeLogger produceStatefulKnowledgeLogger(@KBaseConfigured StatefulKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ {
+ return getLogger(ksession, loggerConfig);
+ }
+ @Produces
+ public KnowledgeRuntimeLogger produceStatefulKnowledgeLoggerForKAgent(@KAgentConfigured StatefulKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ {
+ return getLogger(ksession, loggerConfig);
+ }
+
+ @Produces
+ public KnowledgeRuntimeLogger produceStatelessKnowledgeLogger(@KBaseConfigured StatelessKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ {
+ return getLogger(ksession, loggerConfig);
+ }
- @Produces public KnowledgeRuntimeLogger produceKnowledgeLogger(InjectionPoint ip, Instance<KnowledgeRuntimeEventManager> ksessionInstance, Instance<Map<String, String>> loggerInfoInstance) {
+ @Produces
+ public KnowledgeRuntimeLogger produceStatelessKnowledgeLoggerForKAgent(@KAgentConfigured StatelessKnowledgeSession ksession, KnowledgeLoggerConfig loggerConfig)
+ {
+ return getLogger(ksession, loggerConfig);
+ }
+
+ private KnowledgeRuntimeLogger getLogger(KnowledgeRuntimeEventManager ksession, KnowledgeLoggerConfig loggerConfig)
+ {
KnowledgeRuntimeLogger krLogger = null;
- KnowledgeRuntimeEventManager ksession = ksessionInstance.select(ip.getQualifiers().toArray(new Annotation[0])).get();
- Map<String, String> loggerInfo = loggerInfoInstance.select(ip.getQualifiers().toArray(new Annotation[0])).get();
- if(loggerInfo.get(loggerType).equalsIgnoreCase(fileLoggerType)) {
- String logName = loggerInfo.get(loggerPath) + System.currentTimeMillis();
+ if (loggerConfig.isFileType())
+ {
+ String logName = loggerConfig.getPath() + System.currentTimeMillis();
krLogger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, logName);
- } else if(loggerInfo.get(loggerType).equalsIgnoreCase(consoleLoggerType)) {
+ }
+ else if (loggerConfig.isConsoleType())
+ {
krLogger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);
- } else if(loggerInfo.get(loggerType).equalsIgnoreCase(threadedLoggerType)) {
- String logName = loggerInfo.get(loggerPath) + System.currentTimeMillis();
- krLogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, logName, Integer.parseInt(loggerInfo.get(loggerInterval)));
- } else {
- log.error("Invalid logger specified: type: " + loggerInfo.get(loggerType) + " path: " + loggerInfo.get(loggerPath) + " loggerInfo.get(loggerInterval): " + loggerInfo.get(loggerInterval));
}
+ else if (loggerConfig.isThreadedType())
+ {
+ String logName = loggerConfig.getPath() + System.currentTimeMillis();
+ krLogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, logName, loggerConfig.getInterval());
+ }
+ else
+ {
+ log.error("Invalid logger specified: type: " + loggerConfig.getType() + " path: " + loggerConfig.getPath() + " interval: " + loggerConfig.getInterval());
+ }
return krLogger;
}
-
- public void disposeKnowledgeLogger(@Disposes KnowledgeRuntimeLogger logger) {
+
+ public void disposeKnowledgeLogger(@Disposes KnowledgeRuntimeLogger logger)
+ {
logger.close();
}
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeSessionProducer.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,6 +1,5 @@
package org.jboss.seam.drools;
-import java.io.InputStream;
import java.util.Properties;
import javax.enterprise.inject.Any;
@@ -21,6 +20,8 @@
import org.drools.runtime.StatelessKnowledgeSession;
import org.drools.runtime.process.WorkItemHandler;
import org.jboss.seam.drools.config.KnowledgeSessionConfig;
+import org.jboss.seam.drools.qualifiers.kbase.KAgentConfigured;
+import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
import org.jboss.seam.drools.utils.ConfigUtils;
import org.jboss.weld.extensions.resources.ResourceProvider;
import org.slf4j.Logger;
@@ -33,83 +34,113 @@
public class KnowledgeSessionProducer
{
private static final Logger log = LoggerFactory.getLogger(KnowledgeSessionProducer.class);
-
- @Inject BeanManager manager;
- @Inject ResourceProvider resourceProvider;
-
- @Produces public StatefulKnowledgeSession produceStatefulSession(@Any KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception {
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(getConfig(ksessionConfig), null);
+
+ @Inject
+ BeanManager manager;
+ @Inject
+ ResourceProvider resourceProvider;
+
+ @Produces
+ @KBaseConfigured
+ public StatefulKnowledgeSession produceStatefulSession(@KBaseConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception
+ {
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(getConfig(ksessionConfig.getKnowledgeSessionConfigPath()), null);
addEventListeners(ksession, ksessionConfig);
addWorkItemHandlers(ksession, ksessionConfig);
-
+
return ksession;
}
-
- @Produces public StatelessKnowledgeSession produceStatelessSession(@Any KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception {
- StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(getConfig(ksessionConfig));
+
+ @Produces
+ @KAgentConfigured
+ StatefulKnowledgeSession produceStatefulSessionFromKAgent(@KAgentConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception
+ {
+ return null;
+ }
+
+ @Produces
+ @KAgentConfigured
+ StatelessKnowledgeSession produceStatelessSessionFromKAgent(@KAgentConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksesiosnConfig)
+ {
+ return null;
+ }
+
+ @Produces
+ @KBaseConfigured
+ public StatelessKnowledgeSession produceStatelessSession(@KBaseConfigured KnowledgeBase kbase, KnowledgeSessionConfig ksessionConfig) throws Exception
+ {
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(getConfig(ksessionConfig.getKnowledgeSessionConfigPath()));
addEventListeners(ksession, ksessionConfig);
-
+
return ksession;
}
-
- void disposeStatefulSession(@Disposes StatefulKnowledgeSession session) {
+
+ void disposeStatefulSession(@Disposes @Any StatefulKnowledgeSession session)
+ {
session.dispose();
}
-
- void disposeStatelessSession(@Disposes StatelessKnowledgeSession session) {
- session = null;
- }
-
- private KnowledgeSessionConfiguration getConfig(KnowledgeSessionConfig ksessionConfig) throws Exception{
+
+ private KnowledgeSessionConfiguration getConfig(String knowledgeSessionConfigPath) throws Exception
+ {
KnowledgeSessionConfiguration droolsKsessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration();
- if (ksessionConfig.getKnowledgeSessionConfig() != null && ksessionConfig.getKnowledgeSessionConfig().endsWith(".properties"))
+ if (knowledgeSessionConfigPath != null && knowledgeSessionConfigPath.endsWith(".properties"))
{
- Properties ksessionProp = new Properties();
- //InputStream in = this.getClass().getClassLoader().getResourceAsStream(ksessionManagerConfig.getKnowledgeSessionConfig());
- InputStream in = resourceProvider.loadResourceStream(ksessionConfig.getKnowledgeSessionConfig());
- if (in == null)
- {
- throw new IllegalStateException("Could not locate knowledgeSessionrConfig: " + ksessionConfig.getKnowledgeSessionConfig());
- }
- ksessionProp.load(in);
- in.close();
+ Properties ksessionProp = ConfigUtils.loadProperties(resourceProvider, knowledgeSessionConfigPath);
droolsKsessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(ksessionProp);
- log.debug("KnowledgeSessionConfiguration loaded: " + ksessionConfig.getKnowledgeSessionConfig());
- } else {
-
+ log.debug("KnowledgeSessionConfiguration loaded: " + knowledgeSessionConfigPath);
}
+ else
+ {
+ log.warn("Invalid config type: " + knowledgeSessionConfigPath);
+ }
return droolsKsessionConfig;
}
-
- private void addEventListeners(KnowledgeRuntimeEventManager ksession, KnowledgeSessionConfig ksessionConfig) throws Exception {
- if(ksessionConfig.getEventListeners() != null) {
- for(String eventListener : ksessionConfig.getEventListeners()) {
+
+ private void addEventListeners(KnowledgeRuntimeEventManager ksession, KnowledgeSessionConfig ksessionConfig) throws Exception
+ {
+ if (ksessionConfig.getEventListeners() != null)
+ {
+ for (String eventListener : ksessionConfig.getEventListeners())
+ {
@SuppressWarnings("unchecked")
Class eventListenerClass = Class.forName(eventListener);
- Object eventListenerObject = eventListenerClass.newInstance();
- if(eventListenerObject instanceof WorkingMemoryEventListener) {
+ Object eventListenerObject = eventListenerClass.newInstance();
+ if (eventListenerObject instanceof WorkingMemoryEventListener)
+ {
ksession.addEventListener((WorkingMemoryEventListener) eventListenerObject);
- } else if(eventListenerObject instanceof AgendaEventListener) {
+ }
+ else if (eventListenerObject instanceof AgendaEventListener)
+ {
ksession.addEventListener((AgendaEventListener) eventListenerObject);
- } else if(eventListenerObject instanceof ProcessEventListener) {
+ }
+ else if (eventListenerObject instanceof ProcessEventListener)
+ {
ksession.addEventListener((ProcessEventListener) eventListenerObject);
- } else {
+ }
+ else
+ {
log.debug("Invalid Event Listener: " + eventListener);
}
}
}
}
-
- private void addWorkItemHandlers(StatefulKnowledgeSession ksession, KnowledgeSessionConfig ksessionConfig) {
- if(ksessionConfig.getWorkItemHandlers() != null) {
- for(String workItemHandlerStr : ksessionConfig.getWorkItemHandlers()) {
- if(ConfigUtils.isValidWorkItemHandler(workItemHandlerStr)) {
+
+ private void addWorkItemHandlers(StatefulKnowledgeSession ksession, KnowledgeSessionConfig ksessionConfig)
+ {
+ if (ksessionConfig.getWorkItemHandlers() != null)
+ {
+ for (String workItemHandlerStr : ksessionConfig.getWorkItemHandlers())
+ {
+ if (ConfigUtils.isValidWorkItemHandler(workItemHandlerStr))
+ {
@SuppressWarnings("unchecked")
Bean<WorkItemHandler> workItemHandlerBean = (Bean<WorkItemHandler>) manager.getBeans(ConfigUtils.getWorkItemHandlerType(workItemHandlerStr)).iterator().next();
WorkItemHandler handler = (WorkItemHandler) manager.getReference(workItemHandlerBean, WorkItemHandler.class, manager.createCreationalContext(workItemHandlerBean));
log.debug("Registering new WorkItemHandler: " + ConfigUtils.getWorkItemHandlerName(workItemHandlerStr));
ksession.getWorkItemManager().registerWorkItemHandler(ConfigUtils.getWorkItemHandlerName(workItemHandlerStr), handler);
- } else {
+ }
+ else
+ {
log.warn("Invalid workitem handler configuration for: " + workItemHandlerStr);
}
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/QueryResultsProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/QueryResultsProducer.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/QueryResultsProducer.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -14,7 +14,9 @@
public class QueryResultsProducer
{
private static final Logger log = LoggerFactory.getLogger(KnowledgeBaseProducer.class);
-
- @Inject BeanManager manager;
- @Inject ResourceProvider resourceProvider;
+
+ @Inject
+ BeanManager manager;
+ @Inject
+ ResourceProvider resourceProvider;
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/InsertFact.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/InsertFact.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/InsertFact.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -14,19 +14,28 @@
/**
* Insert fact into WM or EntryPoint. Also determine firing rules decisions.
- *
+ *
* @author Tihomir Surdilovic
*/
@InterceptorBinding
-@Target({TYPE, METHOD})
+@Target( { TYPE, METHOD })
@Documented
@Retention(RUNTIME)
@Inherited
public @interface InsertFact
{
- @Nonbinding int ksessionId() default -1;
- @Nonbinding boolean fireAllRules() default false;
- @Nonbinding int fireCount() default -1;
- @Nonbinding boolean fireUntilHalt() default false;
- @Nonbinding String entryPointName() default "";
+ @Nonbinding
+ int ksessionId() default -1;
+
+ @Nonbinding
+ boolean fireAllRules() default false;
+
+ @Nonbinding
+ int fireCount() default -1;
+
+ @Nonbinding
+ boolean fireUntilHalt() default false;
+
+ @Nonbinding
+ String entryPointName() default "";
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/Abort.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/Abort.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/Abort.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -14,15 +14,16 @@
/**
* Abort the process instace.
- *
+ *
* @author Tihomir Surdilovic
*/
@InterceptorBinding
-@Target({TYPE, METHOD})
+@Target( { TYPE, METHOD })
@Documented
@Retention(RUNTIME)
@Inherited
public @interface Abort
{
- @Nonbinding long processid();
+ @Nonbinding
+ long processid();
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/SignalEvent.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/SignalEvent.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/SignalEvent.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -14,18 +14,25 @@
/**
* Event to be signalled to the process instance or process engine directly.
- *
+ *
* @author Tihomir Surdilovic
*/
@InterceptorBinding
-@Target({TYPE, METHOD})
+@Target( { TYPE, METHOD })
@Documented
@Retention(RUNTIME)
@Inherited
public @interface SignalEvent
{
- @Nonbinding String type() default "";
- @Nonbinding String event() default "";
- @Nonbinding String processId() default "";
- @Nonbinding String sessionId() default "";
+ @Nonbinding
+ String type() default "";
+
+ @Nonbinding
+ String event() default "";
+
+ @Nonbinding
+ String processId() default "";
+
+ @Nonbinding
+ String sessionId() default "";
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/StartProcess.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/StartProcess.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/annotations/flow/StartProcess.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -13,15 +13,18 @@
/**
* Starts a Rule Flow process.
- *
+ *
* @author Tihomir Surdilovic
*/
@InterceptorBinding
-@Target({TYPE, METHOD})
+@Target( { TYPE, METHOD })
@Documented
@Retention(RUNTIME)
public @interface StartProcess
{
- @Nonbinding String processId() default "";
- @Nonbinding String sessionId() default "";
+ @Nonbinding
+ String processId() default "";
+
+ @Nonbinding
+ String sessionId() default "";
}
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/bootstrap/DroolsExtension.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,8 @@
+package org.jboss.seam.drools.bootstrap;
+
+import javax.enterprise.inject.spi.Extension;
+
+public class DroolsExtension implements Extension
+{
+
+}
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeAgentConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,77 @@
+package org.jboss.seam.drools.config;
+
+/**
+ * Configuration data for Drools KnowledeAgent.
+ *
+ * @author Tihomir Surdilovic
+ */
+public class KnowledgeAgentConfig
+{
+ private String resourceChangeScannerConfigPath;
+ private String knowledgeAgentConfigPath;
+ private String changeSetResource;
+ private String name;
+ private boolean startChangeNotifierService;
+ private boolean startChangeScannerService;
+
+ public String getResourceChangeScannerConfigPath()
+ {
+ return resourceChangeScannerConfigPath;
+ }
+
+ public void setResourceChangeScannerConfigPath(String resourceChangeScannerConfigPath)
+ {
+ this.resourceChangeScannerConfigPath = resourceChangeScannerConfigPath;
+ }
+
+ public String getKnowledgeAgentConfigPath()
+ {
+ return knowledgeAgentConfigPath;
+ }
+
+ public void setKnowledgeAgentConfigPath(String knowledgeAgentConfigPath)
+ {
+ this.knowledgeAgentConfigPath = knowledgeAgentConfigPath;
+ }
+
+ public String getChangeSetResource()
+ {
+ return changeSetResource;
+ }
+
+ public void setChangeSetResource(String changeSetResource)
+ {
+ this.changeSetResource = changeSetResource;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public boolean isStartChangeNotifierService()
+ {
+ return startChangeNotifierService;
+ }
+
+ public void setStartChangeNotifierService(boolean startChangeNotifierService)
+ {
+ this.startChangeNotifierService = startChangeNotifierService;
+ }
+
+ public boolean isStartChangeScannerService()
+ {
+ return startChangeScannerService;
+ }
+
+ public void setStartChangeScannerService(boolean startChangeScannerService)
+ {
+ this.startChangeScannerService = startChangeScannerService;
+ }
+
+}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeBaseConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -6,29 +6,29 @@
*/
public class KnowledgeBaseConfig
{
- private String knowledgeBuilderConfig;
- private String knowledgeBaseConfig;
+ private String knowledgeBuilderConfigPath;
+ private String knowledgeBaseConfigPath;
private String[] ruleResources;
private String[] eventListeners;
- public String getKnowledgeBuilderConfig()
+ public String getKnowledgeBuilderConfigPath()
{
- return knowledgeBuilderConfig;
+ return knowledgeBuilderConfigPath;
}
- public void setKnowledgeBuilderConfig(String knowledgeBuilderConfig)
+ public void setKnowledgeBuilderConfigPath(String knowledgeBuilderConfigPath)
{
- this.knowledgeBuilderConfig = knowledgeBuilderConfig;
+ this.knowledgeBuilderConfigPath = knowledgeBuilderConfigPath;
}
- public String getKnowledgeBaseConfig()
+ public String getKnowledgeBaseConfigPath()
{
- return knowledgeBaseConfig;
+ return knowledgeBaseConfigPath;
}
- public void setKnowledgeBaseConfig(String knowledgeBaseConfig)
+ public void setKnowledgeBaseConfigPath(String knowledgeBaseConfigPath)
{
- this.knowledgeBaseConfig = knowledgeBaseConfig;
+ this.knowledgeBaseConfigPath = knowledgeBaseConfigPath;
}
public String[] getRuleResources()
@@ -54,7 +54,7 @@
public String toString()
{
StringBuffer buff = new StringBuffer();
- buff.append("knowledgeBuilderConfig: " + knowledgeBuilderConfig + "\n").append("knowledgeBaseConfig: " + knowledgeBaseConfig + "\n");
+ buff.append("knowledgeBuilderConfigPath: " + knowledgeBuilderConfigPath + "\n").append("knowledgeBaseConfigPath: " + knowledgeBaseConfigPath + "\n");
if (ruleResources != null)
{
buff.append("Rule Resources:\n");
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeLoggerConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,65 @@
+package org.jboss.seam.drools.config;
+
+public class KnowledgeLoggerConfig
+{
+ private String name;
+ private String type;
+ private String path;
+ private int interval;
+
+ public boolean isFileType()
+ {
+ return type != null && type.equalsIgnoreCase("file");
+ }
+
+ public boolean isConsoleType()
+ {
+ return type != null && type.equalsIgnoreCase("console");
+ }
+
+ public boolean isThreadedType()
+ {
+ return type != null && type.equalsIgnoreCase("threaded");
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ public void setType(String type)
+ {
+ this.type = type;
+ }
+
+ public String getPath()
+ {
+ return path;
+ }
+
+ public void setPath(String path)
+ {
+ this.path = path;
+ }
+
+ public int getInterval()
+ {
+ return interval;
+ }
+
+ public void setInterval(int interval)
+ {
+ this.interval = interval;
+ }
+
+}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/config/KnowledgeSessionConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -8,8 +8,8 @@
{
private String[] eventListeners;
private String[] workItemHandlers;
- private String knowledgeSessionConfig;
-
+ private String knowledgeSessionConfigPath;
+
public String[] getEventListeners()
{
return eventListeners;
@@ -30,20 +30,20 @@
this.workItemHandlers = workItemHandlers;
}
- public String getKnowledgeSessionConfig()
+ public String getKnowledgeSessionConfigPath()
{
- return knowledgeSessionConfig;
+ return knowledgeSessionConfigPath;
}
- public void setKnowledgeSessionConfig(String knowledgeSessionConfig)
+ public void setKnowledgeSessionConfigPath(String knowledgeSessionConfigPath)
{
- this.knowledgeSessionConfig = knowledgeSessionConfig;
+ this.knowledgeSessionConfigPath = knowledgeSessionConfigPath;
}
public String toString()
{
StringBuffer buff = new StringBuffer();
- buff.append("knowledgeSessionConfig: " + knowledgeSessionConfig + "\n");
+ buff.append("knowledgeSessionConfigPath: " + knowledgeSessionConfigPath + "\n");
if (eventListeners != null)
{
buff.append("Event Listeners:\n");
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/interceptor/InsertInterceptor.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/interceptor/InsertInterceptor.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/interceptor/InsertInterceptor.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -6,14 +6,16 @@
import org.jboss.seam.drools.annotations.InsertFact;
-@InsertFact @Interceptor
+@InsertFact
+@Interceptor
public class InsertInterceptor
{
- @AroundInvoke
- public Object manageTransaction(InvocationContext ctx) throws Exception {
+ @AroundInvoke
+ public Object manageTransaction(InvocationContext ctx) throws Exception
+ {
InsertFact insertFactAnnotation = ctx.getMethod().getAnnotation(InsertFact.class);
- System.out.println("ksession id: " +insertFactAnnotation.ksessionId());
-
+ System.out.println("ksession id: " + insertFactAnnotation.ksessionId());
+
return ctx.proceed();
}
}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/FactProvider.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/FactProvider.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/FactProvider.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -12,9 +12,11 @@
public interface FactProvider
{
public List<Object> getFacts();
+
public void setFacts(List<Object> facts);
-
+
public Map<String, Object> getGlobals();
+
public void setGlobals(Map<String, Object> globals);
-
+
}
\ No newline at end of file
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManager.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManager.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManager.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -37,171 +37,229 @@
*/
public class KnowledgeBaseManager
{
- /** private static final Logger log = LoggerFactory.getLogger(KnowledgeBaseManager.class);
-
- private KnowledgeBaseManagerConfig kbaseManagerConfig;
-
- @Inject
- BeanManager manager;
-
- @Inject
- public KnowledgeBaseManager(KnowledgeBaseManagerConfig kbaseManagerConfig) {
- this.kbaseManagerConfig = kbaseManagerConfig;
- }
-
- //@Produces
- //@ApplicationScoped
- public KnowledgeBase createKBase() throws Exception
- {
- KnowledgeBase kbase;
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(getKnowledgeBuilderConfiguration());
-
- for (String nextResource : kbaseManagerConfig.getRuleResources())
- {
- addResource(kbuilder, nextResource);
- }
-
- KnowledgeBuilderErrors kbuildererrors = kbuilder.getErrors();
- if (kbuildererrors.size() > 0)
- {
- for (KnowledgeBuilderError kbuildererror : kbuildererrors)
- {
- log.error(kbuildererror.getMessage());
- }
- manager.fireEvent(new KnowledgeBuilderErrorsEvent(kbuildererrors));
- }
-
- kbase = KnowledgeBaseFactory.newKnowledgeBase(getKnowledgeBaseConfiguration());
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
-
- if (kbaseManagerConfig.getEventListeners() != null)
- {
- for (String eventListener : kbaseManagerConfig.getEventListeners())
- {
- addEventListener(kbase, eventListener);
- }
- }
- return kbase;
- }
-
- //public void disposeKBase(@Disposes KnowledgeBase kbase)
- //{
- // kbase = null;
- // }
-
- private void addEventListener(org.drools.KnowledgeBase kbase, String eventListener) {
- try {
- @SuppressWarnings("unchecked")
- Class eventListenerClass = Class.forName(eventListener);
- Object eventListenerObject = eventListenerClass.newInstance();
-
- if(eventListenerObject instanceof KnowledgeBaseEventListener) {
- kbase.addEventListener((KnowledgeBaseEventListener) eventListenerObject);
- } else {
- log.debug("Event Listener " + eventListener + " is not of type KnowledgeBaseEventListener");
- }
- } catch(Exception e) {
- log.error("Error adding event listener " + e.getMessage());
- }
- }
-
- protected void addResource(KnowledgeBuilder kbuilder, String resource) throws Exception
- {
- if(KnowledgeBaseManagerConfig.isValidResource(resource)) {
- ResourceType resourceType = ResourceType.getResourceType(KnowledgeBaseManagerConfig.getResourceType(resource));
- if(KnowledgeBaseManagerConfig.isRuleTemplate(resource)) {
- @SuppressWarnings("unchecked")
- Bean<TemplateDataProvider> templateDataProviderBean = (Bean<TemplateDataProvider>) manager.getBeans(KnowledgeBaseManagerConfig.getTemplateData(resource)).iterator().next();
-
- TemplateDataProvider templateDataProvider = (TemplateDataProvider) manager.getReference(templateDataProviderBean, Configuration.class, manager.createCreationalContext(templateDataProviderBean));
-
- InputStream templateStream = this.getClass().getClassLoader().getResourceAsStream(KnowledgeBaseManagerConfig.getRuleResource(resource));
- if (templateStream == null)
- {
- throw new IllegalStateException("Could not locate rule resource: " + KnowledgeBaseManagerConfig.getRuleResource(resource));
- }
-
- ObjectDataCompiler converter = new ObjectDataCompiler();
- String drl = converter.compile(templateDataProvider.getTemplateData(), templateStream);
- templateStream.close();
- log.debug("Generated following DRL from template: " + drl);
- Reader rdr = new StringReader(drl);
-
- kbuilder.add(ResourceFactory.newReaderResource(rdr), resourceType);
- } else {
- if (KnowledgeBaseManagerConfig.getResourcePath(resource).equals(KnowledgeBaseManagerConfig.RESOURCE_TYPE_URL))
- {
- kbuilder.add(ResourceFactory.newUrlResource(KnowledgeBaseManagerConfig.getRuleResource(resource)), resourceType);
- manager.fireEvent(new RuleResourceAddedEvent(KnowledgeBaseManagerConfig.getRuleResource(resource)));
- }
- else if (KnowledgeBaseManagerConfig.getResourcePath(resource).equals(KnowledgeBaseManagerConfig.RESOURCE_TYPE_FILE))
- {
- kbuilder.add(ResourceFactory.newFileResource(KnowledgeBaseManagerConfig.getRuleResource(resource)), resourceType);
- manager.fireEvent(new RuleResourceAddedEvent(KnowledgeBaseManagerConfig.getRuleResource(resource)));
- }
- else if (KnowledgeBaseManagerConfig.getResourcePath(resource).equals(KnowledgeBaseManagerConfig.RESOURCE_TYPE_CLASSPATH))
- {
- kbuilder.add(ResourceFactory.newClassPathResource(KnowledgeBaseManagerConfig.getRuleResource(resource)), resourceType);
- manager.fireEvent(new RuleResourceAddedEvent(KnowledgeBaseManagerConfig.getRuleResource(resource)));
- }
- else
- {
- log.error("Invalid resource path: " + KnowledgeBaseManagerConfig.getResourcePath(resource));
- }
- }
- } else {
- log.error("Invalid resource definition: " + resource);
- }
- }
-
- public KnowledgeBuilderConfiguration getKnowledgeBuilderConfiguration() throws Exception
- {
- KnowledgeBuilderConfiguration kbuilderconfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
- if(kbaseManagerConfig.getKnowledgeBuilderConfigProp() != null) {
- kbuilderconfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(kbaseManagerConfig.getKnowledgeBuilderConfigProp(), null);
- log.debug("KnowledgeBuilderConfiguration loaded: " + kbaseManagerConfig.getKnowledgeBuilderConfigProp());
- } else {
- // Only allow resource for .properties files
- if (kbaseManagerConfig.getKnowledgeBuilderConfig() != null && kbaseManagerConfig.getKnowledgeBuilderConfig().endsWith(".properties"))
- {
- Properties kbuilderProp = new Properties();
- InputStream in = this.getClass().getClassLoader().getResourceAsStream(kbaseManagerConfig.getKnowledgeBuilderConfig());
- if (in == null)
- {
- throw new IllegalStateException("Could not locate knowledgeBuilderConfig: " + kbaseManagerConfig.getKnowledgeBuilderConfig());
- }
- kbuilderProp.load(in);
- in.close();
- kbuilderconfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(kbuilderProp, null);
- log.debug("KnowledgeBuilderConfiguration loaded: " + kbaseManagerConfig.getKnowledgeBuilderConfig());
- }
- }
- return kbuilderconfig;
- }
-
- public KnowledgeBaseConfiguration getKnowledgeBaseConfiguration() throws Exception
- {
- KnowledgeBaseConfiguration kbaseconfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
-
- if(kbaseManagerConfig.getKnowledgeBaseConfigProp() != null) {
- kbaseconfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(kbaseManagerConfig.getKnowledgeBaseConfigProp(), null);
- log.debug("KnowledgeBaseConfiguration loaded: " + kbaseManagerConfig.getKnowledgeBaseConfigProp());
- } else {
- // Only allow resource for .properties files
- if (kbaseManagerConfig.getKnowledgeBaseConfig() != null && kbaseManagerConfig.getKnowledgeBaseConfig().endsWith(".properties"))
- {
- Properties kbaseProp = new Properties();
- InputStream in = this.getClass().getClassLoader().getResourceAsStream(kbaseManagerConfig.getKnowledgeBaseConfig());
- if (in == null)
- {
- throw new IllegalStateException("Could not locate knowledgeBaseConfig: " + kbaseManagerConfig.getKnowledgeBaseConfig());
- }
- kbaseProp.load(in);
- in.close();
- kbaseconfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(kbaseProp, null);
- log.debug("KnowledgeBaseConfiguration loaded: " + kbaseManagerConfig.getKnowledgeBaseConfig());
- }
- }
- return kbaseconfig;
- }
-**/}
\ No newline at end of file
+ /**
+ * private static final Logger log =
+ * LoggerFactory.getLogger(KnowledgeBaseManager.class);
+ *
+ * private KnowledgeBaseManagerConfig kbaseManagerConfig;
+ *
+ * @Inject BeanManager manager;
+ * @Inject public KnowledgeBaseManager(KnowledgeBaseManagerConfig
+ * kbaseManagerConfig) { this.kbaseManagerConfig =
+ * kbaseManagerConfig; }
+ *
+ * //@Produces //@ApplicationScoped public KnowledgeBase
+ * createKBase() throws Exception { KnowledgeBase kbase;
+ * KnowledgeBuilder kbuilder =
+ * KnowledgeBuilderFactory.newKnowledgeBuilder
+ * (getKnowledgeBuilderConfiguration());
+ *
+ * for (String nextResource : kbaseManagerConfig.getRuleResources())
+ * { addResource(kbuilder, nextResource); }
+ *
+ * KnowledgeBuilderErrors kbuildererrors = kbuilder.getErrors(); if
+ * (kbuildererrors.size() > 0) { for (KnowledgeBuilderError
+ * kbuildererror : kbuildererrors) {
+ * log.error(kbuildererror.getMessage()); } manager.fireEvent(new
+ * KnowledgeBuilderErrorsEvent(kbuildererrors)); }
+ *
+ * kbase =
+ * KnowledgeBaseFactory.newKnowledgeBase(getKnowledgeBaseConfiguration
+ * ()); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+ *
+ * if (kbaseManagerConfig.getEventListeners() != null) { for (String
+ * eventListener : kbaseManagerConfig.getEventListeners()) {
+ * addEventListener(kbase, eventListener); } } return kbase; }
+ *
+ * //public void disposeKBase(@Disposes KnowledgeBase kbase) //{ //
+ * kbase = null; // }
+ *
+ * private void addEventListener(org.drools.KnowledgeBase kbase,
+ * String eventListener) { try {
+ * @SuppressWarnings("unchecked") Class eventListenerClass =
+ * Class.forName(eventListener); Object
+ * eventListenerObject =
+ * eventListenerClass.newInstance();
+ *
+ * if(eventListenerObject instanceof
+ * KnowledgeBaseEventListener) {
+ * kbase.addEventListener
+ * ((KnowledgeBaseEventListener)
+ * eventListenerObject); } else {
+ * log.debug("Event Listener " + eventListener
+ * +
+ * " is not of type KnowledgeBaseEventListener"
+ * ); } } catch(Exception e) {
+ * log.error("Error adding event listener " +
+ * e.getMessage()); } }
+ *
+ * protected void addResource(KnowledgeBuilder
+ * kbuilder, String resource) throws Exception
+ * {
+ * if(KnowledgeBaseManagerConfig.isValidResource
+ * (resource)) { ResourceType resourceType =
+ * ResourceType.getResourceType(
+ * KnowledgeBaseManagerConfig
+ * .getResourceType(resource));
+ * if(KnowledgeBaseManagerConfig
+ * .isRuleTemplate(resource)) {
+ * @SuppressWarnings("unchecked") Bean<TemplateDataProvider>
+ * templateDataProviderBean =
+ * (Bean<TemplateDataProvider>)
+ * manager.getBeans
+ * (KnowledgeBaseManagerConfig.
+ * getTemplateData(
+ * resource)).iterator().next();
+ *
+ * TemplateDataProvider templateDataProvider =
+ * (TemplateDataProvider)
+ * manager.getReference(
+ * templateDataProviderBean,
+ * Configuration.class,
+ * manager.createCreationalContext
+ * (templateDataProviderBean));
+ *
+ * InputStream templateStream =
+ * this.getClass()
+ * .getClassLoader().getResourceAsStream
+ * (KnowledgeBaseManagerConfig
+ * .getRuleResource(resource)); if
+ * (templateStream == null) { throw new
+ * IllegalStateException
+ * ("Could not locate rule resource: " +
+ * KnowledgeBaseManagerConfig
+ * .getRuleResource(resource)); }
+ *
+ * ObjectDataCompiler converter = new
+ * ObjectDataCompiler(); String drl =
+ * converter.compile(templateDataProvider.
+ * getTemplateData(), templateStream);
+ * templateStream.close();
+ * log.debug("Generated following DRL from template: "
+ * + drl); Reader rdr = new StringReader(drl);
+ *
+ *
+ * kbuilder.add(ResourceFactory.newReaderResource
+ * (rdr), resourceType); } else { if
+ * (KnowledgeBaseManagerConfig
+ * .getResourcePath(resource).equals(
+ * KnowledgeBaseManagerConfig
+ * .RESOURCE_TYPE_URL)) {
+ * kbuilder.add(ResourceFactory
+ * .newUrlResource(
+ * KnowledgeBaseManagerConfig.getRuleResource
+ * (resource)), resourceType);
+ * manager.fireEvent(new
+ * RuleResourceAddedEvent
+ * (KnowledgeBaseManagerConfig
+ * .getRuleResource(resource))); } else if
+ * (KnowledgeBaseManagerConfig
+ * .getResourcePath(resource).equals(
+ * KnowledgeBaseManagerConfig
+ * .RESOURCE_TYPE_FILE)) {
+ * kbuilder.add(ResourceFactory
+ * .newFileResource
+ * (KnowledgeBaseManagerConfig.
+ * getRuleResource(resource)), resourceType);
+ * manager.fireEvent(new
+ * RuleResourceAddedEvent
+ * (KnowledgeBaseManagerConfig
+ * .getRuleResource(resource))); } else if
+ * (KnowledgeBaseManagerConfig
+ * .getResourcePath(resource).equals(
+ * KnowledgeBaseManagerConfig
+ * .RESOURCE_TYPE_CLASSPATH)) {
+ * kbuilder.add(ResourceFactory
+ * .newClassPathResource
+ * (KnowledgeBaseManagerConfig
+ * .getRuleResource(resource)), resourceType);
+ * manager.fireEvent(new
+ * RuleResourceAddedEvent
+ * (KnowledgeBaseManagerConfig
+ * .getRuleResource(resource))); } else {
+ * log.error("Invalid resource path: " +
+ * KnowledgeBaseManagerConfig
+ * .getResourcePath(resource)); } } } else {
+ * log.error("Invalid resource definition: " +
+ * resource); } }
+ *
+ * public KnowledgeBuilderConfiguration
+ * getKnowledgeBuilderConfiguration() throws
+ * Exception { KnowledgeBuilderConfiguration
+ * kbuilderconfig = KnowledgeBuilderFactory.
+ * newKnowledgeBuilderConfiguration();
+ * if(kbaseManagerConfig
+ * .getKnowledgeBuilderConfigProp() != null) {
+ * kbuilderconfig = KnowledgeBuilderFactory.
+ * newKnowledgeBuilderConfiguration
+ * (kbaseManagerConfig
+ * .getKnowledgeBuilderConfigProp(), null);
+ * log.debug(
+ * "KnowledgeBuilderConfiguration loaded: " +
+ * kbaseManagerConfig
+ * .getKnowledgeBuilderConfigProp()); } else {
+ * // Only allow resource for .properties
+ * files if
+ * (kbaseManagerConfig.getKnowledgeBuilderConfig
+ * () != null && kbaseManagerConfig.
+ * getKnowledgeBuilderConfig
+ * ().endsWith(".properties")) { Properties
+ * kbuilderProp = new Properties();
+ * InputStream in =
+ * this.getClass().getClassLoader
+ * ().getResourceAsStream(kbaseManagerConfig.
+ * getKnowledgeBuilderConfig()); if (in ==
+ * null) { throw new
+ * IllegalStateException("Could not locate knowledgeBuilderConfig: "
+ * + kbaseManagerConfig.
+ * getKnowledgeBuilderConfig()); }
+ * kbuilderProp.load(in); in.close();
+ * kbuilderconfig = KnowledgeBuilderFactory.
+ * newKnowledgeBuilderConfiguration
+ * (kbuilderProp, null);
+ * log.debug("KnowledgeBuilderConfiguration loaded: "
+ * + kbaseManagerConfig.
+ * getKnowledgeBuilderConfig()); } } return
+ * kbuilderconfig; }
+ *
+ * public KnowledgeBaseConfiguration
+ * getKnowledgeBaseConfiguration() throws
+ * Exception { KnowledgeBaseConfiguration
+ * kbaseconfig = KnowledgeBaseFactory.
+ * newKnowledgeBaseConfiguration();
+ *
+ *
+ * if(kbaseManagerConfig.getKnowledgeBaseConfigProp
+ * () != null) { kbaseconfig =
+ * KnowledgeBaseFactory
+ * .newKnowledgeBaseConfiguration
+ * (kbaseManagerConfig
+ * .getKnowledgeBaseConfigProp(), null);
+ * log.debug
+ * ("KnowledgeBaseConfiguration loaded: " +
+ * kbaseManagerConfig
+ * .getKnowledgeBaseConfigProp()); } else { //
+ * Only allow resource for .properties files
+ * if (kbaseManagerConfig.
+ * getKnowledgeBaseConfig() != null &&
+ * kbaseManagerConfig
+ * .getKnowledgeBaseConfig().
+ * endsWith(".properties")) { Properties
+ * kbaseProp = new Properties(); InputStream
+ * in = this.getClass().getClassLoader().
+ * getResourceAsStream
+ * (kbaseManagerConfig.getKnowledgeBaseConfig
+ * ()); if (in == null) { throw new
+ * IllegalStateException
+ * ("Could not locate knowledgeBaseConfig: " +
+ * kbaseManagerConfig
+ * .getKnowledgeBaseConfig()); }
+ * kbaseProp.load(in); in.close(); kbaseconfig
+ * = KnowledgeBaseFactory.
+ * newKnowledgeBaseConfiguration(kbaseProp,
+ * null);
+ * log.debug("KnowledgeBaseConfiguration loaded: "
+ * + kbaseManagerConfig.getKnowledgeBaseConfig
+ * ()); } } return kbaseconfig; }
+ **/
+}
\ No newline at end of file
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManagerConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManagerConfig.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeBaseManagerConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -10,107 +10,71 @@
*/
public class KnowledgeBaseManagerConfig
{
- /** private static final Pattern DIVIDER = Pattern.compile(";");
- private static final int RESOURCE_PATH = 0;
- private static final int RESOURCE = 1;
- private static final int RESOURCE_TYPE = 2;
- private static final int RESOURCE_TEMPLATE_DATA = 3;
-
- public static final String RESOURCE_TYPE_URL = "url";
- public static final String RESOURCE_TYPE_FILE = "file";
- public static final String RESOURCE_TYPE_CLASSPATH = "classpath";
-
- private String knowledgeBuilderConfig;
- private String knowledgeBaseConfig;
- private Properties knowledgeBuilderConfigProp;
- private Properties knowledgeBaseConfigProp;
- private String[] ruleResources;
- private String[] eventListeners;
-
- public static boolean isValidResource(String resource) {
- return DIVIDER.split(resource.trim()).length >= 3;
- }
-
- public static boolean isRuleTemplate(String resource) {
- return DIVIDER.split(resource.trim()).length == 4;
- }
-
- public static String getResourceType(String resource) {
- return DIVIDER.split(resource.trim())[RESOURCE_TYPE];
- }
-
- public static String getRuleResource(String resource) {
- return DIVIDER.split(resource.trim())[RESOURCE];
- }
-
- public static String getTemplateData(String resource) {
- return DIVIDER.split(resource.trim())[RESOURCE_TEMPLATE_DATA];
- }
-
- public static String getResourcePath(String resource) {
- return DIVIDER.split(resource.trim())[RESOURCE_PATH];
- }
-
- public String getKnowledgeBuilderConfig()
- {
- return knowledgeBuilderConfig;
- }
-
- public void setKnowledgeBuilderConfig(String knowledgeBuilderConfig)
- {
- this.knowledgeBuilderConfig = knowledgeBuilderConfig;
- }
-
- public String getKnowledgeBaseConfig()
- {
- return knowledgeBaseConfig;
- }
-
- public void setKnowledgeBaseConfig(String knowledgeBaseConfig)
- {
- this.knowledgeBaseConfig = knowledgeBaseConfig;
- }
-
- public String[] getRuleResources()
- {
- return ruleResources;
- }
-
- public void setRuleResources(String[] ruleResources)
- {
- this.ruleResources = ruleResources;
- }
-
- public String[] getEventListeners()
- {
- return eventListeners;
- }
-
- public void setEventListeners(String[] eventListeners)
- {
- this.eventListeners = eventListeners;
- }
-
- public Properties getKnowledgeBuilderConfigProp()
- {
- return knowledgeBuilderConfigProp;
- }
-
- public void setKnowledgeBuilderConfigProp(Properties knowledgeBuilderConfigProp)
- {
- this.knowledgeBuilderConfigProp = knowledgeBuilderConfigProp;
- }
-
- public Properties getKnowledgeBaseConfigProp()
- {
- return knowledgeBaseConfigProp;
- }
-
- public void setKnowledgeBaseConfigProp(Properties knowledgeBaseConfigProp)
- {
- this.knowledgeBaseConfigProp = knowledgeBaseConfigProp;
- }
-
-
-
-**/ }
+ /**
+ * private static final Pattern DIVIDER = Pattern.compile(";"); private
+ * static final int RESOURCE_PATH = 0; private static final int RESOURCE = 1;
+ * private static final int RESOURCE_TYPE = 2; private static final int
+ * RESOURCE_TEMPLATE_DATA = 3;
+ *
+ * public static final String RESOURCE_TYPE_URL = "url"; public static final
+ * String RESOURCE_TYPE_FILE = "file"; public static final String
+ * RESOURCE_TYPE_CLASSPATH = "classpath";
+ *
+ * private String knowledgeBuilderConfig; private String knowledgeBaseConfig;
+ * private Properties knowledgeBuilderConfigProp; private Properties
+ * knowledgeBaseConfigProp; private String[] ruleResources; private String[]
+ * eventListeners;
+ *
+ * public static boolean isValidResource(String resource) { return
+ * DIVIDER.split(resource.trim()).length >= 3; }
+ *
+ * public static boolean isRuleTemplate(String resource) { return
+ * DIVIDER.split(resource.trim()).length == 4; }
+ *
+ * public static String getResourceType(String resource) { return
+ * DIVIDER.split(resource.trim())[RESOURCE_TYPE]; }
+ *
+ * public static String getRuleResource(String resource) { return
+ * DIVIDER.split(resource.trim())[RESOURCE]; }
+ *
+ * public static String getTemplateData(String resource) { return
+ * DIVIDER.split(resource.trim())[RESOURCE_TEMPLATE_DATA]; }
+ *
+ * public static String getResourcePath(String resource) { return
+ * DIVIDER.split(resource.trim())[RESOURCE_PATH]; }
+ *
+ * public String getKnowledgeBuilderConfig() { return knowledgeBuilderConfig;
+ * }
+ *
+ * public void setKnowledgeBuilderConfig(String knowledgeBuilderConfig) {
+ * this.knowledgeBuilderConfig = knowledgeBuilderConfig; }
+ *
+ * public String getKnowledgeBaseConfig() { return knowledgeBaseConfig; }
+ *
+ * public void setKnowledgeBaseConfig(String knowledgeBaseConfig) {
+ * this.knowledgeBaseConfig = knowledgeBaseConfig; }
+ *
+ * public String[] getRuleResources() { return ruleResources; }
+ *
+ * public void setRuleResources(String[] ruleResources) { this.ruleResources
+ * = ruleResources; }
+ *
+ * public String[] getEventListeners() { return eventListeners; }
+ *
+ * public void setEventListeners(String[] eventListeners) {
+ * this.eventListeners = eventListeners; }
+ *
+ * public Properties getKnowledgeBuilderConfigProp() { return
+ * knowledgeBuilderConfigProp; }
+ *
+ * public void setKnowledgeBuilderConfigProp(Properties
+ * knowledgeBuilderConfigProp) { this.knowledgeBuilderConfigProp =
+ * knowledgeBuilderConfigProp; }
+ *
+ * public Properties getKnowledgeBaseConfigProp() { return
+ * knowledgeBaseConfigProp; }
+ *
+ * public void setKnowledgeBaseConfigProp(Properties knowledgeBaseConfigProp)
+ * { this.knowledgeBaseConfigProp = knowledgeBaseConfigProp; }
+ **/
+}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManager.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManager.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManager.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -27,8 +27,7 @@
import org.drools.runtime.KnowledgeSessionConfiguration;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
-import org.drools.runtime.process.WorkItemHandler;
-//import org.jboss.seam.drools.events.KnowledgeSessionCreatedEvent;
+import org.drools.runtime.process.WorkItemHandler; //import org.jboss.seam.drools.events.KnowledgeSessionCreatedEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,148 +38,168 @@
*/
public class KnowledgeSessionManager
{
- /** private static final Logger log = LoggerFactory.getLogger(KnowledgeSessionManager.class);
-
- private KnowledgeSessionManagerConfig ksessionManagerConfig;
- private Map<Integer, KnowledgeRuntimeLogger> statefulKnowledgeLoggers = new Hashtable<Integer, KnowledgeRuntimeLogger>();
-
- @Inject
- BeanManager manager;
-
- @Inject
- public KnowledgeSessionManager(KnowledgeSessionManagerConfig ksessionManagerConfig)
- {
- this.ksessionManagerConfig = ksessionManagerConfig;
- }
-
- //@Produces
- //@Any
- public StatefulKnowledgeSession getStatefulSession(InjectionPoint ip, Instance<KnowledgeBase> kbase) throws Exception
- {
- StatefulKnowledgeSession ksession = kbase.select(ip.getQualifiers().toArray(new Annotation[0])).get().newStatefulKnowledgeSession(getKSessionConfig(), null);
- addEventListeners(ksession);
- addWorkItemHandlers(ksession);
- addAuditLog(ksession);
- manager.fireEvent(new KnowledgeSessionCreatedEvent(ksession.getId()));
- return ksession;
- }
-
- //public void disposeStatefulSession(@Disposes StatefulKnowledgeSession statefulSession)
- //{
- // if (statefulKnowledgeLoggers.get(statefulSession.getId()) != null)
- // {
- // statefulKnowledgeLoggers.get(statefulSession.getId()).close();
- // }
- // statefulSession.dispose();
- // }
-
- @Produces
- @Any
- public StatelessKnowledgeSession getStatelessSession(InjectionPoint ip, Instance<KnowledgeBase> kbase) throws Exception
- {
- StatelessKnowledgeSession ksession = kbase.select(ip.getQualifiers().toArray(new Annotation[0])).get().newStatelessKnowledgeSession(getKSessionConfig());
- addEventListeners(ksession);
- manager.fireEvent(new KnowledgeSessionCreatedEvent(-1));
- return ksession;
- }
-
- private KnowledgeSessionConfiguration getKSessionConfig() throws Exception
- {
- KnowledgeSessionConfiguration ksessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration();
- if(ksessionManagerConfig.getKnowledgeSessionConfigProp() != null) {
- ksessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(ksessionManagerConfig.getKnowledgeSessionConfigProp());
- } else {
- // Only allow resource for .properties files
- if (ksessionManagerConfig.getKnowledgeSessionConfig() != null && ksessionManagerConfig.getKnowledgeSessionConfig().endsWith(".properties"))
- {
- Properties ksessionProp = new Properties();
- InputStream in = this.getClass().getClassLoader().getResourceAsStream(ksessionManagerConfig.getKnowledgeSessionConfig());
- if (in == null)
- {
- throw new IllegalStateException("Could not locate knowledgeSessionrConfig: " + ksessionManagerConfig.getKnowledgeSessionConfig());
- }
- ksessionProp.load(in);
- in.close();
- ksessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(ksessionProp);
- log.debug("KnowledgeSessionConfiguration loaded: " + ksessionManagerConfig.getKnowledgeSessionConfig());
- }
- }
- return ksessionConfig;
- }
-
-
- private void addAuditLog(StatefulKnowledgeSession ksession) throws Exception {
- if(ksessionManagerConfig.getAuditLog() != null) {
- if(KnowledgeSessionManagerConfig.isFileLogger(ksessionManagerConfig.getAuditLog())) {
- String logName = KnowledgeSessionManagerConfig.getFileLoggerPath(ksessionManagerConfig.getAuditLog()) + System.currentTimeMillis();
- KnowledgeRuntimeLogger krLogger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, logName);
- statefulKnowledgeLoggers.put(ksession.getId(), krLogger);
- } else if(KnowledgeSessionManagerConfig.isConsoleLogger(ksessionManagerConfig.getAuditLog())) {
- KnowledgeRuntimeLogger krLogger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);
- statefulKnowledgeLoggers.put(ksession.getId(), krLogger);
- } else if(KnowledgeSessionManagerConfig.isThreadedLogger(ksessionManagerConfig.getAuditLog())) {
- String logName = KnowledgeSessionManagerConfig.getThreadedLoggerPath(ksessionManagerConfig.getAuditLog()) + System.currentTimeMillis();
- int interval = KnowledgeSessionManagerConfig.getThreadedLoggerInterval(ksessionManagerConfig.getAuditLog());
- KnowledgeRuntimeLogger krLogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, logName, interval);
- statefulKnowledgeLoggers.put(ksession.getId(), krLogger);
- } else {
- log.warn("Invalid logger specified: " + ksessionManagerConfig.getAuditLog());
- }
- }
- }
-
- public void addEventListeners(StatefulKnowledgeSession ksession) throws Exception {
- if(ksessionManagerConfig.getEventListeners() != null) {
- for(String eventListener : ksessionManagerConfig.getEventListeners()) {
- Class eventListenerClass = Class.forName(eventListener);
- Object eventListenerObject = eventListenerClass.newInstance();
-
- if(eventListenerObject instanceof WorkingMemoryEventListener) {
- ksession.addEventListener((WorkingMemoryEventListener) eventListenerObject);
- } else if(eventListenerObject instanceof AgendaEventListener) {
- ksession.addEventListener((AgendaEventListener) eventListenerObject);
- } else if(eventListenerObject instanceof ProcessEventListener) {
- ksession.addEventListener((ProcessEventListener) eventListenerObject);
- } else {
- log.debug("Invalid Event Listener: " + eventListener);
- }
- }
- }
- }
-
- public void addEventListeners(StatelessKnowledgeSession ksession) throws Exception{
- if(ksessionManagerConfig.getEventListeners() != null) {
- for(String eventListener : ksessionManagerConfig.getEventListeners()) {
- @SuppressWarnings("unchecked")
- Class eventListenerClass = Class.forName(eventListener);
- Object eventListenerObject = eventListenerClass.newInstance();
-
- if(eventListenerObject instanceof WorkingMemoryEventListener) {
- ksession.addEventListener((WorkingMemoryEventListener) eventListenerObject);
- } else if(eventListenerObject instanceof AgendaEventListener) {
- ksession.addEventListener((AgendaEventListener) eventListenerObject);
- } else if(eventListenerObject instanceof ProcessEventListener) {
- ksession.addEventListener((ProcessEventListener) eventListenerObject);
- } else {
- log.debug("Invalid Event Listener: " + eventListener);
- }
- }
- }
- }
-
- public void addWorkItemHandlers(StatefulKnowledgeSession ksession) {
- if(ksessionManagerConfig.getWorkItemHandlers() != null) {
- for(String workItemHandlerStr : ksessionManagerConfig.getWorkItemHandlers()) {
- if(KnowledgeSessionManagerConfig.isValidWorkItemHandler(workItemHandlerStr)) {
- @SuppressWarnings("unchecked")
- Bean<WorkItemHandler> workItemHandlerBean = (Bean<WorkItemHandler>) manager.getBeans(KnowledgeSessionManagerConfig.getWorkItemHandlerType(workItemHandlerStr)).iterator().next();
- WorkItemHandler handler = (WorkItemHandler) manager.getReference(workItemHandlerBean, Configuration.class, manager.createCreationalContext(workItemHandlerBean));
- log.debug("Registering new WorkItemHandler: " + KnowledgeSessionManagerConfig.getWorkItemHandlerName(workItemHandlerStr));
- ksession.getWorkItemManager().registerWorkItemHandler(KnowledgeSessionManagerConfig.getWorkItemHandlerName(workItemHandlerStr), handler);
- }
- }
- }
- }
-
-
-**/}
+ /**
+ * private static final Logger log =
+ * LoggerFactory.getLogger(KnowledgeSessionManager.class);
+ *
+ * private KnowledgeSessionManagerConfig ksessionManagerConfig; private
+ * Map<Integer, KnowledgeRuntimeLogger> statefulKnowledgeLoggers = new
+ * Hashtable<Integer, KnowledgeRuntimeLogger>();
+ *
+ * @Inject BeanManager manager;
+ * @Inject public KnowledgeSessionManager(KnowledgeSessionManagerConfig
+ * ksessionManagerConfig) { this.ksessionManagerConfig =
+ * ksessionManagerConfig; }
+ *
+ * //@Produces //@Any public StatefulKnowledgeSession
+ * getStatefulSession(InjectionPoint ip, Instance<KnowledgeBase>
+ * kbase) throws Exception { StatefulKnowledgeSession ksession =
+ * kbase.select(ip.getQualifiers().toArray(new
+ * Annotation[0])).get().newStatefulKnowledgeSession
+ * (getKSessionConfig(), null); addEventListeners(ksession);
+ * addWorkItemHandlers(ksession); addAuditLog(ksession);
+ * manager.fireEvent(new
+ * KnowledgeSessionCreatedEvent(ksession.getId())); return ksession;
+ * }
+ *
+ * //public void disposeStatefulSession(@Disposes
+ * StatefulKnowledgeSession statefulSession) //{ // if
+ * (statefulKnowledgeLoggers.get(statefulSession.getId()) != null) //
+ * { //
+ * statefulKnowledgeLoggers.get(statefulSession.getId()).close(); //
+ * } // statefulSession.dispose(); // }
+ * @Produces
+ * @Any public StatelessKnowledgeSession getStatelessSession(InjectionPoint
+ * ip, Instance<KnowledgeBase> kbase) throws Exception {
+ * StatelessKnowledgeSession ksession =
+ * kbase.select(ip.getQualifiers().toArray(new
+ * Annotation[0])).get().newStatelessKnowledgeSession
+ * (getKSessionConfig()); addEventListeners(ksession);
+ * manager.fireEvent(new KnowledgeSessionCreatedEvent(-1)); return
+ * ksession; }
+ *
+ * private KnowledgeSessionConfiguration getKSessionConfig() throws
+ * Exception { KnowledgeSessionConfiguration ksessionConfig =
+ * KnowledgeBaseFactory.newKnowledgeSessionConfiguration();
+ * if(ksessionManagerConfig.getKnowledgeSessionConfigProp() != null) {
+ * ksessionConfig =
+ * KnowledgeBaseFactory.newKnowledgeSessionConfiguration
+ * (ksessionManagerConfig.getKnowledgeSessionConfigProp()); } else { //
+ * Only allow resource for .properties files if
+ * (ksessionManagerConfig.getKnowledgeSessionConfig() != null &&
+ * ksessionManagerConfig
+ * .getKnowledgeSessionConfig().endsWith(".properties")) { Properties
+ * ksessionProp = new Properties(); InputStream in =
+ * this.getClass().getClassLoader
+ * ().getResourceAsStream(ksessionManagerConfig
+ * .getKnowledgeSessionConfig()); if (in == null) { throw new
+ * IllegalStateException("Could not locate knowledgeSessionrConfig: " +
+ * ksessionManagerConfig.getKnowledgeSessionConfig()); }
+ * ksessionProp.load(in); in.close(); ksessionConfig =
+ * KnowledgeBaseFactory.newKnowledgeSessionConfiguration(ksessionProp);
+ * log.debug("KnowledgeSessionConfiguration loaded: " +
+ * ksessionManagerConfig.getKnowledgeSessionConfig()); } } return
+ * ksessionConfig; }
+ *
+ *
+ * private void addAuditLog(StatefulKnowledgeSession ksession) throws
+ * Exception { if(ksessionManagerConfig.getAuditLog() != null) {
+ * if(KnowledgeSessionManagerConfig
+ * .isFileLogger(ksessionManagerConfig.getAuditLog())) { String logName
+ * = KnowledgeSessionManagerConfig.getFileLoggerPath(
+ * ksessionManagerConfig.getAuditLog()) + System.currentTimeMillis();
+ * KnowledgeRuntimeLogger krLogger =
+ * KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, logName);
+ * statefulKnowledgeLoggers.put(ksession.getId(), krLogger); } else
+ * if(KnowledgeSessionManagerConfig
+ * .isConsoleLogger(ksessionManagerConfig.getAuditLog())) {
+ * KnowledgeRuntimeLogger krLogger =
+ * KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);
+ * statefulKnowledgeLoggers.put(ksession.getId(), krLogger); } else
+ * if(KnowledgeSessionManagerConfig
+ * .isThreadedLogger(ksessionManagerConfig.getAuditLog())) { String
+ * logName = KnowledgeSessionManagerConfig.getThreadedLoggerPath(
+ * ksessionManagerConfig.getAuditLog()) + System.currentTimeMillis();
+ * int interval =
+ * KnowledgeSessionManagerConfig.getThreadedLoggerInterval
+ * (ksessionManagerConfig.getAuditLog()); KnowledgeRuntimeLogger
+ * krLogger =
+ * KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession,
+ * logName, interval); statefulKnowledgeLoggers.put(ksession.getId(),
+ * krLogger); } else { log.warn("Invalid logger specified: " +
+ * ksessionManagerConfig.getAuditLog()); } } }
+ *
+ * public void addEventListeners(StatefulKnowledgeSession ksession)
+ * throws Exception { if(ksessionManagerConfig.getEventListeners() !=
+ * null) { for(String eventListener :
+ * ksessionManagerConfig.getEventListeners()) { Class eventListenerClass
+ * = Class.forName(eventListener); Object eventListenerObject =
+ * eventListenerClass.newInstance();
+ *
+ * if(eventListenerObject instanceof WorkingMemoryEventListener) {
+ * ksession.addEventListener((WorkingMemoryEventListener)
+ * eventListenerObject); } else if(eventListenerObject instanceof
+ * AgendaEventListener) {
+ * ksession.addEventListener((AgendaEventListener) eventListenerObject);
+ * } else if(eventListenerObject instanceof ProcessEventListener) {
+ * ksession.addEventListener((ProcessEventListener)
+ * eventListenerObject); } else { log.debug("Invalid Event Listener: " +
+ * eventListener); } } } }
+ *
+ * public void addEventListeners(StatelessKnowledgeSession ksession)
+ * throws Exception{ if(ksessionManagerConfig.getEventListeners() !=
+ * null) { for(String eventListener :
+ * ksessionManagerConfig.getEventListeners()) {
+ * @SuppressWarnings("unchecked") Class eventListenerClass =
+ * Class.forName(eventListener); Object
+ * eventListenerObject =
+ * eventListenerClass.newInstance();
+ *
+ * if(eventListenerObject instanceof
+ * WorkingMemoryEventListener) {
+ * ksession.addEventListener
+ * ((WorkingMemoryEventListener)
+ * eventListenerObject); } else
+ * if(eventListenerObject instanceof
+ * AgendaEventListener) {
+ * ksession.addEventListener
+ * ((AgendaEventListener)
+ * eventListenerObject); } else
+ * if(eventListenerObject instanceof
+ * ProcessEventListener) {
+ * ksession.addEventListener
+ * ((ProcessEventListener)
+ * eventListenerObject); } else {
+ * log.debug("Invalid Event Listener: " +
+ * eventListener); } } } }
+ *
+ * public void
+ * addWorkItemHandlers(StatefulKnowledgeSession
+ * ksession) {
+ * if(ksessionManagerConfig.getWorkItemHandlers
+ * () != null) { for(String workItemHandlerStr
+ * : ksessionManagerConfig.getWorkItemHandlers
+ * ()) {
+ * if(KnowledgeSessionManagerConfig.isValidWorkItemHandler
+ * (workItemHandlerStr)) {
+ * @SuppressWarnings("unchecked") Bean<WorkItemHandler> workItemHandlerBean =
+ * (Bean<WorkItemHandler>) manager.getBeans(
+ * KnowledgeSessionManagerConfig
+ * .getWorkItemHandlerType
+ * (workItemHandlerStr)).iterator().next();
+ * WorkItemHandler handler = (WorkItemHandler)
+ * manager.getReference(workItemHandlerBean,
+ * Configuration.class,
+ * manager.createCreationalContext
+ * (workItemHandlerBean));
+ * log.debug("Registering new WorkItemHandler: "
+ * + KnowledgeSessionManagerConfig.
+ * getWorkItemHandlerName
+ * (workItemHandlerStr));
+ * ksession.getWorkItemManager
+ * ().registerWorkItemHandler
+ * (KnowledgeSessionManagerConfig
+ * .getWorkItemHandlerName
+ * (workItemHandlerStr), handler); } } } }
+ **/
+}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManagerConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManagerConfig.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/old/KnowledgeSessionManagerConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -9,98 +9,62 @@
* @author Tihomir Surdilovic
*/
public class KnowledgeSessionManagerConfig
-{
- /** private static final Pattern DIVIDER = Pattern.compile(";");
- private static final int WORKITEMHANDLER_NAME = 0;
- private static final int WORKITEMHANDLER_TYPE = 1;
- private static final int AUDIT_LOG_TYPE = 0;
- private static final int AUDIT_LOG_INFO = 1;
- private static final int AUDIT_LOG_INTERVAL = 2;
- private static final String AUDIT_LOG_TYPE_FILE = "file";
- private static final String AUDIT_LOG_TYPE_CONSOLE = "console";
- private static final String AUDIT_LOG_TYPE_THREADED = "threaded";
-
- private String[] eventListeners;
- private String[] workItemHandlers;
- private String knowledgeSessionConfig;
- private Properties knowledgeSessionConfigProp;
- private String auditLog;
-
- public static String getWorkItemHandlerName(String workItemHandlerStr) {
- return DIVIDER.split(workItemHandlerStr.trim())[WORKITEMHANDLER_NAME];
- }
-
- public static String getWorkItemHandlerType(String workItemHandlerStr) {
- return DIVIDER.split(workItemHandlerStr.trim())[WORKITEMHANDLER_TYPE];
- }
-
- public static boolean isValidWorkItemHandler(String workItemHandlerStr) {
- return DIVIDER.split(workItemHandlerStr.trim()).length == 2;
- }
-
- public static boolean isFileLogger(String auditLog) {
- return DIVIDER.split(auditLog.trim())[AUDIT_LOG_TYPE] == AUDIT_LOG_TYPE_FILE;
- }
-
- public static boolean isConsoleLogger(String auditLog) {
- return DIVIDER.split(auditLog.trim())[AUDIT_LOG_TYPE] == AUDIT_LOG_TYPE_CONSOLE;
- }
-
- public static boolean isThreadedLogger(String auditLog) {
- return DIVIDER.split(auditLog.trim())[AUDIT_LOG_TYPE] == AUDIT_LOG_TYPE_THREADED;
- }
-
- public static String getFileLoggerPath(String auditLog) {
- return DIVIDER.split(auditLog.trim())[AUDIT_LOG_INFO];
- }
-
- public static String getThreadedLoggerPath(String auditLog) {
- return DIVIDER.split(auditLog.trim())[AUDIT_LOG_INFO];
- }
-
- public static int getThreadedLoggerInterval(String auditLog) {
- return Integer.parseInt(DIVIDER.split(auditLog.trim())[AUDIT_LOG_INTERVAL]);
- }
-
- public String[] getEventListeners()
- {
- return eventListeners;
- }
- public void setEventListeners(String[] eventListeners)
- {
- this.eventListeners = eventListeners;
- }
- public String[] getWorkItemHandlers()
- {
- return workItemHandlers;
- }
- public void setWorkItemHandlers(String[] workItemHandlers)
- {
- this.workItemHandlers = workItemHandlers;
- }
- public String getKnowledgeSessionConfig()
- {
- return knowledgeSessionConfig;
- }
- public void setKnowledgeSessionConfig(String knowledgeSessionConfig)
- {
- this.knowledgeSessionConfig = knowledgeSessionConfig;
- }
- public String getAuditLog()
- {
- return auditLog;
- }
- public void setAuditLog(String auditLog)
- {
- this.auditLog = auditLog;
- }
- public Properties getKnowledgeSessionConfigProp()
- {
- return knowledgeSessionConfigProp;
- }
- public void setKnowledgeSessionConfigProp(Properties knowledgeSessionConfigProp)
- {
- this.knowledgeSessionConfigProp = knowledgeSessionConfigProp;
- }
-
-**/}
+{
+ /**
+ * private static final Pattern DIVIDER = Pattern.compile(";"); private
+ * static final int WORKITEMHANDLER_NAME = 0; private static final int
+ * WORKITEMHANDLER_TYPE = 1; private static final int AUDIT_LOG_TYPE = 0;
+ * private static final int AUDIT_LOG_INFO = 1; private static final int
+ * AUDIT_LOG_INTERVAL = 2; private static final String AUDIT_LOG_TYPE_FILE =
+ * "file"; private static final String AUDIT_LOG_TYPE_CONSOLE = "console";
+ * private static final String AUDIT_LOG_TYPE_THREADED = "threaded";
+ *
+ * private String[] eventListeners; private String[] workItemHandlers;
+ * private String knowledgeSessionConfig; private Properties
+ * knowledgeSessionConfigProp; private String auditLog;
+ *
+ * public static String getWorkItemHandlerName(String workItemHandlerStr) {
+ * return DIVIDER.split(workItemHandlerStr.trim())[WORKITEMHANDLER_NAME]; }
+ *
+ * public static String getWorkItemHandlerType(String workItemHandlerStr) {
+ * return DIVIDER.split(workItemHandlerStr.trim())[WORKITEMHANDLER_TYPE]; }
+ *
+ * public static boolean isValidWorkItemHandler(String workItemHandlerStr) {
+ * return DIVIDER.split(workItemHandlerStr.trim()).length == 2; }
+ *
+ * public static boolean isFileLogger(String auditLog) { return
+ * DIVIDER.split(auditLog.trim())[AUDIT_LOG_TYPE] == AUDIT_LOG_TYPE_FILE; }
+ *
+ * public static boolean isConsoleLogger(String auditLog) { return
+ * DIVIDER.split(auditLog.trim())[AUDIT_LOG_TYPE] == AUDIT_LOG_TYPE_CONSOLE;
+ * }
+ *
+ * public static boolean isThreadedLogger(String auditLog) { return
+ * DIVIDER.split(auditLog.trim())[AUDIT_LOG_TYPE] == AUDIT_LOG_TYPE_THREADED;
+ * }
+ *
+ * public static String getFileLoggerPath(String auditLog) { return
+ * DIVIDER.split(auditLog.trim())[AUDIT_LOG_INFO]; }
+ *
+ * public static String getThreadedLoggerPath(String auditLog) { return
+ * DIVIDER.split(auditLog.trim())[AUDIT_LOG_INFO]; }
+ *
+ * public static int getThreadedLoggerInterval(String auditLog) { return
+ * Integer.parseInt(DIVIDER.split(auditLog.trim())[AUDIT_LOG_INTERVAL]); }
+ *
+ * public String[] getEventListeners() { return eventListeners; } public void
+ * setEventListeners(String[] eventListeners) { this.eventListeners =
+ * eventListeners; } public String[] getWorkItemHandlers() { return
+ * workItemHandlers; } public void setWorkItemHandlers(String[]
+ * workItemHandlers) { this.workItemHandlers = workItemHandlers; } public
+ * String getKnowledgeSessionConfig() { return knowledgeSessionConfig; }
+ * public void setKnowledgeSessionConfig(String knowledgeSessionConfig) {
+ * this.knowledgeSessionConfig = knowledgeSessionConfig; } public String
+ * getAuditLog() { return auditLog; } public void setAuditLog(String
+ * auditLog) { this.auditLog = auditLog; } public Properties
+ * getKnowledgeSessionConfigProp() { return knowledgeSessionConfigProp; }
+ * public void setKnowledgeSessionConfigProp(Properties
+ * knowledgeSessionConfigProp) { this.knowledgeSessionConfigProp =
+ * knowledgeSessionConfigProp; }
+ **/
+}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KAgentProduced.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KAgentProduced.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KAgentProduced.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,28 +0,0 @@
-package org.jboss.seam.drools.qualifiers;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Qualifier for Drools KnowledgeBase produced by the KnowledgeAgent.
- * @author Tihomir Surdilovic
- */
-@Qualifier
-@Target({TYPE, METHOD, FIELD, PARAMETER})
-@Documented
-@Retention(RUNTIME)
-@Inherited
-public @interface KAgentProduced
-{
-
-}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBase.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBase.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBase.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,28 +0,0 @@
-package org.jboss.seam.drools.qualifiers;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- *
- * @author Tihomir Surdilovic
- */
-@Qualifier
-@Target({TYPE, METHOD, FIELD, PARAMETER})
-@Documented
-@Retention(RUNTIME)
-@Inherited
-public @interface KBase
-{
- String value() default "";
-}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfig.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KBaseConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,28 +0,0 @@
-package org.jboss.seam.drools.qualifiers;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- *
- * @author Tihomir Surdilovic
- */
-@Qualifier
-@Target({TYPE, METHOD, FIELD, PARAMETER})
-@Documented
-@Retention(RUNTIME)
-@Inherited
-public @interface KBaseConfig
-{
- String value() default "";
-}
Deleted: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KSession.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KSession.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KSession.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,28 +0,0 @@
-package org.jboss.seam.drools.qualifiers;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- *
- * @author Tihomir Surdilovic
- */
-@Qualifier
-@Target({TYPE, METHOD, FIELD, PARAMETER})
-@Documented
-@Retention(RUNTIME)
-@Inherited
-public @interface KSession
-{
- String value() default "";
-}
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/config/DroolsConfig.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,21 @@
+package org.jboss.seam.drools.qualifiers.config;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Target( { TYPE })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface DroolsConfig
+{
+
+}
Copied: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java (from rev 12409, modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/KAgentProduced.java)
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KAgentConfigured.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers.kbase;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Qualifier for Drools KnowledgeBase configured for KnowledgeAgent.
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KAgentConfigured
+{
+
+}
Added: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java (rev 0)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/qualifiers/kbase/KBaseConfigured.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -0,0 +1,29 @@
+package org.jboss.seam.drools.qualifiers.kbase;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Qualifier for Drools KnowledgeBase default configuration.
+ *
+ * @author Tihomir Surdilovic
+ */
+@Qualifier
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
+@Documented
+@Retention(RUNTIME)
+@Inherited
+public @interface KBaseConfigured
+{
+
+}
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/utils/ConfigUtils.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/utils/ConfigUtils.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/utils/ConfigUtils.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,15 +1,19 @@
package org.jboss.seam.drools.utils;
+import java.io.InputStream;
+import java.util.Properties;
import java.util.regex.Pattern;
+import org.jboss.weld.extensions.resources.ResourceProvider;
+
/**
*
* @author Tihomir Surdilovic
*/
public class ConfigUtils
{
- private static final Pattern DIVIDER = Pattern.compile(":");
- // KBase config
+ private static final Pattern DIVIDER = Pattern.compile(";");
+
private static final int RESOURCE_PATH = 0;
private static final int RESOURCE = 1;
private static final int RESOURCE_TYPE = 2;
@@ -49,7 +53,6 @@
return DIVIDER.split(resource.trim())[RESOURCE_PATH];
}
- // KSession config
private static final int WORKITEMHANDLER_NAME = 0;
private static final int WORKITEMHANDLER_TYPE = 1;
@@ -68,6 +71,17 @@
return DIVIDER.split(workItemHandlerStr.trim()).length == 2;
}
- // KAgent config
+ public static Properties loadProperties(ResourceProvider resourceProvider, String path) throws Exception
+ {
+ Properties prop = new Properties();
+ InputStream in = resourceProvider.loadResourceStream(path);
+ if (in == null)
+ {
+ throw new IllegalStateException("Could not locate: " + path);
+ }
+ prop.load(in);
+ in.close();
+ return prop;
+ }
}
Deleted: modules/drools/trunk/impl/src/main/resources/META-INF/javax.enterprise.inject.spi.Extension
===================================================================
Copied: modules/drools/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension (from rev 12409, modules/drools/trunk/impl/src/main/resources/META-INF/javax.enterprise.inject.spi.Extension)
===================================================================
Modified: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertInterceptorTest.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertInterceptorTest.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertInterceptorTest.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -22,18 +22,18 @@
public static JavaArchive createTestArchive()
{
String pkgPath = InsertInterceptorTest.class.getPackage().getName().replaceAll("\\.", "/");
- JavaArchive archive = Archives.create("test.jar", JavaArchive.class)
- .addClasses(InsertInterceptor.class, InsertionBean.class)
- .addManifestResource(pkgPath + "/InsertInterceptorTest-beans.xml", ArchivePaths.create("beans.xml"));
+ JavaArchive archive = Archives.create("test.jar", JavaArchive.class).addClasses(InsertInterceptor.class, InsertionBean.class).addManifestResource(pkgPath + "/InsertInterceptorTest-beans.xml", ArchivePaths.create("beans.xml"));
System.out.println(archive.toString(Formatters.VERBOSE));
return archive;
}
-
- @Inject InsertionBean insertionBean;
-
+
+ @Inject
+ InsertionBean insertionBean;
+
@Test
- public void testInsertFactHappens() {
+ public void testInsertFactHappens()
+ {
String result = insertionBean.insertResultAsFact();
- assertTrue(result.equals("abc")); //TODO finish this test
+ assertTrue(result.equals("abc")); // TODO finish this test
}
}
Modified: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertionBean.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertionBean.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/insertion/InsertionBean.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -4,8 +4,9 @@
public class InsertionBean
{
- @InsertFact(ksessionId=123)
- public String insertResultAsFact() {
+ @InsertFact(ksessionId = 123)
+ public String insertResultAsFact()
+ {
return "abc";
}
}
Modified: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/ForKBaseTest.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/ForKBaseTest.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/ForKBaseTest.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -15,7 +15,7 @@
import javax.inject.Qualifier;
@Qualifier
-@Target({TYPE, METHOD, FIELD, PARAMETER})
+@Target( { TYPE, METHOD, FIELD, PARAMETER })
@Documented
@Retention(RUNTIME)
@Inherited
Modified: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/kbase/KBaseTest.java 2010-04-11 07:32:02 UTC (rev 12427)
@@ -1,20 +1,15 @@
package org.jboss.seam.drools.test.kbase;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Instance;
import static org.junit.Assert.assertNotNull;
-import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Inject;
-import junit.framework.Assert;
import org.drools.KnowledgeBase;
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.seam.drools.KnowledgeBaseProducer;
import org.jboss.seam.drools.config.KnowledgeBaseConfig;
-import org.jboss.seam.drools.qualifiers.KBase;
-import org.jboss.seam.drools.qualifiers.KBaseConfig;
+import org.jboss.seam.drools.qualifiers.kbase.KBaseConfigured;
import org.jboss.shrinkwrap.api.ArchivePaths;
import org.jboss.shrinkwrap.api.Archives;
import org.jboss.shrinkwrap.api.formatter.Formatters;
@@ -30,46 +25,49 @@
public static JavaArchive createTestArchive()
{
String pkgPath = KBaseTest.class.getPackage().getName().replaceAll("\\.", "/");
- JavaArchive archive = Archives.create("test.jar", JavaArchive.class)
- .addPackages(true, KnowledgeBaseProducer.class.getPackage())
- .addPackages(true, ResourceProvider.class.getPackage())
- .addClass(ForKBaseTest.class)
- .addResource(pkgPath + "/kbasetest.drl", ArchivePaths.create("kbasetest.drl"))
- .addResource(pkgPath + "/kbuilderconfig.properties", ArchivePaths.create("kbuilderconfig.properties"))
- .addResource(pkgPath + "/kbaseconfig.properties", ArchivePaths.create("kbaseconfig.properties"))
- .addManifestResource(pkgPath + "/KBaseTest-beans.xml", ArchivePaths.create("beans.xml"));
+ JavaArchive archive = Archives.create("test.jar", JavaArchive.class).addPackages(true, KnowledgeBaseProducer.class.getPackage()).addPackages(true, ResourceProvider.class.getPackage()).addClass(ForKBaseTest.class).addResource(pkgPath + "/kbasetest.drl", ArchivePaths.create("kbasetest.drl")).addResource(pkgPath + "/kbuilderconfig.properties", ArchivePaths.create("kbuilderconfig.properties")).addResource(pkgPath + "/kbaseconfig.properties", ArchivePaths.create("kbaseconfig.properties")).addManifestResource(pkgPath + "/KBaseTest-beans.xml", ArchivePaths.create("beans.xml"));
System.out.println(archive.toString(Formatters.VERBOSE));
return archive;
}
- //@Inject @Any Instance<KnowledgeBaseConfig> kbaseConfigResolver;
- @Inject @ForKBaseTest KnowledgeBaseConfig config;
- @Inject @ForKBaseTest KnowledgeBase kbase;
-
+ // @Inject @Any Instance<KnowledgeBaseConfig> kbaseConfigResolver;
+ @Inject
+ @ForKBaseTest
+ KnowledgeBaseConfig config;
+ @Inject
+ @ForKBaseTest
+ @KBaseConfigured
+ KnowledgeBase kbase;
+
@Test
- public void testKBaseConfig() {
- //Assert.assertFalse(kbaseConfigResolver.select(new KBaseConfigBinding("kbaseconfig1")).isUnsatisfied());
- //KnowledgeBaseConfig kbaseConfig = kbaseConfigResolver.select(new KBaseConfigBinding("kbaseconfig1")).get();
+ public void testKBaseConfig()
+ {
+ // Assert.assertFalse(kbaseConfigResolver.select(new
+ // KBaseConfigBinding("kbaseconfig1")).isUnsatisfied());
+ // KnowledgeBaseConfig kbaseConfig = kbaseConfigResolver.select(new
+ // KBaseConfigBinding("kbaseconfig1")).get();
assertNotNull(config);
System.out.println("\n\n\n**** " + config.toString() + "********\n\n\n");
}
-
+
@Test
- public void testKBase() {
+ public void testKBase()
+ {
assertNotNull(kbase);
System.out.println("KBASE: " + kbase.toString());
}
-
-// static class KBaseConfigBinding extends AnnotationLiteral<ForKBaseTest> implements KBaseConfig
-// {
-// private String value = null;
-// public KBaseConfigBinding(String value)
-// {
-// this.value = value;
-// }
-//
-// public String value() {
-// return value;
-// }
-// }
+
+ // static class KBaseConfigBinding extends AnnotationLiteral<ForKBaseTest>
+ // implements KBaseConfig
+ // {
+ // private String value = null;
+ // public KBaseConfigBinding(String value)
+ // {
+ // this.value = value;
+ // }
+ //
+ // public String value() {
+ // return value;
+ // }
+ // }
}
Modified: modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml
===================================================================
--- modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml 2010-04-09 23:06:00 UTC (rev 12426)
+++ modules/drools/trunk/impl/src/test/resources/org/jboss/seam/drools/test/kbase/KBaseTest-beans.xml 2010-04-11 07:32:02 UTC (rev 12427)
@@ -7,10 +7,10 @@
<drools:KnowledgeBaseConfig>
<s:overrides/>
<test:ForKBaseTest/>
- <drools:knowledgeBuilderConfig>kbuilderconfig.properties</drools:knowledgeBuilderConfig>
- <drools:knowledgeBaseConfig>kbaseconfig.properties</drools:knowledgeBaseConfig>
+ <drools:knowledgeBuilderConfigPath>kbuilderconfig.properties</drools:knowledgeBuilderConfigPath>
+ <drools:knowledgeBaseConfigPath>kbaseconfig.properties</drools:knowledgeBaseConfigPath>
<drools:ruleResources>
- <s:value>classpath:kbasetest.drl:DRL</s:value>
+ <s:value>classpath;kbasetest.drl;DRL</s:value>
</drools:ruleResources>
<drools:eventListeners>
<s:value>org.drools.event.knowledgebase.DefaultKnowledgeBaseEventListener</s:value>
16 years
Seam SVN: r12426 - in modules/xml/trunk/impl/src/test: java/org/jboss/seam/xml/test/xmlconfigured and 2 other directories.
by seam-commits@lists.jboss.org
Author: swd847
Date: 2010-04-09 19:06:00 -0400 (Fri, 09 Apr 2010)
New Revision: 12426
Added:
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredBean.java
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredNotInstalledBean.java
modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredTest.java
modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/xmlconfigured/
modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/xmlconfigured/xmlconfigured-beans.xml
Log:
@XmlConfigured tests
Added: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredBean.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredBean.java (rev 0)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredBean.java 2010-04-09 23:06:00 UTC (rev 12426)
@@ -0,0 +1,8 @@
+package org.jboss.seam.xml.test.xmlconfigured;
+
+import org.jboss.seam.xml.annotations.XmlConfigured;
+
+@XmlConfigured
+public class XmlConfiguredBean {
+
+}
Added: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredNotInstalledBean.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredNotInstalledBean.java (rev 0)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredNotInstalledBean.java 2010-04-09 23:06:00 UTC (rev 12426)
@@ -0,0 +1,8 @@
+package org.jboss.seam.xml.test.xmlconfigured;
+
+import org.jboss.seam.xml.annotations.XmlConfigured;
+
+@XmlConfigured
+public class XmlConfiguredNotInstalledBean {
+
+}
Added: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredTest.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredTest.java (rev 0)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/xmlconfigured/XmlConfiguredTest.java 2010-04-09 23:06:00 UTC (rev 12426)
@@ -0,0 +1,34 @@
+package org.jboss.seam.xml.test.xmlconfigured;
+
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+
+import org.jboss.seam.xml.test.AbstractXMLTest;
+import org.testng.annotations.Test;
+
+public class XmlConfiguredTest extends AbstractXMLTest
+{
+
+ @Override
+ protected String getXmlFileName()
+ {
+ return "xmlconfigured-beans.xml";
+ }
+
+ @Test
+ public void testXmlConfiguredBeanNotInstalled()
+ {
+
+ Set<Bean<?>> beans = manager.getBeans(XmlConfiguredNotInstalledBean.class);
+ assert beans.isEmpty();
+ }
+
+ @Test(enabled = true)
+ public void testXmlConfiguredBean()
+ {
+
+ Set<Bean<?>> beans = manager.getBeans(XmlConfiguredBean.class);
+ assert beans.size() == 1;
+ }
+}
Added: modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/xmlconfigured/xmlconfigured-beans.xml
===================================================================
--- modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/xmlconfigured/xmlconfigured-beans.xml (rev 0)
+++ modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/xmlconfigured/xmlconfigured-beans.xml 2010-04-09 23:06:00 UTC (rev 12426)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="urn:java:seam:core"
+ xmlns:test="urn:java:org.jboss.seam.xml.test.xmlconfigured">
+
+ <test:XmlConfiguredBean>
+
+ </test:XmlConfiguredBean>
+
+</beans>
\ No newline at end of file
16 years
Seam SVN: r12425 - in modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml: annotations and 1 other directories.
by seam-commits@lists.jboss.org
Author: swd847
Date: 2010-04-09 18:55:06 -0400 (Fri, 09 Apr 2010)
New Revision: 12425
Added:
modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/annotations/
modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/annotations/XmlConfigured.java
Modified:
modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
Log:
Added @XmlConfigured annotation
Added: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/annotations/XmlConfigured.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/annotations/XmlConfigured.java (rev 0)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/annotations/XmlConfigured.java 2010-04-09 22:55:06 UTC (rev 12425)
@@ -0,0 +1,19 @@
+package org.jboss.seam.xml.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+/**
+ * Signifies that a bean is designed to be configured through XML, and
+ * should therefore not be installed by default.
+ * @author Stuart Douglas
+ *
+ */
+(a)Target(ElementType.TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface XmlConfigured {
+
+}
Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java 2010-04-09 20:51:42 UTC (rev 12424)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java 2010-04-09 22:55:06 UTC (rev 12425)
@@ -23,6 +23,7 @@
import javax.enterprise.inject.spi.ProcessAnnotatedType;
import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import org.jboss.seam.xml.annotations.XmlConfigured;
import org.jboss.seam.xml.core.BeanResult;
import org.jboss.seam.xml.core.XmlId;
import org.jboss.seam.xml.core.XmlResult;
@@ -143,7 +144,14 @@
{
log.info("Preventing installation of default bean: " + event.getAnnotatedType().getJavaClass().getName());
event.veto();
+ return;
}
+ if(event.getAnnotatedType().isAnnotationPresent(XmlConfigured.class))
+ {
+ log.info("Preventing installation of @XmlConfigured bean: " + event.getAnnotatedType().getJavaClass().getName());
+ event.veto();
+ return;
+ }
boolean found = false;
NewAnnotatedTypeBuilder builder = new NewAnnotatedTypeBuilder(event.getAnnotatedType());
for (XmlResult r : results)
16 years
Seam SVN: r12424 - in modules/faces/trunk/impl/src: main/java/org/jboss/seam/faces/environment and 5 other directories.
by seam-commits@lists.jboss.org
Author: nickarls
Date: 2010-04-09 16:51:42 -0400 (Fri, 09 Apr 2010)
New Revision: 12424
Modified:
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/ConversationBoundaryInterceptor.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/NamedConversationAliasProducer.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/ExternalContextProducer.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/FacesContextProducer.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/NavigationHandlerProducer.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/PhaseEventBridge.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/SystemEventBridge.java
modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/international/FacesLocaleResolver.java
modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/ImproperlyAnnotatedBean.java
modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/conversation/ConversationalBean.java
modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/PhaseEventObserver.java
modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/SystemEventObserver.java
Log:
Coding conventions
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/ConversationBoundaryInterceptor.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/ConversationBoundaryInterceptor.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/ConversationBoundaryInterceptor.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -41,7 +41,9 @@
*
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
-public @ConversationBoundary @Interceptor class ConversationBoundaryInterceptor implements Serializable
+@ConversationBoundary
+@Interceptor
+public class ConversationBoundaryInterceptor implements Serializable
{
private static final long serialVersionUID = -2729227895205287477L;
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/NamedConversationAliasProducer.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/NamedConversationAliasProducer.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/context/conversation/NamedConversationAliasProducer.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -35,7 +35,10 @@
*/
public class NamedConversationAliasProducer
{
- public @Produces @Named @Typed(/* no types - prevents injection */) Conversation getConversation(final Conversation conversation)
+ @Produces
+ @Named
+ @Typed(/* no types - prevents injection */)
+ public Conversation getConversation(final Conversation conversation)
{
return conversation;
}
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/ExternalContextProducer.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/ExternalContextProducer.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/ExternalContextProducer.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -48,7 +48,9 @@
*/
public class ExternalContextProducer
{
- public @Produces @RequestScoped ExternalContext getExternalContext(final FacesContext context)
+ @Produces
+ @RequestScoped
+ public ExternalContext getExternalContext(final FacesContext context)
{
return context.getExternalContext();
}
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/FacesContextProducer.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/FacesContextProducer.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/FacesContextProducer.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -53,7 +53,9 @@
*/
public class FacesContextProducer
{
- public @Produces @RequestScoped FacesContext getFacesContext()
+ @Produces
+ @RequestScoped
+ public FacesContext getFacesContext()
{
FacesContext ctx = FacesContext.getCurrentInstance();
if (ctx == null)
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/NavigationHandlerProducer.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/NavigationHandlerProducer.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/environment/NavigationHandlerProducer.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -41,7 +41,9 @@
@Inject
FacesContext context;
- public @Produces @RequestScoped NavigationHandler getNavigationHandler()
+ @Produces
+ @RequestScoped
+ public NavigationHandler getNavigationHandler()
{
if (context != null)
{
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/PhaseEventBridge.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/PhaseEventBridge.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/PhaseEventBridge.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -63,7 +63,8 @@
* @author <a href="mailto:lincolnbaxter@gmail.com>Lincoln Baxter, III</a>
*
*/
-public @ApplicationScoped class PhaseEventBridge extends BeanManagerAware implements PhaseListener
+@ApplicationScoped
+public class PhaseEventBridge extends BeanManagerAware implements PhaseListener
{
private static final long serialVersionUID = -6181019551463318453L;
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/SystemEventBridge.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/SystemEventBridge.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/event/SystemEventBridge.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -53,7 +53,8 @@
*
* @author Nicklas Karlsson
*/
-public @ApplicationScoped class SystemEventBridge extends BeanManagerAware implements SystemEventListener
+@ApplicationScoped
+public class SystemEventBridge extends BeanManagerAware implements SystemEventListener
{
public boolean isListenerForSource(final Object source)
@@ -67,5 +68,4 @@
getBeanManager().fireEvent(payload);
}
-
}
Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/international/FacesLocaleResolver.java
===================================================================
--- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/international/FacesLocaleResolver.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/international/FacesLocaleResolver.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -44,8 +44,8 @@
return facesContext != null && facesContext.getCurrentPhaseId() != null;
}
- public @Produces
- Locale getLocale()
+ @Produces
+ public Locale getLocale()
{
if (facesContext.getViewRoot() != null)
{
Modified: modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/ImproperlyAnnotatedBean.java
===================================================================
--- modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/ImproperlyAnnotatedBean.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/ImproperlyAnnotatedBean.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -18,7 +18,7 @@
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
+ */
package org.jboss.seam.faces.context;
import javax.faces.bean.RequestScoped;
@@ -27,6 +27,7 @@
* @author <a href="mailto:lincolnbaxter@gmail.com>Lincoln Baxter, III</a>
*
*/
-public @RequestScoped class ImproperlyAnnotatedBean
+@RequestScoped
+public class ImproperlyAnnotatedBean
{
}
Modified: modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/conversation/ConversationalBean.java
===================================================================
--- modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/conversation/ConversationalBean.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/context/conversation/ConversationalBean.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -18,7 +18,7 @@
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
+ */
package org.jboss.seam.faces.context.conversation;
import javax.enterprise.context.Conversation;
@@ -31,7 +31,8 @@
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*
*/
-public @RequestScoped class ConversationalBean
+@RequestScoped
+public class ConversationalBean
{
@Inject
Conversation conversation;
Modified: modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/PhaseEventObserver.java
===================================================================
--- modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/PhaseEventObserver.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/PhaseEventObserver.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -18,7 +18,7 @@
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
+ */
package org.jboss.seam.faces.event;
import java.util.ArrayList;
@@ -44,9 +44,10 @@
/**
*
* @author Nicklas Karlsson
- *
+ *
*/
-public @ApplicationScoped class PhaseEventObserver
+@ApplicationScoped
+public class PhaseEventObserver
{
private Map<String, List<PhaseId>> observations = new HashMap<String, List<PhaseId>>();
@@ -167,16 +168,15 @@
{
recordObservation("19", e.getPhaseId());
}
-
+
public void observeAllAfterEvents(@Observes @Before final PhaseEvent e)
{
recordObservation("20", e.getPhaseId());
}
-
+
public void observeAllEvents(@Observes final PhaseEvent e)
{
recordObservation("21", e.getPhaseId());
}
-
}
Modified: modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/SystemEventObserver.java
===================================================================
--- modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/SystemEventObserver.java 2010-04-09 20:50:59 UTC (rev 12423)
+++ modules/faces/trunk/impl/src/test/java/org/jboss/seam/faces/event/SystemEventObserver.java 2010-04-09 20:51:42 UTC (rev 12424)
@@ -33,9 +33,10 @@
/**
*
* @author Nicklas Karlsson
- *
+ *
*/
-public @ApplicationScoped class SystemEventObserver
+@ApplicationScoped
+public class SystemEventObserver
{
public static boolean componentSystemEvent;
public static boolean excecptionQueuedEvent;
@@ -44,32 +45,32 @@
public static boolean preDestroyApplicationEvent;
public static boolean preDestroyCustomScopeEvent;
- public void observeComponentSystemEvent(@Observes ComponentSystemEvent e)
+ public void observeComponentSystemEvent(@Observes ComponentSystemEvent e)
{
componentSystemEvent = true;
}
- public void observeExceptionQueuedEvent(@Observes ExceptionQueuedEvent e)
+ public void observeExceptionQueuedEvent(@Observes ExceptionQueuedEvent e)
{
excecptionQueuedEvent = true;
}
- public void observePostConstructApplicationEvent(@Observes PostConstructApplicationEvent e)
+ public void observePostConstructApplicationEvent(@Observes PostConstructApplicationEvent e)
{
postConstructApplicationEvent = true;
}
-
- public void observePreDestroyApplicationEvent(@Observes PreDestroyApplicationEvent e)
+
+ public void observePreDestroyApplicationEvent(@Observes PreDestroyApplicationEvent e)
{
preDestroyApplicationEvent = true;
- }
-
- public void observePostConstructCustomScopeEvent(@Observes PostConstructCustomScopeEvent e)
+ }
+
+ public void observePostConstructCustomScopeEvent(@Observes PostConstructCustomScopeEvent e)
{
postConstructCustomScopeEvent = true;
}
-
- public void observePreDestroyCustomScopeEvent(@Observes PreDestroyCustomScopeEvent e)
+
+ public void observePreDestroyCustomScopeEvent(@Observes PreDestroyCustomScopeEvent e)
{
preDestroyCustomScopeEvent = true;
}
16 years
Seam SVN: r12423 - modules/servlet/trunk/src/main/java/org/jboss/seam/servlet.
by seam-commits@lists.jboss.org
Author: nickarls
Date: 2010-04-09 16:50:59 -0400 (Fri, 09 Apr 2010)
New Revision: 12423
Modified:
modules/servlet/trunk/src/main/java/org/jboss/seam/servlet/HttpManager.java
Log:
Coding conventions
Modified: modules/servlet/trunk/src/main/java/org/jboss/seam/servlet/HttpManager.java
===================================================================
--- modules/servlet/trunk/src/main/java/org/jboss/seam/servlet/HttpManager.java 2010-04-09 09:35:40 UTC (rev 12422)
+++ modules/servlet/trunk/src/main/java/org/jboss/seam/servlet/HttpManager.java 2010-04-09 20:50:59 UTC (rev 12423)
@@ -45,17 +45,18 @@
* @author Nicklas Karlsson
*
*/
-public @SessionScoped class HttpManager implements Serializable
+@SessionScoped
+public class HttpManager implements Serializable
{
private static final long serialVersionUID = 5191073522575178427L;
-
+
private HttpSession session;
private HttpServletRequest request;
private BeanManager beanManager;
@Inject
private Logger log;
-
+
protected void requestInitialized(@Observes @Initialized ServletRequestEvent e)
{
log.trace("Servlet request initialized with event #0", e);
16 years
Seam SVN: r12422 - modules/xml/trunk/examples/princess-rescue/src/main/resources/META-INF.
by seam-commits@lists.jboss.org
Author: swd847
Date: 2010-04-09 05:35:40 -0400 (Fri, 09 Apr 2010)
New Revision: 12422
Modified:
modules/xml/trunk/examples/princess-rescue/src/main/resources/META-INF/beans.xml
Log:
minor bug fix
Modified: modules/xml/trunk/examples/princess-rescue/src/main/resources/META-INF/beans.xml
===================================================================
--- modules/xml/trunk/examples/princess-rescue/src/main/resources/META-INF/beans.xml 2010-04-09 08:56:24 UTC (rev 12421)
+++ modules/xml/trunk/examples/princess-rescue/src/main/resources/META-INF/beans.xml 2010-04-09 09:35:40 UTC (rev 12422)
@@ -13,7 +13,7 @@
</p:Room>
<p:GameManager>
- <s:extends/>
+ <s:specializes/>
<p:allRooms>
<s:Any/>
<s:Inject/>
16 years