[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