[jboss-svn-commits] JBL Code SVN: r30438 - in labs/jbossrules/trunk/drools-container/drools-spring/src/main: java/org/drools/container/spring/namespace and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Dec 2 13:26:25 EST 2009
Author: salaboy21
Date: 2009-12-02 13:26:25 -0500 (Wed, 02 Dec 2009)
New Revision: 30438
Modified:
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/DroolsResourceAdapter.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/drools-spring.xsd
Log:
JBRULES-1434: Drools Spring
- Service Manager optional and use ServiceManagerLocalClient as default
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/DroolsResourceAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/DroolsResourceAdapter.java 2009-12-02 17:04:10 UTC (rev 30437)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/DroolsResourceAdapter.java 2009-12-02 18:26:25 UTC (rev 30438)
@@ -78,6 +78,8 @@
if (resourceType == null) {
throw new IllegalArgumentException("resourceType property is mandatory");
}
-
+ if (resourceConfiguration != null && !ResourceType.DTABLE.equals(resourceType)) {
+ throw new IllegalArgumentException("Only Decision Tables can have configuration");
+ }
}
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java 2009-12-02 17:04:10 UTC (rev 30437)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java 2009-12-02 18:26:25 UTC (rev 30438)
@@ -7,6 +7,7 @@
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderErrors;
import org.drools.vsm.ServiceManager;
+import org.drools.vsm.local.ServiceManagerLocalClient;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
@@ -36,7 +37,7 @@
// setName(getBeanName());
// }
if (serviceManager == null) {
- throw new IllegalArgumentException("serviceManager property is mandatory");
+ serviceManager = new ServiceManagerLocalClient();
}
KnowledgeBuilder kbuilder = getServiceManager().getKnowledgeBuilderFactory().newKnowledgeBuilder();
for (DroolsResourceAdapter res: resources) {
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceDefinitionParser.java 2009-12-02 17:04:10 UTC (rev 30437)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceDefinitionParser.java 2009-12-02 18:26:25 UTC (rev 30438)
@@ -1,67 +1,64 @@
-package org.drools.container.spring.namespace;
-
-import java.util.List;
-
-import org.drools.builder.DecisionTableInputType;
-import org.drools.builder.ResourceType;
-import org.drools.builder.impl.DecisionTableConfigurationImpl;
-import org.drools.container.spring.beans.DroolsResourceAdapter;
-import org.springframework.beans.factory.support.AbstractBeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.util.xml.DomUtils;
-import org.w3c.dom.Element;
-
-public class ResourceDefinitionParser extends AbstractBeanDefinitionParser {
-
- private static final String WORKSHEET_NAME_ATTRIBUTE = "worksheet-name";
- private static final String INPUT_TYPE_ATTRIBUTE = "input-type";
- private static final String TYPE_ATTRIBUTE = "type";
- private static final String SOURCE_ATTRIBUTE = "source";
-
- @SuppressWarnings("unchecked")
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(DroolsResourceAdapter.class);
-
- String source = element.getAttribute(SOURCE_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), SOURCE_ATTRIBUTE, source);
- factory.addPropertyValue("resource", source);
-
- String type = element.getAttribute(TYPE_ATTRIBUTE);
- //emptyAttributeCheck(element.getLocalName(), type, type);
- factory.addPropertyValue("resourceType",
- type == null || type.length() == 0 ?
- ResourceType.DRL.getName() :
- type);
-
- List<Element> childElements = DomUtils.getChildElementsByTagName(element, "decisiontable-conf");
- if (childElements != null && !childElements.isEmpty()) {
- if (!ResourceType.DTABLE.getName().endsWith(type)) {
- throw new IllegalArgumentException("Only Desicion Tables can have configuration");
- }
- Element conf = childElements.get(0);
- DecisionTableConfigurationImpl dtableConf = new DecisionTableConfigurationImpl();
-
- String inputType = conf.getAttribute(INPUT_TYPE_ATTRIBUTE);
- emptyAttributeCheck(conf.getLocalName(), INPUT_TYPE_ATTRIBUTE, inputType);
- dtableConf.setInputType(DecisionTableInputType.valueOf(inputType));
-
- String worksheetName = conf.getAttribute(WORKSHEET_NAME_ATTRIBUTE);
- emptyAttributeCheck(conf.getLocalName(), WORKSHEET_NAME_ATTRIBUTE, worksheetName);
- dtableConf.setWorksheetName(worksheetName);
-
- factory.addPropertyValue("resourceConfiguration", dtableConf);
- }
- return factory.getBeanDefinition();
- }
-
- public void emptyAttributeCheck(final String element,
- final String attributeName,
- final String attribute) {
- if (attribute == null || attribute.trim().equals("")) {
- throw new IllegalArgumentException("<" + element + "> requires a '" + attributeName + "' attribute");
- }
- }
-}
+package org.drools.container.spring.namespace;
+
+import java.util.List;
+
+import org.drools.builder.DecisionTableInputType;
+import org.drools.builder.ResourceType;
+import org.drools.builder.impl.DecisionTableConfigurationImpl;
+import org.drools.container.spring.beans.DroolsResourceAdapter;
+import org.springframework.beans.factory.support.AbstractBeanDefinition;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.util.xml.DomUtils;
+import org.w3c.dom.Element;
+
+public class ResourceDefinitionParser extends AbstractBeanDefinitionParser {
+
+ private static final String WORKSHEET_NAME_ATTRIBUTE = "worksheet-name";
+ private static final String INPUT_TYPE_ATTRIBUTE = "input-type";
+ private static final String TYPE_ATTRIBUTE = "type";
+ private static final String SOURCE_ATTRIBUTE = "source";
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(DroolsResourceAdapter.class);
+
+ String source = element.getAttribute(SOURCE_ATTRIBUTE);
+ emptyAttributeCheck(element.getLocalName(), SOURCE_ATTRIBUTE, source);
+ factory.addPropertyValue("resource", source);
+
+ String type = element.getAttribute(TYPE_ATTRIBUTE);
+ //emptyAttributeCheck(element.getLocalName(), type, type);
+ factory.addPropertyValue("resourceType",
+ type == null || type.length() == 0 ?
+ ResourceType.DRL.getName() :
+ type);
+
+ List<Element> childElements = DomUtils.getChildElementsByTagName(element, "decisiontable-conf");
+ if (childElements != null && !childElements.isEmpty()) {
+ Element conf = childElements.get(0);
+ DecisionTableConfigurationImpl dtableConf = new DecisionTableConfigurationImpl();
+
+ String inputType = conf.getAttribute(INPUT_TYPE_ATTRIBUTE);
+ emptyAttributeCheck(conf.getLocalName(), INPUT_TYPE_ATTRIBUTE, inputType);
+ dtableConf.setInputType(DecisionTableInputType.valueOf(inputType));
+
+ String worksheetName = conf.getAttribute(WORKSHEET_NAME_ATTRIBUTE);
+ emptyAttributeCheck(conf.getLocalName(), WORKSHEET_NAME_ATTRIBUTE, worksheetName);
+ dtableConf.setWorksheetName(worksheetName);
+
+ factory.addPropertyValue("resourceConfiguration", dtableConf);
+ }
+ return factory.getBeanDefinition();
+ }
+
+ public void emptyAttributeCheck(final String element,
+ final String attributeName,
+ final String attribute) {
+ if (attribute == null || attribute.trim().equals("")) {
+ throw new IllegalArgumentException("<" + element + "> requires a '" + attributeName + "' attribute");
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/drools-spring.xsd
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/drools-spring.xsd 2009-12-02 17:04:10 UTC (rev 30437)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/drools-spring.xsd 2009-12-02 18:26:25 UTC (rev 30438)
@@ -1,90 +1,90 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://drools.org/schema/drools-spring"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://drools.org/schema/drools-spring"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
- <xsd:simpleType name="knowledgeSessionTypeEnum">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="stateful" />
- <xsd:enumeration value="stateless" />
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:simpleType name="resourceTypeEnum">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="DRL" />
- <xsd:enumeration value="XDRL" />
- <xsd:enumeration value="DSL" />
- <xsd:enumeration value="DSLR" />
- <xsd:enumeration value="DRF" />
- <xsd:enumeration value="DTABLE" />
- <xsd:enumeration value="PKG" />
- <xsd:enumeration value="BRL" />
- <xsd:enumeration value="CHANGE_SET" />
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:complexType name="resourceType">
- <xsd:sequence>
- <xsd:element name="decisiontable-conf" minOccurs="0" maxOccurs="1">
- <xsd:complexType>
- <xsd:attribute name="input-type" use="required" />
- <xsd:attribute name="worksheet-name " use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="source" use="required" type="xsd:string"/>
- <xsd:attribute name="type" use="required" type="resourceTypeEnum"/>
- </xsd:complexType>
-
- <xsd:element name="resource">
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="resourceType">
- <xsd:attribute name="id" use="optional" type="xsd:ID"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="kbase">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="resource" type="resourceType" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" use="optional" type="xsd:ID"/>
- <xsd:attribute name="serviceManager" use="required" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="ksession">
- <xsd:complexType>
- <xsd:attribute name="type" use="required" type="knowledgeSessionTypeEnum"/>
- <xsd:attribute name="kbase" use="required" type="xsd:string"/>
- <xsd:attribute name="id" use="optional" type="xsd:ID"/>
- <xsd:attribute name="serviceManager" use="optional" type="xsd:string"/>
- <xsd:attribute name="name" use="optional" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
-
- <!--
- <xsd:element name="serviceManager">
-
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="register" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:attribute name="name" use="optional" />
- <xsd:attribute name="ref" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" use="required" />
- <xsd:attribute name="class" default="org.drools.vsm.local.ServiceManagerLocalClient" use="optional" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
- -->
-
-</xsd:schema>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://drools.org/schema/drools-spring"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://drools.org/schema/drools-spring"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:simpleType name="knowledgeSessionTypeEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="stateful" />
+ <xsd:enumeration value="stateless" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="resourceTypeEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DRL" />
+ <xsd:enumeration value="XDRL" />
+ <xsd:enumeration value="DSL" />
+ <xsd:enumeration value="DSLR" />
+ <xsd:enumeration value="DRF" />
+ <xsd:enumeration value="DTABLE" />
+ <xsd:enumeration value="PKG" />
+ <xsd:enumeration value="BRL" />
+ <xsd:enumeration value="CHANGE_SET" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="resourceType">
+ <xsd:sequence>
+ <xsd:element name="decisiontable-conf" minOccurs="0" maxOccurs="1">
+ <xsd:complexType>
+ <xsd:attribute name="input-type" use="required" />
+ <xsd:attribute name="worksheet-name " use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="source" use="required" type="xsd:string"/>
+ <xsd:attribute name="type" use="required" type="resourceTypeEnum"/>
+ </xsd:complexType>
+
+ <xsd:element name="resource">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="resourceType">
+ <xsd:attribute name="id" use="optional" type="xsd:ID"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="kbase">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="resource" type="resourceType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" use="optional" type="xsd:ID"/>
+ <xsd:attribute name="serviceManager" use="optional" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="ksession">
+ <xsd:complexType>
+ <xsd:attribute name="type" use="required" type="knowledgeSessionTypeEnum"/>
+ <xsd:attribute name="kbase" use="required" type="xsd:string"/>
+ <xsd:attribute name="id" use="optional" type="xsd:ID"/>
+ <xsd:attribute name="serviceManager" use="optional" type="xsd:string"/>
+ <xsd:attribute name="name" use="optional" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!--
+ <xsd:element name="serviceManager">
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="register" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" use="optional" />
+ <xsd:attribute name="ref" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" use="required" />
+ <xsd:attribute name="class" default="org.drools.vsm.local.ServiceManagerLocalClient" use="optional" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+ -->
+
+</xsd:schema>
More information about the jboss-svn-commits
mailing list