[jboss-svn-commits] JBL Code SVN: r33364 - in labs/jbossrules/trunk: drools-api/src/main/java/org/drools/builder and 29 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Jun 6 00:47:39 EDT 2010
Author: mark.proctor at jboss.com
Date: 2010-06-06 00:47:34 -0400 (Sun, 06 Jun 2010)
New Revision: 33364
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JaxbConfiguration.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/pipeline/
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/pipeline/impl/
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/pipeline/impl/DroolsJaxbHelperProviderImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/JaxbConfigurationImpl.java
Removed:
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java
Modified:
labs/jbossrules/trunk/drools-api/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/DroolsJaxbHelperProvider.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/KnowledgeBuilderHelper.java
labs/jbossrules/trunk/drools-compiler/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java
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/ExecutionNodeBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandService.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandServiceFactory.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/beans/KnowledgeServiceBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceConfigurationBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ResourceBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatefulKnowledgeSessionBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatelessKnowledgeSessionBeanFactory.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/SpringSingleSessionCommandService.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/DefinitionParserHelper.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/JpaSessionServiceFactoryDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationRefDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.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/java/org/drools/container/spring/namespace/ResourceRefDefinitionParser.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java
labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsServiceHandler.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/Person.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/JPASingleSessionCommandServiceFactoryTest.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntity.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityMethods.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityOnlyFields.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyVariableSerializable.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringPersistedVariable.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringVariablePersister.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/TestWorkItemHandler.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/VariablePersistenceStrategyTest.java
labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/helper/FileHelper.java
labs/jbossrules/trunk/drools-core/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/DecisionTableConfigurationImpl.java
labs/jbossrules/trunk/drools-decisiontables/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
labs/jbossrules/trunk/drools-persistence-jpa/META-INF/MANIFEST.MF
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbFactTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbGlobalTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbTest.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
labs/jbossrules/trunk/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java
labs/jbossrules/trunk/drools-templates/META-INF/MANIFEST.MF
Log:
JBRULES-2538 Support JAXB as a ResourceType
-Added JaxbConfiguration, XSD ResourceType, made kbuilderwork with this and updated the unit tests for pipeline to use it.
Modified: labs/jbossrules/trunk/drools-api/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-api/META-INF/MANIFEST.MF 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-api/META-INF/MANIFEST.MF 2010-06-06 04:47:34 UTC (rev 33364)
@@ -57,7 +57,7 @@
Bundle-Vendor: JBoss Inc.
DynamicImport-Package: *
Bundle-Version: 5.1.0.SNAPSHOT
-Bnd-LastModified: 1274306668600
+Bnd-LastModified: 1275721110390
Bundle-Activator: org.drools.osgi.api.Activator
Bundle-ManifestVersion: 2
Bundle-Description: A rule production system
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JaxbConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JaxbConfiguration.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JaxbConfiguration.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -0,0 +1,23 @@
+package org.drools.builder;
+
+import java.util.List;
+
+import com.sun.tools.xjc.Options;
+
+/**
+ *
+ */
+public interface JaxbConfiguration
+ extends
+ ResourceConfiguration {
+
+ public Options getXjcOpts();
+
+
+ public String getSystemId();
+
+
+ public List<String> getClasses();
+
+}
+
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -5,6 +5,8 @@
import org.drools.KnowledgeBase;
import org.drools.util.ServiceRegistryImpl;
+import com.sun.tools.xjc.Options;
+
/**
* This factory is used to build the knowledge base definitions that are held collectively in
* KnowledgePackages. The KnowledgePackage also provides the role of 'namespacing'. An optional
@@ -26,7 +28,7 @@
* The KnowledgeBuilder
*/
public static KnowledgeBuilder newKnowledgeBuilder() {
- return getKnowledgeBuilderPServiceFactory().newKnowledgeBuilder();
+ return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder();
}
/**
@@ -35,16 +37,16 @@
* The KnowledgeBuilder
*/
public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
- return getKnowledgeBuilderPServiceFactory().newKnowledgeBuilder( conf );
+ return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder( conf );
}
public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
- return getKnowledgeBuilderPServiceFactory().newKnowledgeBuilder( kbase );
+ return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder( kbase );
}
public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
KnowledgeBuilderConfiguration conf) {
- return getKnowledgeBuilderPServiceFactory().newKnowledgeBuilder( kbase,
+ return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilder( kbase,
conf );
}
@@ -54,7 +56,7 @@
* The KnowledgeBuilderConfiguration.
*/
public static KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
- return getKnowledgeBuilderPServiceFactory().newKnowledgeBuilderConfiguration();
+ return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilderConfiguration();
}
/**
@@ -65,7 +67,7 @@
*/
public static KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
ClassLoader classLoader) {
- return getKnowledgeBuilderPServiceFactory().newKnowledgeBuilderConfiguration( properties,
+ return getKnowledgeBuilderPerviceFactory().newKnowledgeBuilderConfiguration( properties,
classLoader );
}
@@ -89,14 +91,20 @@
* @return
*/
public static DecisionTableConfiguration newDecisionTableConfiguration() {
- return getKnowledgeBuilderPServiceFactory().newDecisionTableConfiguration();
+ return getKnowledgeBuilderPerviceFactory().newDecisionTableConfiguration();
}
+ public static JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
+ String systemId) {
+ return getKnowledgeBuilderPerviceFactory().newJaxbConfiguration(xjcOpts,
+ systemId);
+ }
+
private static synchronized void setKnowledgeBuilderFactoryService(KnowledgeBuilderFactoryService serviceFactory) {
KnowledgeBuilderFactory.factoryService = serviceFactory;
}
- private static synchronized KnowledgeBuilderFactoryService getKnowledgeBuilderPServiceFactory() {
+ private static synchronized KnowledgeBuilderFactoryService getKnowledgeBuilderPerviceFactory() {
if ( factoryService == null ) {
loadServiceFactory();
}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactoryService.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -5,6 +5,8 @@
import org.drools.KnowledgeBase;
import org.drools.Service;
+import com.sun.tools.xjc.Options;
+
/**
* KnowledgeBuilderFactoryService is used by the KnowledgeBuilderFacotry to "provide" it's concrete implementation.
*
@@ -47,7 +49,7 @@
* @return
* The KnowledgeBuilder
*/
- KnowledgeBuilder newKnowledgeBuilder();
+ public KnowledgeBuilder newKnowledgeBuilder();
/**
* Instantiate and return a new KnowledgeBuilder using the given KnowledgeBuilderConfiguration
@@ -57,10 +59,13 @@
* @return
* The KnowledgeBuilder
*/
- KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf);
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf);
public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase);
public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
KnowledgeBuilderConfiguration conf);
+
+ public JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
+ String systemId);
}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -83,6 +83,11 @@
public static final ResourceType CHANGE_SET = addResourceTypeToRegistry( "CHANGE_SET",
"Change Set",
"xcs" );
+
+ /** XSD */
+ public static final ResourceType XSD = addResourceTypeToRegistry( "XSD",
+ "XSD",
+ "xsd" );
public static ResourceType getResourceType(final String resourceType) {
ResourceType resource = CACHE.get( resourceType );
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/DroolsJaxbHelperProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/DroolsJaxbHelperProvider.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/DroolsJaxbHelperProvider.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -26,6 +26,10 @@
/**
* Generates pojos for a given XSD using XJC and adds them to the specified KnowlegeBase.
*
+ * @deprecated
+ * This is now deprecated, as we now support XSD as a standard ResourceType. Although
+ * you'll still need the newJAXBContext method to create a JAXBContext from the KnowledgeBase.
+ *
* @param resource
* The resource to the XSD model
* @param kbuilder
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/KnowledgeBuilderHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/KnowledgeBuilderHelper.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/KnowledgeBuilderHelper.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -106,7 +106,7 @@
private static void loadProvider() {
try {
- Class<DroolsJaxbHelperProvider> cls = (Class<DroolsJaxbHelperProvider>) Class.forName( "org.drools.runtime.pipeline.impl.DroolsJaxbHelperProviderImpl" );
+ Class<DroolsJaxbHelperProvider> cls = (Class<DroolsJaxbHelperProvider>) Class.forName( "org.drools.pipeline.impl.DroolsJaxbHelperProviderImpl" );
setDroolsJaxbHelperProvider( cls.newInstance() );
} catch ( Exception e2 ) {
throw new RuntimeException( "Provider org.drools.runtime.pipeline.impl.DroolsJaxbHelperProviderImpl could not be set.",
Modified: labs/jbossrules/trunk/drools-compiler/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-compiler/META-INF/MANIFEST.MF 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-compiler/META-INF/MANIFEST.MF 2010-06-06 04:47:34 UTC (rev 33364)
@@ -42,7 +42,7 @@
Bundle-Vendor: JBoss Inc.
DynamicImport-Package: *
Bundle-Version: 5.1.0.SNAPSHOT
-Bnd-LastModified: 1274306750644
+Bnd-LastModified: 1275721184639
Bundle-Activator: org.drools.osgi.compiler.Activator
Bundle-ManifestVersion: 2
Bundle-Description: A rule production system
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderFactoryServiceImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -4,14 +4,18 @@
import org.drools.KnowledgeBase;
import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.JaxbConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderConfiguration;
import org.drools.builder.KnowledgeBuilderFactoryService;
import org.drools.builder.conf.impl.DecisionTableConfigurationImpl;
+import org.drools.builder.conf.impl.JaxbConfigurationImpl;
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.impl.KnowledgeBaseImpl;
+import com.sun.tools.xjc.Options;
+
public class KnowledgeBuilderFactoryServiceImpl implements KnowledgeBuilderFactoryService {
public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
@@ -42,4 +46,9 @@
KnowledgeBuilderConfiguration conf) {
return new KnowledgeBuilderImpl( new PackageBuilder( ((KnowledgeBaseImpl) kbase).ruleBase, (PackageBuilderConfiguration) conf ) );
}
+
+ public JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
+ String systemId) {
+ return new JaxbConfigurationImpl( xjcOpts, systemId );
+ }
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -43,6 +43,8 @@
import org.drools.builder.DecisionTableConfiguration;
import org.drools.builder.ResourceConfiguration;
import org.drools.builder.ResourceType;
+import org.drools.builder.conf.impl.JaxbConfigurationImpl;
+import org.drools.builder.help.DroolsJaxbHelperProvider;
import org.drools.common.InternalRuleBase;
import org.drools.commons.jci.problems.CompilationProblem;
import org.drools.compiler.xml.XmlPackageReader;
@@ -74,6 +76,7 @@
import org.drools.lang.dsl.DSLMappingFile;
import org.drools.lang.dsl.DSLTokenizedMappingFile;
import org.drools.lang.dsl.DefaultExpander;
+import org.drools.pipeline.impl.DroolsJaxbHelperProviderImpl;
import org.drools.reteoo.ReteooRuleBase;
import org.drools.rule.DroolsCompositeClassLoader;
import org.drools.rule.Function;
@@ -519,6 +522,12 @@
iNestedResourceResource.getConfiguration() );
}
}
+ } else if ( ResourceType.XSD.equals( type ) ) {
+ JaxbConfigurationImpl confImpl = ( JaxbConfigurationImpl ) configuration;
+ String[] classes = DroolsJaxbHelperProviderImpl.addXsdModel( resource, this, confImpl.getXjcOpts(), confImpl.getSystemId() );
+ for ( String cls : classes ) {
+ confImpl.getClasses().add( cls );
+ }
} else {
ResourceTypeBuilder builder = ResourceTypeBuilderRegistry.getInstance().getResourceTypeBuilder( type );
if ( builder != null ) {
Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/pipeline/impl/DroolsJaxbHelperProviderImpl.java (from rev 33362, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/pipeline/impl/DroolsJaxbHelperProviderImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/pipeline/impl/DroolsJaxbHelperProviderImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -0,0 +1,349 @@
+package org.drools.pipeline.impl;
+
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.ByteArrayOutputStream;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+
+import org.drools.KnowledgeBase;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.help.DroolsJaxbHelperProvider;
+import org.drools.builder.impl.KnowledgeBuilderImpl;
+import org.drools.command.runtime.BatchExecutionCommand;
+import org.drools.command.runtime.GetGlobalCommand;
+import org.drools.command.runtime.SetGlobalCommand;
+import org.drools.command.runtime.process.AbortWorkItemCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.command.runtime.rule.InsertElementsCommand;
+import org.drools.command.runtime.rule.InsertObjectCommand;
+import org.drools.command.runtime.rule.ModifyCommand;
+import org.drools.command.runtime.rule.QueryCommand;
+import org.drools.command.runtime.rule.RetractCommand;
+import org.drools.command.runtime.rule.ModifyCommand.SetterImpl;
+import org.drools.common.DefaultFactHandle;
+import org.drools.common.DisconnectedFactHandle;
+import org.drools.common.InternalRuleBase;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageRegistry;
+import org.drools.impl.KnowledgeBaseImpl;
+import org.drools.io.Resource;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.builder.dialect.java.JavaDialect;
+import org.drools.runtime.impl.ExecutionResultImpl;
+import org.drools.runtime.rule.impl.FlatQueryResults;
+import org.drools.xml.jaxb.util.JaxbListWrapper;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXParseException;
+
+import com.sun.codemodel.CodeWriter;
+import com.sun.codemodel.JCodeModel;
+import com.sun.codemodel.JPackage;
+import com.sun.tools.xjc.BadCommandLineException;
+import com.sun.tools.xjc.ErrorReceiver;
+import com.sun.tools.xjc.ModelLoader;
+import com.sun.tools.xjc.Options;
+import com.sun.tools.xjc.model.Model;
+
+public class DroolsJaxbHelperProviderImpl
+ implements
+ DroolsJaxbHelperProvider {
+
+ private static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommand.class.getName(),
+ SetGlobalCommand.class.getName(),
+ GetGlobalCommand.class.getName(),
+ FireAllRulesCommand.class.getName(),
+ InsertElementsCommand.class.getName(),
+ InsertObjectCommand.class.getName(),
+ ModifyCommand.class.getName(),
+ SetterImpl.class.getName(),
+ QueryCommand.class.getName(),
+ RetractCommand.class.getName(),
+ AbortWorkItemCommand.class.getName(),
+ SignalEventCommand.class.getName(),
+ StartProcessCommand.class.getName(),
+ BatchExecutionCommand.class.getName(),
+ ExecutionResultImpl.class.getName() ,
+ DefaultFactHandle.class.getName(),
+ JaxbListWrapper.class.getName(),
+ DisconnectedFactHandle.class.getName(),
+ FlatQueryResults.class.getName()
+ };
+
+ public static String[] addXsdModel(Resource resource,
+ PackageBuilder pkgBuilder,
+ Options xjcOpts,
+ String systemId) throws IOException {
+ InputSource source = new InputSource( new CachingRewindableReader( resource.getReader() ) );
+ source.setSystemId( systemId.trim().startsWith( "." ) ? systemId : "." + systemId );
+
+ xjcOpts.addGrammar( source );
+
+ try {
+ xjcOpts.parseArguments( new String[]{"-npa"} );
+ } catch ( BadCommandLineException e ) {
+ throw new IllegalArgumentException( "Unable to parse arguments",
+ e );
+ }
+
+ ErrorReceiver errorReceiver = new JaxbErrorReceiver4Drools();
+
+ Model model = ModelLoader.load( xjcOpts,
+ new JCodeModel(),
+ errorReceiver );
+
+ model.generateCode( xjcOpts, errorReceiver );
+
+ MapVfsCodeWriter codeWriter = new MapVfsCodeWriter();
+ model.codeModel.build( xjcOpts.createCodeWriter( codeWriter ) );
+
+ List<String> classNames = new ArrayList<String>();
+ for ( Entry<String, byte[]> entry : codeWriter.getMap().entrySet() ) {
+ String name = entry.getKey();
+ //if (name.endsWith("ObjectFactory.java")) {
+ // continue;
+ //}
+
+ String pkgName = null;
+ int dotPos = name.lastIndexOf( '.' );
+ pkgName = name.substring( 0,
+ dotPos );
+
+ if ( !name.endsWith( "package-info.java" ) ) {
+ classNames.add( pkgName );
+ }
+
+ dotPos = pkgName.lastIndexOf( '.' );
+ if ( dotPos != -1 ) {
+ pkgName = pkgName.substring( 0,
+ dotPos );
+ }
+
+ PackageRegistry pkgReg = pkgBuilder.getPackageRegistry( pkgName );
+ if ( pkgReg == null ) {
+ pkgBuilder.addPackage( new PackageDescr( pkgName ) );
+ pkgReg = pkgBuilder.getPackageRegistry( pkgName );
+ }
+
+ JavaDialect dialect = (JavaDialect) pkgReg.getDialectCompiletimeRegistry().getDialect( "java" );
+ dialect.addSrc( convertToResource( entry.getKey() ),
+ entry.getValue() );
+ }
+
+ pkgBuilder.compileAll();
+ pkgBuilder.updateResults();
+
+ return classNames.toArray( new String[classNames.size()] );
+ }
+
+ public String[] addXsdModel(Resource resource,
+ KnowledgeBuilder kbuilder,
+ Options xjcOpts,
+ String systemId) throws IOException {
+ PackageBuilder pkgBuilder = ((KnowledgeBuilderImpl) kbuilder).pkgBuilder;
+ return addXsdModel( resource, pkgBuilder, xjcOpts, systemId );
+ }
+
+ public JAXBContext newJAXBContext(String[] classNames,
+ KnowledgeBase kbase) throws JAXBException {
+ return newJAXBContext( classNames,
+ Collections.<String, Object> emptyMap(),
+ kbase );
+ }
+
+ public JAXBContext newJAXBContext(String[] classNames,
+ Map<String, ? > properties,
+ KnowledgeBase kbase) throws JAXBException {
+ ClassLoader classLoader = ((InternalRuleBase) ((KnowledgeBaseImpl) kbase)
+ .getRuleBase()).getRootClassLoader();
+ int i = 0;
+ try {
+ Class<?>[] classes = new Class[classNames.length
+ + JAXB_ANNOTATED_CMD.length];
+
+ for (i = 0; i < classNames.length; i++) {
+ classes[i] = classLoader.loadClass(classNames[i]);
+ }
+ int j = 0;
+ for (i = classNames.length; i < classes.length; i++, j++) {
+ classes[i] = classLoader.loadClass(JAXB_ANNOTATED_CMD[j]);
+ }
+ return JAXBContext.newInstance(classes, properties);
+ } catch (ClassNotFoundException e) {
+ throw new JAXBException("Unable to resolve class '" + classNames[i] + "'", e);
+ }
+ }
+
+ private static String convertToResource(String string) {
+ int lastDot = string.lastIndexOf( '.' );
+ return string.substring( 0,
+ lastDot ).replace( '.',
+ '/' ) + string.substring( lastDot,
+ string.length() );
+ }
+
+ public static class MapVfsCodeWriter extends CodeWriter {
+
+ private final Map<String, byte[]> map;
+
+ private ByteArrayOutputStream currentBaos;
+ private String currentPath;
+
+ public MapVfsCodeWriter() {
+ this.map = new LinkedHashMap<String, byte[]>();
+ }
+
+ public OutputStream openBinary(JPackage pkg,
+ String fileName) throws IOException {
+ String pkgName = pkg.name();
+
+ if ( pkgName.length() != 0 ) {
+ pkgName += '.';
+ }
+
+ if ( this.currentBaos != null ) {
+ this.currentBaos.close();
+ this.map.put( this.currentPath,
+ this.currentBaos.toByteArray() );
+ }
+
+ this.currentPath = pkgName + fileName;
+ this.currentBaos = new ByteArrayOutputStream();
+
+ return new FilterOutputStream( this.currentBaos ) {
+ public void close() {
+ // don't let this stream close
+ }
+ };
+ }
+
+ public void close() throws IOException {
+ if ( this.currentBaos != null ) {
+ this.currentBaos.close();
+ this.map.put( this.currentPath,
+ this.currentBaos.toByteArray() );
+ }
+ }
+
+ public Map<String, byte[]> getMap() {
+ return this.map;
+ }
+
+ }
+
+ public static class JaxbErrorReceiver4Drools extends ErrorReceiver {
+
+ public String stage = "processing";
+
+ public void warning(SAXParseException e) {
+ e.printStackTrace();
+ }
+
+ public void error(SAXParseException e) {
+ e.printStackTrace();
+ }
+
+ public void fatalError(SAXParseException e) {
+ e.printStackTrace();
+ }
+
+ public void info(SAXParseException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static class CachingRewindableReader extends Reader {
+ private Reader source;
+ private boolean sourceClosed;
+ private RewindableStringReader cache;
+ private StringBuilder strBuilder;
+
+ public CachingRewindableReader(Reader source) {
+ this.source = source;
+ this.strBuilder = new StringBuilder();
+ }
+
+ public int read(char[] cbuf,
+ int off,
+ int len) throws IOException {
+ int value = 0;
+ if ( this.cache == null ) {
+ value = this.source.read( cbuf,
+ off,
+ len );
+ if ( value != -1 ) {
+ // keep appening to the stringBuilder until we are at the end
+ this.strBuilder.append( cbuf,
+ off,
+ value );
+ } else {
+ // we are at the end, so switch to cache
+ this.cache = new RewindableStringReader( strBuilder.toString() );
+ }
+ } else {
+ value = this.cache.read( cbuf,
+ off,
+ len );
+ }
+ return value;
+ }
+
+ public void close() throws IOException {
+ if ( !sourceClosed ) {
+ // close the source, we only do this once.
+ this.source.close();
+ this.sourceClosed = true;
+ }
+
+ if ( cache == null ) {
+ // switch to cache if we haven't already
+ this.cache = new RewindableStringReader( strBuilder.toString() );
+ } else {
+ // reset the cache, so it can be read again.
+ this.cache.reset();
+ }
+ }
+ }
+
+ public static class RewindableStringReader extends StringReader {
+ public RewindableStringReader(String s) {
+ super( s );
+ }
+
+ public void close() {
+ try {
+ reset();
+ } catch ( IOException e ) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -9,74 +9,79 @@
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.NamedBean;
-public abstract class AbstractKnowledgeSessionBeanFactory implements FactoryBean,
- InitializingBean, BeanNameAware, NamedBean {
+public abstract class AbstractKnowledgeSessionBeanFactory
+ implements
+ FactoryBean,
+ InitializingBean,
+ BeanNameAware,
+ NamedBean {
- private ExecutionNode node;
- private KnowledgeBase kbase;
- private String beanName;
- private String name;
+ private ExecutionNode node;
+ private KnowledgeBase kbase;
+ private String beanName;
+ private String name;
- public AbstractKnowledgeSessionBeanFactory() {
- super();
- }
+ public AbstractKnowledgeSessionBeanFactory() {
+ super();
+ }
- public Object getObject() throws Exception {
- return getCommandExecutor();
- }
-
- public String getName() {
- return name;
- }
+ public Object getObject() throws Exception {
+ return getCommandExecutor();
+ }
- public void setName(String name) {
- this.name = name;
- }
+ public String getName() {
+ return name;
+ }
- public KnowledgeBase getKbase() {
- return kbase;
- }
+ public void setName(String name) {
+ this.name = name;
+ }
- public void setKbase(KnowledgeBase kbase) {
- this.kbase = kbase;
- }
+ public KnowledgeBase getKbase() {
+ return kbase;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public void setKbase(KnowledgeBase kbase) {
+ this.kbase = kbase;
+ }
- public final void afterPropertiesSet() throws Exception {
- if (kbase == null) {
- throw new IllegalArgumentException("kbase property is mandatory");
- }
- if (name == null) {
- name = beanName;
- }
- internalAfterPropertiesSet();
- if (node != null) {
- node.get(DirectoryLookupFactoryService.class).register(name, getCommandExecutor());
- }
- }
+ public boolean isSingleton() {
+ return true;
+ }
- protected abstract CommandExecutor getCommandExecutor();
+ public final void afterPropertiesSet() throws Exception {
+ if ( kbase == null ) {
+ throw new IllegalArgumentException( "kbase property is mandatory" );
+ }
+ if ( name == null ) {
+ name = beanName;
+ }
+ internalAfterPropertiesSet();
+ if ( node != null ) {
+ node.get( DirectoryLookupFactoryService.class ).register( name,
+ getCommandExecutor() );
+ }
+ }
- protected abstract void internalAfterPropertiesSet();
+ protected abstract CommandExecutor getCommandExecutor();
- public ExecutionNode getNode() {
- return node;
- }
+ protected abstract void internalAfterPropertiesSet();
- public void setNode(ExecutionNode node) {
- this.node = node;
- }
+ public ExecutionNode getNode() {
+ return node;
+ }
- public void setBeanName(String name) {
- this.beanName = name;
+ public void setNode(ExecutionNode node) {
+ this.node = node;
+ }
- }
+ public void setBeanName(String name) {
+ this.beanName = name;
- public String getBeanName() {
- return beanName;
- }
+ }
+ public String getBeanName() {
+ return beanName;
+ }
+
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -10,50 +10,51 @@
* @author Lucas Amador
*
*/
-public class ConnectionBeanFactory implements FactoryBean, InitializingBean {
+public class ConnectionBeanFactory
+ implements
+ FactoryBean,
+ InitializingBean {
- private String id;
- private String type;
- private Object connection;
+ private String id;
+ private String type;
+ private Object connection;
- public Object getObject() throws Exception {
- return connection;
- }
+ public Object getObject() throws Exception {
+ return connection;
+ }
- public Class<GenericConnection> getObjectType() {
- return GenericConnection.class;
- }
+ public Class<GenericConnection> getObjectType() {
+ return GenericConnection.class;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public boolean isSingleton() {
+ return true;
+ }
- public void afterPropertiesSet() throws Exception {
- if ("local".equals(type)) {
- connection = new LocalConnection();
- }
- else if ("remote".equals(type)) {
- throw new UnsupportedOperationException("not implemented yet");
- }
- else {
- throw new IllegalArgumentException("invalid connection type: local/remote");
- }
- }
+ public void afterPropertiesSet() throws Exception {
+ if ( "local".equals( type ) ) {
+ connection = new LocalConnection();
+ } else if ( "remote".equals( type ) ) {
+ throw new UnsupportedOperationException( "not implemented yet" );
+ } else {
+ throw new IllegalArgumentException( "invalid connection type: local/remote" );
+ }
+ }
- public void setId(String id) {
- this.id = id;
- }
+ public void setId(String id) {
+ this.id = id;
+ }
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
- public void setType(String type) {
- this.type = type;
- }
+ public void setType(String type) {
+ this.type = type;
+ }
- public String getType() {
- return type;
- }
+ public String getType() {
+ return type;
+ }
}
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 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/DroolsResourceAdapter.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -7,79 +7,92 @@
import org.drools.io.impl.UrlResource;
import org.springframework.beans.factory.InitializingBean;
-public class DroolsResourceAdapter implements InitializingBean {
- private Resource resource;
- private ResourceType resourceType;
- private ResourceConfiguration resourceConfiguration;
-
- public DroolsResourceAdapter() {
-
- }
-
- public DroolsResourceAdapter(String resource, ResourceType resourceType,
- ResourceConfiguration resourceConfiguration) {
- super();
- setResource(resource);
- this.resourceType = resourceType;
- this.resourceConfiguration = resourceConfiguration;
- }
+public class DroolsResourceAdapter
+ implements
+ InitializingBean {
+ private Resource resource;
+ private ResourceType resourceType;
+ private ResourceConfiguration resourceConfiguration;
- public void setResource(String resource) {
- if ( resource.trim().startsWith( "classpath:" ) ) {
- this.resource = new ClassPathResource(
- resource.substring( resource.indexOf( ':' ) + 1 ),
- ClassPathResource.class.getClassLoader() );
+ public DroolsResourceAdapter() {
+
+ }
+
+ public DroolsResourceAdapter(String resource,
+ ResourceType resourceType,
+ ResourceConfiguration resourceConfiguration) {
+ super();
+ setResource( resource );
+ this.resourceType = resourceType;
+ this.resourceConfiguration = resourceConfiguration;
+ }
+
+ public void setResource(String resource) {
+ if ( resource.trim().startsWith( "classpath:" ) ) {
+ this.resource = new ClassPathResource( resource.substring( resource.indexOf( ':' ) + 1 ),
+ ClassPathResource.class.getClassLoader() );
} else {
- this.resource = new UrlResource( resource );
+ this.resource = new UrlResource( resource );
}
- }
-
- public DroolsResourceAdapter(String resource, ResourceType resourceType) {
- this(resource, resourceType, null);
- }
+ }
- public DroolsResourceAdapter(String resource) {
- this(resource, ResourceType.DRL, null);
- }
+ public DroolsResourceAdapter(String resource,
+ ResourceType resourceType) {
+ this( resource,
+ resourceType,
+ null );
+ }
- public DroolsResourceAdapter(String resource, String resourceType,
- ResourceConfiguration resourceConfiguration) {
- this(resource, ResourceType.getResourceType(resourceType), resourceConfiguration);
- }
+ public DroolsResourceAdapter(String resource) {
+ this( resource,
+ ResourceType.DRL,
+ null );
+ }
- public DroolsResourceAdapter(String resource, String resourceType) {
- this(resource, resourceType, null);
- }
-
- public Resource getDroolsResource() {
- return resource;
- }
+ public DroolsResourceAdapter(String resource,
+ String resourceType,
+ ResourceConfiguration resourceConfiguration) {
+ this( resource,
+ ResourceType.getResourceType( resourceType ),
+ resourceConfiguration );
+ }
- public ResourceType getResourceType() {
- return resourceType;
- }
+ public DroolsResourceAdapter(String resource,
+ String resourceType) {
+ this( resource,
+ resourceType,
+ null );
+ }
- public void setResourceType(ResourceType resourceType) {
- this.resourceType = resourceType;
- }
+ public Resource getDroolsResource() {
+ return resource;
+ }
- public ResourceConfiguration getResourceConfiguration() {
- return resourceConfiguration;
- }
+ public ResourceType getResourceType() {
+ return resourceType;
+ }
- public void setResourceConfiguration(ResourceConfiguration resourceConfiguration) {
- this.resourceConfiguration = resourceConfiguration;
- }
+ public void setResourceType(ResourceType resourceType) {
+ this.resourceType = resourceType;
+ }
- public void afterPropertiesSet() throws Exception {
- if (resource == null) {
- throw new IllegalArgumentException("resource property is mandatory");
- }
- 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");
- }
- }
+ public ResourceConfiguration getResourceConfiguration() {
+ return resourceConfiguration;
+ }
+
+ public void setResourceConfiguration(ResourceConfiguration resourceConfiguration) {
+ this.resourceConfiguration = resourceConfiguration;
+ }
+
+ public void afterPropertiesSet() throws Exception {
+ if ( resource == null ) {
+ throw new IllegalArgumentException( "resource property is mandatory" );
+ }
+ 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/ExecutionNodeBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -10,42 +10,45 @@
* @author Lucas Amador
*
*/
-public class ExecutionNodeBeanFactory implements FactoryBean, InitializingBean {
+public class ExecutionNodeBeanFactory
+ implements
+ FactoryBean,
+ InitializingBean {
- private String id;
- private GenericConnection connection;
- private ExecutionNode node;
+ private String id;
+ private GenericConnection connection;
+ private ExecutionNode node;
- public Object getObject() throws Exception {
- return node;
- }
+ public Object getObject() throws Exception {
+ return node;
+ }
- public Class<? extends ExecutionNode> getObjectType() {
- return ExecutionNode.class;
- }
+ public Class< ? extends ExecutionNode> getObjectType() {
+ return ExecutionNode.class;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public boolean isSingleton() {
+ return true;
+ }
- public void afterPropertiesSet() throws Exception {
- node = connection.getExecutionNode();
- }
+ public void afterPropertiesSet() throws Exception {
+ node = connection.getExecutionNode();
+ }
- public void setId(String id) {
- this.id = id;
- }
+ public void setId(String id) {
+ this.id = id;
+ }
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
- public void setConnection(GenericConnection connection) {
- this.connection = connection;
- }
+ public void setConnection(GenericConnection connection) {
+ this.connection = connection;
+ }
- public GenericConnection getConnection() {
- return connection;
- }
+ public GenericConnection getConnection() {
+ return connection;
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandService.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandService.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandService.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -2,8 +2,8 @@
import org.drools.command.SingleSessionCommandService;
+public interface JPASingleSessionCommandService {
+ public SingleSessionCommandService newStatefulKnowledgeSession();
-public interface JPASingleSessionCommandService {
- public SingleSessionCommandService newStatefulKnowledgeSession();
- public SingleSessionCommandService loadStatefulKnowledgeSession(int sessionId);
+ public SingleSessionCommandService loadStatefulKnowledgeSession(int sessionId);
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandServiceFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandServiceFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/JPASingleSessionCommandServiceFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -22,134 +22,152 @@
import org.springframework.beans.factory.InitializingBean;
import org.springframework.transaction.PlatformTransactionManager;
-public class JPASingleSessionCommandServiceFactory implements FactoryBean, InitializingBean {
+public class JPASingleSessionCommandServiceFactory
+ implements
+ FactoryBean,
+ InitializingBean {
- private Environment environment;
- private KnowledgeBase knowledgeBase;
- private EntityManagerFactory entityManagerFactory;
- private PlatformTransactionManager transactionManager;
- private Map<String, Class<? extends VariablePersister>> variablePersisters;
+ private Environment environment;
+ private KnowledgeBase knowledgeBase;
+ private EntityManagerFactory entityManagerFactory;
+ private PlatformTransactionManager transactionManager;
+ private Map<String, Class< ? extends VariablePersister>> variablePersisters;
- public Environment getEnvironment() {
- return environment;
- }
+ public Environment getEnvironment() {
+ return environment;
+ }
- public void setEnvironment(Environment environment) {
- this.environment = environment;
- }
+ public void setEnvironment(Environment environment) {
+ this.environment = environment;
+ }
- public KnowledgeBase getKnowledgeBase() {
- return knowledgeBase;
- }
+ public KnowledgeBase getKnowledgeBase() {
+ return knowledgeBase;
+ }
- public void setKnowledgeBase(KnowledgeBase knowledgeBase) {
- this.knowledgeBase = knowledgeBase;
- }
+ public void setKnowledgeBase(KnowledgeBase knowledgeBase) {
+ this.knowledgeBase = knowledgeBase;
+ }
- public EntityManagerFactory getEntityManagerFactory() {
- return entityManagerFactory;
- }
+ public EntityManagerFactory getEntityManagerFactory() {
+ return entityManagerFactory;
+ }
- public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) {
- this.entityManagerFactory = entityManagerFactory;
- }
+ public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) {
+ this.entityManagerFactory = entityManagerFactory;
+ }
- public PlatformTransactionManager getTransactionManager() {
- return transactionManager;
- }
+ public PlatformTransactionManager getTransactionManager() {
+ return transactionManager;
+ }
- public void setTransactionManager(PlatformTransactionManager transactionManager) {
- this.transactionManager = transactionManager;
- }
+ public void setTransactionManager(PlatformTransactionManager transactionManager) {
+ this.transactionManager = transactionManager;
+ }
- public Map<String, Class<? extends VariablePersister>> getVariablePersisters() {
- if (variablePersisters == null) {
- variablePersisters = new HashMap<String, Class<? extends VariablePersister>>();
- }
- return variablePersisters;
- }
+ public Map<String, Class< ? extends VariablePersister>> getVariablePersisters() {
+ if ( variablePersisters == null ) {
+ variablePersisters = new HashMap<String, Class< ? extends VariablePersister>>();
+ }
+ return variablePersisters;
+ }
- public void setVariablePersisters(Map<String, Class<? extends VariablePersister>> variablePersisters) {
- this.variablePersisters = variablePersisters;
- }
+ public void setVariablePersisters(Map<String, Class< ? extends VariablePersister>> variablePersisters) {
+ this.variablePersisters = variablePersisters;
+ }
- /**
- * @see org.springframework.beans.factory.FactoryBean#getObject()
- */
- public Object getObject() throws Exception {
+ /**
+ * @see org.springframework.beans.factory.FactoryBean#getObject()
+ */
+ public Object getObject() throws Exception {
- return new JPASessionService(getEnvironment(), getKnowledgeBase(), getEntityManagerFactory(),
- getTransactionManager());
- }
+ return new JPASessionService( getEnvironment(),
+ getKnowledgeBase(),
+ getEntityManagerFactory(),
+ getTransactionManager() );
+ }
- public Class<JPASingleSessionCommandService> getObjectType() {
- return JPASingleSessionCommandService.class;
- }
+ public Class<JPASingleSessionCommandService> getObjectType() {
+ return JPASingleSessionCommandService.class;
+ }
- public boolean isSingleton() {
- return false;
- }
+ public boolean isSingleton() {
+ return false;
+ }
- public void afterPropertiesSet() throws Exception {
- if (getEnvironment() == null) {
- setEnvironment(KnowledgeBaseFactory.newEnvironment());
- }
- if (getTransactionManager() == null) {
- throw new IllegalArgumentException("transactionManager property is mandatory");
- }
- if (getEntityManagerFactory() == null) {
- throw new IllegalArgumentException("entityManagerFactory property is mandatory");
- }
- if (getKnowledgeBase() == null) {
- throw new IllegalArgumentException("knowledgeBase property is mandatory");
- }
- if (!getVariablePersisters().isEmpty()) {
- for (Map.Entry<String, Class<? extends VariablePersister>> entry : getVariablePersisters().entrySet()) {
- VariablePersistenceStrategyFactory.getVariablePersistenceStrategy().setPersister(entry.getKey(),
- entry.getValue().getName());
- }
- }
- }
+ public void afterPropertiesSet() throws Exception {
+ if ( getEnvironment() == null ) {
+ setEnvironment( KnowledgeBaseFactory.newEnvironment() );
+ }
+ if ( getTransactionManager() == null ) {
+ throw new IllegalArgumentException( "transactionManager property is mandatory" );
+ }
+ if ( getEntityManagerFactory() == null ) {
+ throw new IllegalArgumentException( "entityManagerFactory property is mandatory" );
+ }
+ if ( getKnowledgeBase() == null ) {
+ throw new IllegalArgumentException( "knowledgeBase property is mandatory" );
+ }
+ if ( !getVariablePersisters().isEmpty() ) {
+ for ( Map.Entry<String, Class< ? extends VariablePersister>> entry : getVariablePersisters().entrySet() ) {
+ VariablePersistenceStrategyFactory.getVariablePersistenceStrategy().setPersister( entry.getKey(),
+ entry.getValue().getName() );
+ }
+ }
+ }
- private static class JPASessionService implements JPASingleSessionCommandService {
+ private static class JPASessionService
+ implements
+ JPASingleSessionCommandService {
- public JPASessionService(Environment environment, KnowledgeBase knowledgeBase,
- EntityManagerFactory entityManagerFactory, PlatformTransactionManager transactionManager) {
- super();
- this.environment = environment;
- this.knowledgeBase = knowledgeBase;
- this.entityManagerFactory = entityManagerFactory;
- this.transactionManager = transactionManager;
- }
+ public JPASessionService(Environment environment,
+ KnowledgeBase knowledgeBase,
+ EntityManagerFactory entityManagerFactory,
+ PlatformTransactionManager transactionManager) {
+ super();
+ this.environment = environment;
+ this.knowledgeBase = knowledgeBase;
+ this.entityManagerFactory = entityManagerFactory;
+ this.transactionManager = transactionManager;
+ }
- private Environment environment;
- private KnowledgeBase knowledgeBase;
- private EntityManagerFactory entityManagerFactory;
- private PlatformTransactionManager transactionManager;
+ private Environment environment;
+ private KnowledgeBase knowledgeBase;
+ private EntityManagerFactory entityManagerFactory;
+ private PlatformTransactionManager transactionManager;
- public SingleSessionCommandService newStatefulKnowledgeSession() {
- return new SpringSingleSessionCommandService(knowledgeBase, getSessionConfiguration(), getEnvironment());
- }
+ public SingleSessionCommandService newStatefulKnowledgeSession() {
+ return new SpringSingleSessionCommandService( knowledgeBase,
+ getSessionConfiguration(),
+ getEnvironment() );
+ }
- public SingleSessionCommandService loadStatefulKnowledgeSession(int sessionId) {
- return new SpringSingleSessionCommandService(sessionId, knowledgeBase, getSessionConfiguration(),
- getEnvironment());
- }
+ public SingleSessionCommandService loadStatefulKnowledgeSession(int sessionId) {
+ return new SpringSingleSessionCommandService( sessionId,
+ knowledgeBase,
+ getSessionConfiguration(),
+ getEnvironment() );
+ }
- public Environment getEnvironment() {
- environment.set(EnvironmentName.ENTITY_MANAGER_FACTORY, entityManagerFactory);
- environment.set(EnvironmentName.TRANSACTION_MANAGER, transactionManager);
- return environment;
- }
+ public Environment getEnvironment() {
+ environment.set( EnvironmentName.ENTITY_MANAGER_FACTORY,
+ entityManagerFactory );
+ environment.set( EnvironmentName.TRANSACTION_MANAGER,
+ transactionManager );
+ return environment;
+ }
- private SessionConfiguration getSessionConfiguration() {
- Properties properties = new Properties();
- properties.setProperty("drools.commandService", SpringSingleSessionCommandService.class.getName());
- properties.setProperty("drools.processInstanceManagerFactory", JPAProcessInstanceManagerFactory.class
- .getName());
- properties.setProperty("drools.workItemManagerFactory", JPAWorkItemManagerFactory.class.getName());
- properties.setProperty("drools.processSignalManagerFactory", JPASignalManagerFactory.class.getName());
- return new SessionConfiguration(properties);
- }
- }
+ private SessionConfiguration getSessionConfiguration() {
+ Properties properties = new Properties();
+ properties.setProperty( "drools.commandService",
+ SpringSingleSessionCommandService.class.getName() );
+ properties.setProperty( "drools.processInstanceManagerFactory",
+ JPAProcessInstanceManagerFactory.class.getName() );
+ properties.setProperty( "drools.workItemManagerFactory",
+ JPAWorkItemManagerFactory.class.getName() );
+ properties.setProperty( "drools.processSignalManagerFactory",
+ JPASignalManagerFactory.class.getName() );
+ return new SessionConfiguration( properties );
+ }
+ }
}
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 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -18,94 +18,101 @@
import com.sun.tools.xjc.Language;
import com.sun.tools.xjc.Options;
-public class KnowledgeBaseBeanFactory implements FactoryBean, InitializingBean {
+public class KnowledgeBaseBeanFactory
+ implements
+ FactoryBean,
+ InitializingBean {
- private KnowledgeBase kbase;
- private ExecutionNode node;
- private List<DroolsResourceAdapter> resources = Collections.emptyList();
- private List<DroolsResourceAdapter> models = Collections.emptyList();
+ private KnowledgeBase kbase;
+ private ExecutionNode node;
+ private List<DroolsResourceAdapter> resources = Collections.emptyList();
+ private List<DroolsResourceAdapter> models = Collections.emptyList();
- public Object getObject() throws Exception {
- return kbase;
- }
+ public Object getObject() throws Exception {
+ return kbase;
+ }
- public Class<? extends KnowledgeBase> getObjectType() {
- return KnowledgeBase.class;
- }
+ public Class< ? extends KnowledgeBase> getObjectType() {
+ return KnowledgeBase.class;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public boolean isSingleton() {
+ return true;
+ }
- public void afterPropertiesSet() throws Exception {
- if (node == null) {
- node = new LocalConnection().getExecutionNode();
- }
- KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
- kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ public void afterPropertiesSet() throws Exception {
+ if ( node == null ) {
+ node = new LocalConnection().getExecutionNode();
+ }
+ KnowledgeBuilder kbuilder = node.get( KnowledgeBuilderFactoryService.class ).newKnowledgeBuilder();
+ kbase = node.get( KnowledgeBaseFactoryService.class ).newKnowledgeBase();
- if (models != null && models.size() > 0) {
- for (DroolsResourceAdapter res: models) {
- Options xjcOptions = new Options();
- xjcOptions.setSchemaLanguage(Language.XMLSCHEMA);
- try {
- KnowledgeBuilderHelper.addXsdModel(res.getDroolsResource(),
- kbuilder,
- xjcOptions,
- "xsd" );
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- } catch (IOException e) {
- throw new RuntimeException("Error creating XSD model", e);
- }
- }
- }
+ if ( models != null && models.size() > 0 ) {
+ for ( DroolsResourceAdapter res : models ) {
+ Options xjcOptions = new Options();
+ xjcOptions.setSchemaLanguage( Language.XMLSCHEMA );
+ try {
+ KnowledgeBuilderHelper.addXsdModel( res.getDroolsResource(),
+ kbuilder,
+ xjcOptions,
+ "xsd" );
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ } catch ( IOException e ) {
+ throw new RuntimeException( "Error creating XSD model",
+ e );
+ }
+ }
+ }
- for (DroolsResourceAdapter res: resources) {
- if (res.getResourceConfiguration() == null) {
- kbuilder.add(res.getDroolsResource(), res.getResourceType());
- } else {
- kbuilder.add(res.getDroolsResource(), res.getResourceType(), res.getResourceConfiguration());
- }
- }
+ for ( DroolsResourceAdapter res : resources ) {
+ if ( res.getResourceConfiguration() == null ) {
+ kbuilder.add( res.getDroolsResource(),
+ res.getResourceType() );
+ } else {
+ kbuilder.add( res.getDroolsResource(),
+ res.getResourceType(),
+ res.getResourceConfiguration() );
+ }
+ }
- KnowledgeBuilderErrors errors = kbuilder.getErrors();
- if (!errors.isEmpty() ) {
- throw new RuntimeException(errors.toString());
- }
+ KnowledgeBuilderErrors errors = kbuilder.getErrors();
+ if ( !errors.isEmpty() ) {
+ throw new RuntimeException( errors.toString() );
+ }
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
- }
+ }
- public KnowledgeBase getKbase() {
- return kbase;
- }
+ public KnowledgeBase getKbase() {
+ return kbase;
+ }
- public void setKbase(KnowledgeBase kbase) {
- this.kbase = kbase;
- }
+ public void setKbase(KnowledgeBase kbase) {
+ this.kbase = kbase;
+ }
- public ExecutionNode getNode() {
- return node;
- }
+ public ExecutionNode getNode() {
+ return node;
+ }
- public List<DroolsResourceAdapter> getResources() {
- return resources;
- }
+ public List<DroolsResourceAdapter> getResources() {
+ return resources;
+ }
- public void setResources(List<DroolsResourceAdapter> resources) {
- this.resources = resources;
- }
+ public void setResources(List<DroolsResourceAdapter> resources) {
+ this.resources = resources;
+ }
- public void setNode(ExecutionNode executionNode) {
- this.node = executionNode;
- }
+ public void setNode(ExecutionNode executionNode) {
+ this.node = executionNode;
+ }
- public void setModels(List<DroolsResourceAdapter> models) {
- this.models = models;
- }
+ public void setModels(List<DroolsResourceAdapter> models) {
+ this.models = models;
+ }
- public List<DroolsResourceAdapter> getModels() {
- return models;
- }
+ public List<DroolsResourceAdapter> getModels() {
+ return models;
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -18,81 +18,87 @@
* @author Lucas Amador
*
*/
-public class KnowledgeServiceBeanFactory implements FactoryBean, InitializingBean {
+public class KnowledgeServiceBeanFactory
+ implements
+ FactoryBean,
+ InitializingBean {
- private String id;
- private CamelContext camelContext;
- private PackageScanClassResolver packageClassLoaderResolver;
- private KnowledgeService service;
- private List<KnowledgeServiceConfiguration> configurations = Collections.emptyList();
- private String nodeId;
+ private String id;
+ private CamelContext camelContext;
+ private PackageScanClassResolver packageClassLoaderResolver;
+ private KnowledgeService service;
+ private List<KnowledgeServiceConfiguration> configurations = Collections.emptyList();
+ private String nodeId;
- public Object getObject() throws Exception {
- return service;
- }
+ public Object getObject() throws Exception {
+ return service;
+ }
- public Class<? extends KnowledgeService> getObjectType() {
- return KnowledgeService.class;
- }
+ public Class< ? extends KnowledgeService> getObjectType() {
+ return KnowledgeService.class;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public boolean isSingleton() {
+ return true;
+ }
- public void afterPropertiesSet() throws Exception {
- Map<String, KnowledgeServiceConfiguration> configs = new HashMap<String, KnowledgeServiceConfiguration>();
- for (KnowledgeServiceConfiguration cfg : configurations) {
- configs.put(cfg.getSessionId(), cfg);
- }
- service = new KnowledgeServiceImpl(camelContext, configs, nodeId);
- }
+ public void afterPropertiesSet() throws Exception {
+ Map<String, KnowledgeServiceConfiguration> configs = new HashMap<String, KnowledgeServiceConfiguration>();
+ for ( KnowledgeServiceConfiguration cfg : configurations ) {
+ configs.put( cfg.getSessionId(),
+ cfg );
+ }
+ service = new KnowledgeServiceImpl( camelContext,
+ configs,
+ nodeId );
+ }
- public void setId(String id) {
- this.id = id;
- }
+ public void setId(String id) {
+ this.id = id;
+ }
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
- public void setCamelContext(CamelContext camelContext) {
- this.camelContext = camelContext;
- }
+ public void setCamelContext(CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
- public CamelContext getCamelContext() {
- return camelContext;
- }
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
- public void setService(KnowledgeService service) {
- this.service = service;
- }
+ public void setService(KnowledgeService service) {
+ this.service = service;
+ }
- public KnowledgeService getService() {
- return service;
- }
+ public KnowledgeService getService() {
+ return service;
+ }
- public void setConfigurations(List<KnowledgeServiceConfiguration> configurations) {
- this.configurations = configurations;
- }
+ public void setConfigurations(List<KnowledgeServiceConfiguration> configurations) {
+ this.configurations = configurations;
+ }
- public List<KnowledgeServiceConfiguration> getConfigurations() {
- return configurations;
- }
+ public List<KnowledgeServiceConfiguration> getConfigurations() {
+ return configurations;
+ }
- public void setPackageClassLoaderResolver(PackageScanClassResolver packageClassLoaderResolver) {
- this.packageClassLoaderResolver = packageClassLoaderResolver;
- }
+ public void setPackageClassLoaderResolver(PackageScanClassResolver packageClassLoaderResolver) {
+ this.packageClassLoaderResolver = packageClassLoaderResolver;
+ }
- public PackageScanClassResolver getPackageClassLoaderResolver() {
- return packageClassLoaderResolver;
- }
+ public PackageScanClassResolver getPackageClassLoaderResolver() {
+ return packageClassLoaderResolver;
+ }
- public void setNodeId(String nodeId) {
- this.nodeId = nodeId;
- }
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
- public String getNodeId() {
- return nodeId;
- }
+ public String getNodeId() {
+ return nodeId;
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceConfigurationBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceConfigurationBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceConfigurationBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -22,99 +22,108 @@
* @author Lucas Amador
*
*/
-public class KnowledgeServiceConfigurationBeanFactory implements FactoryBean, InitializingBean {
+public class KnowledgeServiceConfigurationBeanFactory
+ implements
+ FactoryBean,
+ InitializingBean {
- private KnowledgeServiceConfiguration service;
- private String id;
- private String sessionId;
- private CommandExecutor session;
- private String marshaller;
- private List<String> classes = Collections.emptyList();
- private List<String> commands = Collections.emptyList();
+ private KnowledgeServiceConfiguration service;
+ private String id;
+ private String sessionId;
+ private CommandExecutor session;
+ private String marshaller;
+ private List<String> classes = Collections.emptyList();
+ private List<String> commands = Collections.emptyList();
- public Object getObject() throws Exception {
- return service;
- }
+ public Object getObject() throws Exception {
+ return service;
+ }
- public Class<? extends KnowledgeServiceConfiguration> getObjectType() {
- return KnowledgeServiceConfiguration.class;
- }
+ public Class< ? extends KnowledgeServiceConfiguration> getObjectType() {
+ return KnowledgeServiceConfiguration.class;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public boolean isSingleton() {
+ return true;
+ }
- public void afterPropertiesSet() throws Exception {
- JAXBContext context = null;
- if (classes != null && classes.size() > 0) {
- KnowledgeBase kbase = null;
- if (session instanceof StatelessKnowledgeSession) {
- InternalRuleBase ruleBase = ((StatelessKnowledgeSessionImpl)session).getRuleBase();
- kbase = new KnowledgeBaseImpl(ruleBase);
- } else if (session instanceof StatefulKnowledgeSessionImpl) {
- kbase = ((StatefulKnowledgeSessionImpl) session).getKnowledgeBase();
- } else {
- throw new IllegalArgumentException("Unable to set ClassLoader on " + session);
- }
- context = KnowledgeBuilderHelper.newJAXBContext(classes.toArray(new String[classes.size()]), kbase);
- }
- service = new KnowledgeServiceConfiguration(id, sessionId, session, marshaller, context, commands);
- }
+ public void afterPropertiesSet() throws Exception {
+ JAXBContext context = null;
+ if ( classes != null && classes.size() > 0 ) {
+ KnowledgeBase kbase = null;
+ if ( session instanceof StatelessKnowledgeSession ) {
+ InternalRuleBase ruleBase = ((StatelessKnowledgeSessionImpl) session).getRuleBase();
+ kbase = new KnowledgeBaseImpl( ruleBase );
+ } else if ( session instanceof StatefulKnowledgeSessionImpl ) {
+ kbase = ((StatefulKnowledgeSessionImpl) session).getKnowledgeBase();
+ } else {
+ throw new IllegalArgumentException( "Unable to set ClassLoader on " + session );
+ }
+ context = KnowledgeBuilderHelper.newJAXBContext( classes.toArray( new String[classes.size()] ),
+ kbase );
+ }
+ service = new KnowledgeServiceConfiguration( id,
+ sessionId,
+ session,
+ marshaller,
+ context,
+ commands );
+ }
- public void setService(KnowledgeServiceConfiguration service) {
- this.service = service;
- }
+ public void setService(KnowledgeServiceConfiguration service) {
+ this.service = service;
+ }
- public KnowledgeServiceConfiguration getService() {
- return service;
- }
+ public KnowledgeServiceConfiguration getService() {
+ return service;
+ }
- public void setId(String id) {
- this.id = id;
- }
+ public void setId(String id) {
+ this.id = id;
+ }
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
- public void setSessionId(String sessionId) {
- this.sessionId = sessionId;
- }
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
- public String getSessionId() {
- return sessionId;
- }
+ public String getSessionId() {
+ return sessionId;
+ }
- public void setSession(CommandExecutor session) {
- this.session = session;
- }
+ public void setSession(CommandExecutor session) {
+ this.session = session;
+ }
- public CommandExecutor getSession() {
- return session;
- }
+ public CommandExecutor getSession() {
+ return session;
+ }
- public void setMarshaller(String marshaller) {
- this.marshaller = marshaller;
- }
+ public void setMarshaller(String marshaller) {
+ this.marshaller = marshaller;
+ }
- public String getMarshaller() {
- return marshaller;
- }
+ public String getMarshaller() {
+ return marshaller;
+ }
- public void setClasses(List<String> classes) {
- this.classes = classes;
- }
+ public void setClasses(List<String> classes) {
+ this.classes = classes;
+ }
- public List<String> getClasses() {
- return classes;
- }
+ public List<String> getClasses() {
+ return classes;
+ }
- public void setCommands(List<String> commands) {
- this.commands = commands;
- }
+ public void setCommands(List<String> commands) {
+ this.commands = commands;
+ }
- public List<String> getCommands() {
- return commands;
- }
+ public List<String> getCommands() {
+ return commands;
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ResourceBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ResourceBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ResourceBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -5,27 +5,30 @@
import org.drools.io.impl.UrlResource;
import org.springframework.beans.factory.FactoryBean;
-public class ResourceBeanFactory implements FactoryBean {
+public class ResourceBeanFactory
+ implements
+ FactoryBean {
- private Resource resource;
-
- public ResourceBeanFactory(String source) {
- if ( source.trim().startsWith( "classpath:" ) ) {
- resource = new ClassPathResource( source.substring( source.indexOf( ':' ) + 1 ), ClassPathResource.class.getClassLoader() );
+ private Resource resource;
+
+ public ResourceBeanFactory(String source) {
+ if ( source.trim().startsWith( "classpath:" ) ) {
+ resource = new ClassPathResource( source.substring( source.indexOf( ':' ) + 1 ),
+ ClassPathResource.class.getClassLoader() );
} else {
resource = new UrlResource( source );
}
- }
-
- public Object getObject() throws Exception {
- return resource;
- }
+ }
- public Class<Resource> getObjectType() {
- return Resource.class;
- }
+ public Object getObject() throws Exception {
+ return resource;
+ }
- public boolean isSingleton() {
- return true;
- }
+ public Class<Resource> getObjectType() {
+ return Resource.class;
+ }
+
+ public boolean isSingleton() {
+ return true;
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatefulKnowledgeSessionBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatefulKnowledgeSessionBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatefulKnowledgeSessionBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -3,20 +3,20 @@
import org.drools.runtime.CommandExecutor;
import org.drools.runtime.StatefulKnowledgeSession;
-public class StatefulKnowledgeSessionBeanFactory extends AbstractKnowledgeSessionBeanFactory {
- private StatefulKnowledgeSession ksession;
+public class StatefulKnowledgeSessionBeanFactory extends AbstractKnowledgeSessionBeanFactory {
+ private StatefulKnowledgeSession ksession;
- public Class<StatefulKnowledgeSession> getObjectType() {
- return StatefulKnowledgeSession.class;
- }
+ public Class<StatefulKnowledgeSession> getObjectType() {
+ return StatefulKnowledgeSession.class;
+ }
- @Override
- protected CommandExecutor getCommandExecutor() {
- return ksession;
- }
+ @Override
+ protected CommandExecutor getCommandExecutor() {
+ return ksession;
+ }
- @Override
- protected void internalAfterPropertiesSet() {
- ksession = getKbase().newStatefulKnowledgeSession();
- }
+ @Override
+ protected void internalAfterPropertiesSet() {
+ ksession = getKbase().newStatefulKnowledgeSession();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatelessKnowledgeSessionBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatelessKnowledgeSessionBeanFactory.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/StatelessKnowledgeSessionBeanFactory.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -3,20 +3,20 @@
import org.drools.runtime.CommandExecutor;
import org.drools.runtime.StatelessKnowledgeSession;
-public class StatelessKnowledgeSessionBeanFactory extends AbstractKnowledgeSessionBeanFactory {
- private StatelessKnowledgeSession ksession;
+public class StatelessKnowledgeSessionBeanFactory extends AbstractKnowledgeSessionBeanFactory {
+ private StatelessKnowledgeSession ksession;
- public Class<StatelessKnowledgeSession> getObjectType() {
- return StatelessKnowledgeSession.class;
- }
+ public Class<StatelessKnowledgeSession> getObjectType() {
+ return StatelessKnowledgeSession.class;
+ }
- @Override
- protected CommandExecutor getCommandExecutor() {
- return ksession;
- }
+ @Override
+ protected CommandExecutor getCommandExecutor() {
+ return ksession;
+ }
- @Override
- protected void internalAfterPropertiesSet() {
- ksession = getKbase().newStatelessKnowledgeSession();
- }
+ @Override
+ protected void internalAfterPropertiesSet() {
+ ksession = getKbase().newStatelessKnowledgeSession();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -26,120 +26,128 @@
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;
-public class JPAKnowledgeServiceBean extends JpaDaoSupport {
-
- private ExecutionNode node;
- private KnowledgeBase kbase;
- private JPAKnowledgeFactoryService jpaKnowledgeServiceProvider;
- private Environment environment;
- private AbstractPlatformTransactionManager transactionManager;
- private Map<Class<?>, Class<? extends VariablePersister>> variablePersisters = Collections.emptyMap();
+public class JPAKnowledgeServiceBean extends JpaDaoSupport {
- public StatefulKnowledgeSession newStatefulKnowledgeSession() {
- TransactionTemplate txTemplate = new TransactionTemplate(transactionManager);
- return (StatefulKnowledgeSession) txTemplate.execute(new TransactionCallback() {
- public Object doInTransaction(TransactionStatus status) {
- return getJpaTemplate().execute(new JpaCallback() {
- public StatefulKnowledgeSession doInJpa(EntityManager em) throws PersistenceException {
- return jpaKnowledgeServiceProvider.newStatefulKnowledgeSession(kbase, null, environment);
- }
- });
- }
- });
- }
-
- public StatefulKnowledgeSession loadStatefulKnowledgeSession(final int sessionId) {
- TransactionTemplate txTemplate = new TransactionTemplate(transactionManager);
- return (StatefulKnowledgeSession) txTemplate.execute(new TransactionCallback() {
- public Object doInTransaction(TransactionStatus status) {
- return getJpaTemplate().execute(new JpaCallback() {
- public StatefulKnowledgeSession doInJpa(EntityManager em) throws PersistenceException {
- return jpaKnowledgeServiceProvider.loadStatefulKnowledgeSession(sessionId, kbase, null, environment);
- }
- });
- }
- });
- }
-
- @Override
- protected void initDao() {
- if (kbase == null) {
- throw new IllegalArgumentException("property kbase is mandatory");
- }
- if (node == null) {
- LocalConnection connection = new LocalConnection();
- node = connection.getExecutionNode(null);
- }
- if (environment == null) {
- environment = node.get(KnowledgeBaseFactoryService.class).newEnvironment();
- }
- if (environment.get(EnvironmentName.ENTITY_MANAGER_FACTORY) != null) {
- logger.debug("overwriting environment key: " + EnvironmentName.ENTITY_MANAGER_FACTORY);
- }
- environment.set(EnvironmentName.ENTITY_MANAGER_FACTORY, getJpaTemplate().getEntityManagerFactory());
- if (environment.get(EnvironmentName.TRANSACTION_MANAGER) != null) {
- logger.debug("overwriting environment key: " + EnvironmentName.TRANSACTION_MANAGER);
- }
- environment.set(EnvironmentName.TRANSACTION_MANAGER, getTransactionManager());
- environment.set(EnvironmentName.GLOBALS, new MapGlobalResolver());
-
- jpaKnowledgeServiceProvider = node.get(JPAKnowledgeFactoryService.class);
- if (jpaKnowledgeServiceProvider instanceof JPAKnowledgeProviderLocalClient) {
- JPAKnowledgeProviderLocalClient local = (JPAKnowledgeProviderLocalClient) jpaKnowledgeServiceProvider;
- local.setCommandServiceClass(SpringSingleSessionCommandService.class);
- }
- else {
- throw new RuntimeDroolsException("JPAKnowledgeService is not instance of: " + JPAKnowledgeProviderLocalClient.class.getName());
- }
-
- if (variablePersisters != null && !variablePersisters.isEmpty()) {
- for (Map.Entry<Class<?>, Class<? extends VariablePersister>> entry : variablePersisters.entrySet()) {
- VariablePersistenceStrategyFactory.getVariablePersistenceStrategy().setPersister(entry.getKey().getName(), entry.getValue().getName());
- }
- }
-// serviceManager.JPAKnowledgeService().loadStatefulKnowledgeSession(0,
-// serviceManager.getKnowledgeBaseFactory().newKnowledgeBase(),
-// null,
-// environment);
- }
+ private ExecutionNode node;
+ private KnowledgeBase kbase;
+ private JPAKnowledgeFactoryService jpaKnowledgeServiceProvider;
+ private Environment environment;
+ private AbstractPlatformTransactionManager transactionManager;
+ private Map<Class< ? >, Class< ? extends VariablePersister>> variablePersisters = Collections.emptyMap();
- public KnowledgeBase getKbase() {
- return kbase;
- }
+ public StatefulKnowledgeSession newStatefulKnowledgeSession() {
+ TransactionTemplate txTemplate = new TransactionTemplate( transactionManager );
+ return (StatefulKnowledgeSession) txTemplate.execute( new TransactionCallback() {
+ public Object doInTransaction(TransactionStatus status) {
+ return getJpaTemplate().execute( new JpaCallback() {
+ public StatefulKnowledgeSession doInJpa(EntityManager em) throws PersistenceException {
+ return jpaKnowledgeServiceProvider.newStatefulKnowledgeSession( kbase,
+ null,
+ environment );
+ }
+ } );
+ }
+ } );
+ }
- public void setKbase(KnowledgeBase kbase) {
- this.kbase = kbase;
- }
-
- public ExecutionNode getExecutionNode() {
- return node;
- }
+ public StatefulKnowledgeSession loadStatefulKnowledgeSession(final int sessionId) {
+ TransactionTemplate txTemplate = new TransactionTemplate( transactionManager );
+ return (StatefulKnowledgeSession) txTemplate.execute( new TransactionCallback() {
+ public Object doInTransaction(TransactionStatus status) {
+ return getJpaTemplate().execute( new JpaCallback() {
+ public StatefulKnowledgeSession doInJpa(EntityManager em) throws PersistenceException {
+ return jpaKnowledgeServiceProvider.loadStatefulKnowledgeSession( sessionId,
+ kbase,
+ null,
+ environment );
+ }
+ } );
+ }
+ } );
+ }
- public void setExecutionNode(ExecutionNode node) {
- this.node = node;
- }
+ @Override
+ protected void initDao() {
+ if ( kbase == null ) {
+ throw new IllegalArgumentException( "property kbase is mandatory" );
+ }
+ if ( node == null ) {
+ LocalConnection connection = new LocalConnection();
+ node = connection.getExecutionNode( null );
+ }
+ if ( environment == null ) {
+ environment = node.get( KnowledgeBaseFactoryService.class ).newEnvironment();
+ }
+ if ( environment.get( EnvironmentName.ENTITY_MANAGER_FACTORY ) != null ) {
+ logger.debug( "overwriting environment key: " + EnvironmentName.ENTITY_MANAGER_FACTORY );
+ }
+ environment.set( EnvironmentName.ENTITY_MANAGER_FACTORY,
+ getJpaTemplate().getEntityManagerFactory() );
+ if ( environment.get( EnvironmentName.TRANSACTION_MANAGER ) != null ) {
+ logger.debug( "overwriting environment key: " + EnvironmentName.TRANSACTION_MANAGER );
+ }
+ environment.set( EnvironmentName.TRANSACTION_MANAGER,
+ getTransactionManager() );
+ environment.set( EnvironmentName.GLOBALS,
+ new MapGlobalResolver() );
- public Environment getEnvironment() {
- return environment;
- }
+ jpaKnowledgeServiceProvider = node.get( JPAKnowledgeFactoryService.class );
+ if ( jpaKnowledgeServiceProvider instanceof JPAKnowledgeProviderLocalClient ) {
+ JPAKnowledgeProviderLocalClient local = (JPAKnowledgeProviderLocalClient) jpaKnowledgeServiceProvider;
+ local.setCommandServiceClass( SpringSingleSessionCommandService.class );
+ } else {
+ throw new RuntimeDroolsException( "JPAKnowledgeService is not instance of: " + JPAKnowledgeProviderLocalClient.class.getName() );
+ }
- public void setEnvironment(Environment environment) {
- this.environment = environment;
- }
+ if ( variablePersisters != null && !variablePersisters.isEmpty() ) {
+ for ( Map.Entry<Class< ? >, Class< ? extends VariablePersister>> entry : variablePersisters.entrySet() ) {
+ VariablePersistenceStrategyFactory.getVariablePersistenceStrategy().setPersister( entry.getKey().getName(),
+ entry.getValue().getName() );
+ }
+ }
+ // serviceManager.JPAKnowledgeService().loadStatefulKnowledgeSession(0,
+ // serviceManager.getKnowledgeBaseFactory().newKnowledgeBase(),
+ // null,
+ // environment);
+ }
- public AbstractPlatformTransactionManager getTransactionManager() {
- return transactionManager;
- }
+ public KnowledgeBase getKbase() {
+ return kbase;
+ }
- public void setTransactionManager(AbstractPlatformTransactionManager transactionManager) {
- this.transactionManager = transactionManager;
- }
+ public void setKbase(KnowledgeBase kbase) {
+ this.kbase = kbase;
+ }
- public void setVariablePersisters(Map<Class<?>, Class<? extends VariablePersister>> variablePersisters) {
- this.variablePersisters = variablePersisters;
- }
+ public ExecutionNode getExecutionNode() {
+ return node;
+ }
- public Map<Class<?>, Class<? extends VariablePersister>> getVariablePersisters() {
- return variablePersisters;
- }
+ public void setExecutionNode(ExecutionNode node) {
+ this.node = node;
+ }
+
+ public Environment getEnvironment() {
+ return environment;
+ }
+
+ public void setEnvironment(Environment environment) {
+ this.environment = environment;
+ }
+
+ public AbstractPlatformTransactionManager getTransactionManager() {
+ return transactionManager;
+ }
+
+ public void setTransactionManager(AbstractPlatformTransactionManager transactionManager) {
+ this.transactionManager = transactionManager;
+ }
+
+ public void setVariablePersisters(Map<Class< ? >, Class< ? extends VariablePersister>> variablePersisters) {
+ this.variablePersisters = variablePersisters;
+ }
+
+ public Map<Class< ? >, Class< ? extends VariablePersister>> getVariablePersisters() {
+ return variablePersisters;
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/SpringSingleSessionCommandService.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/SpringSingleSessionCommandService.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/SpringSingleSessionCommandService.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -32,180 +32,204 @@
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;
-public class SpringSingleSessionCommandService implements SingleSessionCommandService {
- private JpaTemplate jpaTemplate;
- private SessionInfo sessionInfo;
- private JPASessionMarshallingHelper marshallingHelper;
- private StatefulKnowledgeSession ksession;
- private Environment env;
- private KnowledgeCommandContext kContext;
- private PlatformTransactionManager transactionManager;
+public class SpringSingleSessionCommandService
+ implements
+ SingleSessionCommandService {
+ private JpaTemplate jpaTemplate;
+ private SessionInfo sessionInfo;
+ private JPASessionMarshallingHelper marshallingHelper;
+ private StatefulKnowledgeSession ksession;
+ private Environment env;
+ private KnowledgeCommandContext kContext;
+ private PlatformTransactionManager transactionManager;
- private void checkEnvironment(Environment env) {
- if (env.get(EnvironmentName.ENTITY_MANAGER_FACTORY) == null) {
- throw new IllegalArgumentException("Environment must have an EntityManagerFactory");
- }
- this.env = env;
- transactionManager = (PlatformTransactionManager) env.get(EnvironmentName.TRANSACTION_MANAGER);
- if (transactionManager == null) {
- throw new IllegalArgumentException("Environment must have an TransactionManager");
- }
- }
+ private void checkEnvironment(Environment env) {
+ if ( env.get( EnvironmentName.ENTITY_MANAGER_FACTORY ) == null ) {
+ throw new IllegalArgumentException( "Environment must have an EntityManagerFactory" );
+ }
+ this.env = env;
+ transactionManager = (PlatformTransactionManager) env.get( EnvironmentName.TRANSACTION_MANAGER );
+ if ( transactionManager == null ) {
+ throw new IllegalArgumentException( "Environment must have an TransactionManager" );
+ }
+ }
- public SpringSingleSessionCommandService(RuleBase ruleBase,
- SessionConfiguration conf,
- Environment env) {
- this(new KnowledgeBaseImpl(ruleBase), conf, env);
- }
+ public SpringSingleSessionCommandService(RuleBase ruleBase,
+ SessionConfiguration conf,
+ Environment env) {
+ this( new KnowledgeBaseImpl( ruleBase ),
+ conf,
+ env );
+ }
- public SpringSingleSessionCommandService(int sessionId,
- RuleBase ruleBase,
- SessionConfiguration conf,
- Environment env) {
- this(sessionId, new KnowledgeBaseImpl(ruleBase), conf, env);
- }
+ public SpringSingleSessionCommandService(int sessionId,
+ RuleBase ruleBase,
+ SessionConfiguration conf,
+ Environment env) {
+ this( sessionId,
+ new KnowledgeBaseImpl( ruleBase ),
+ conf,
+ env );
+ }
- public SpringSingleSessionCommandService(KnowledgeBase kbase,
- KnowledgeSessionConfiguration conf,
- Environment env) {
- if (conf == null) {
- conf = new SessionConfiguration();
- }
- checkEnvironment(env);
- this.sessionInfo = new SessionInfo();
+ public SpringSingleSessionCommandService(KnowledgeBase kbase,
+ KnowledgeSessionConfiguration conf,
+ Environment env) {
+ if ( conf == null ) {
+ conf = new SessionConfiguration();
+ }
+ checkEnvironment( env );
+ this.sessionInfo = new SessionInfo();
- ReteooStatefulSession session = (ReteooStatefulSession)
- ((KnowledgeBaseImpl) kbase).ruleBase.newStatefulSession((SessionConfiguration) conf, this.env);
- this.ksession = new StatefulKnowledgeSessionImpl(session, kbase);
+ ReteooStatefulSession session = (ReteooStatefulSession) ((KnowledgeBaseImpl) kbase).ruleBase.newStatefulSession( (SessionConfiguration) conf,
+ this.env );
+ this.ksession = new StatefulKnowledgeSessionImpl( session,
+ kbase );
- this.kContext = new KnowledgeCommandContext(new ContextImpl("ksession", null), null, null, this.ksession, null);
- ((JPASignalManager) ((StatefulKnowledgeSessionImpl) ksession).session.getSignalManager())
- .setCommandService(this);
+ this.kContext = new KnowledgeCommandContext( new ContextImpl( "ksession",
+ null ),
+ null,
+ null,
+ this.ksession,
+ null );
+ ((JPASignalManager) ((StatefulKnowledgeSessionImpl) ksession).session.getSignalManager()).setCommandService( this );
- this.marshallingHelper = new JPASessionMarshallingHelper(this.ksession, conf);
+ this.marshallingHelper = new JPASessionMarshallingHelper( this.ksession,
+ conf );
- this.sessionInfo.setJPASessionMashallingHelper(this.marshallingHelper);
+ this.sessionInfo.setJPASessionMashallingHelper( this.marshallingHelper );
- TransactionTemplate txTemplate = new TransactionTemplate(transactionManager);
- jpaTemplate = new JpaTemplate((EntityManagerFactory) env.get(EnvironmentName.ENTITY_MANAGER_FACTORY));
+ TransactionTemplate txTemplate = new TransactionTemplate( transactionManager );
+ jpaTemplate = new JpaTemplate( (EntityManagerFactory) env.get( EnvironmentName.ENTITY_MANAGER_FACTORY ) );
- txTemplate.execute(new TransactionCallback() {
- public Object doInTransaction(TransactionStatus status) {
- Object result = jpaTemplate.execute(new JpaCallback() {
- public Object doInJpa(EntityManager em) throws PersistenceException {
- try {
- SpringSingleSessionCommandService.this.env.set(EnvironmentName.ENTITY_MANAGER, em);
- em.persist(sessionInfo);
- // update the session id to be the same as the session info id
- ((StatefulKnowledgeSessionImpl) ksession).session.setId(sessionInfo.getId());
- ((StatefulKnowledgeSessionImpl) ksession).session.setEndOperationListener( new EndOperationListenerImpl( sessionInfo ) );
- em.flush();
- return null;
- } finally {
- SpringSingleSessionCommandService.this.env.set(EnvironmentName.ENTITY_MANAGER, null);
- }
- }
- });
- return result;
- }
- });
- }
+ txTemplate.execute( new TransactionCallback() {
+ public Object doInTransaction(TransactionStatus status) {
+ Object result = jpaTemplate.execute( new JpaCallback() {
+ public Object doInJpa(EntityManager em) throws PersistenceException {
+ try {
+ SpringSingleSessionCommandService.this.env.set( EnvironmentName.ENTITY_MANAGER,
+ em );
+ em.persist( sessionInfo );
+ // update the session id to be the same as the session info id
+ ((StatefulKnowledgeSessionImpl) ksession).session.setId( sessionInfo.getId() );
+ ((StatefulKnowledgeSessionImpl) ksession).session.setEndOperationListener( new EndOperationListenerImpl( sessionInfo ) );
+ em.flush();
+ return null;
+ } finally {
+ SpringSingleSessionCommandService.this.env.set( EnvironmentName.ENTITY_MANAGER,
+ null );
+ }
+ }
+ } );
+ return result;
+ }
+ } );
+ }
- public SpringSingleSessionCommandService(final int sessionId,
- final KnowledgeBase kbase,
- KnowledgeSessionConfiguration conf,
- Environment env) {
- final KnowledgeSessionConfiguration localConf = conf == null ? new SessionConfiguration() : conf;
- this.env = env;
- checkEnvironment(env);
- TransactionTemplate txTemplate = new TransactionTemplate(transactionManager);
- jpaTemplate = new JpaTemplate((EntityManagerFactory) env.get(EnvironmentName.ENTITY_MANAGER_FACTORY));
- txTemplate.execute(new TransactionCallback() {
- public Object doInTransaction(TransactionStatus status) {
- return jpaTemplate.execute(new JpaCallback() {
+ public SpringSingleSessionCommandService(final int sessionId,
+ final KnowledgeBase kbase,
+ KnowledgeSessionConfiguration conf,
+ Environment env) {
+ final KnowledgeSessionConfiguration localConf = conf == null ? new SessionConfiguration() : conf;
+ this.env = env;
+ checkEnvironment( env );
+ TransactionTemplate txTemplate = new TransactionTemplate( transactionManager );
+ jpaTemplate = new JpaTemplate( (EntityManagerFactory) env.get( EnvironmentName.ENTITY_MANAGER_FACTORY ) );
+ txTemplate.execute( new TransactionCallback() {
+ public Object doInTransaction(TransactionStatus status) {
+ return jpaTemplate.execute( new JpaCallback() {
- public Object doInJpa(EntityManager em) throws PersistenceException {
- try {
- SpringSingleSessionCommandService.this.env.set(EnvironmentName.ENTITY_MANAGER, em);
- sessionInfo = em.find(SessionInfo.class, sessionId);
+ public Object doInJpa(EntityManager em) throws PersistenceException {
+ try {
+ SpringSingleSessionCommandService.this.env.set( EnvironmentName.ENTITY_MANAGER,
+ em );
+ sessionInfo = em.find( SessionInfo.class,
+ sessionId );
- if (sessionInfo == null) {
- SpringSingleSessionCommandService.this.env.set(EnvironmentName.ENTITY_MANAGER, null);
- throw new RuntimeException("Could not find session data for id " + sessionId);
- }
+ if ( sessionInfo == null ) {
+ SpringSingleSessionCommandService.this.env.set( EnvironmentName.ENTITY_MANAGER,
+ null );
+ throw new RuntimeException( "Could not find session data for id " + sessionId );
+ }
- marshallingHelper = new JPASessionMarshallingHelper(sessionInfo, kbase, localConf,
- SpringSingleSessionCommandService.this.env);
+ marshallingHelper = new JPASessionMarshallingHelper( sessionInfo,
+ kbase,
+ localConf,
+ SpringSingleSessionCommandService.this.env );
- sessionInfo.setJPASessionMashallingHelper(marshallingHelper);
- ksession = marshallingHelper.getObject();
- kContext = new KnowledgeCommandContext(new ContextImpl("ksession", null), null, null,
- ksession, null);
- ((JPASignalManager) ((StatefulKnowledgeSessionImpl) ksession).session.getSignalManager())
- .setCommandService(SpringSingleSessionCommandService.this);
+ sessionInfo.setJPASessionMashallingHelper( marshallingHelper );
+ ksession = marshallingHelper.getObject();
+ kContext = new KnowledgeCommandContext( new ContextImpl( "ksession",
+ null ),
+ null,
+ null,
+ ksession,
+ null );
+ ((JPASignalManager) ((StatefulKnowledgeSessionImpl) ksession).session.getSignalManager()).setCommandService( SpringSingleSessionCommandService.this );
- // update the session id to be the same as the
- // session info id
- ((StatefulKnowledgeSessionImpl) ksession).session.setId(sessionInfo.getId());
- ((StatefulKnowledgeSessionImpl) ksession).session.setEndOperationListener( new EndOperationListenerImpl( sessionInfo ) );
- em.flush();
- return sessionInfo;
- } finally {
- SpringSingleSessionCommandService.this.env.set(EnvironmentName.ENTITY_MANAGER, null);
- }
- }
- });
- }
- });
- }
+ // update the session id to be the same as the
+ // session info id
+ ((StatefulKnowledgeSessionImpl) ksession).session.setId( sessionInfo.getId() );
+ ((StatefulKnowledgeSessionImpl) ksession).session.setEndOperationListener( new EndOperationListenerImpl( sessionInfo ) );
+ em.flush();
+ return sessionInfo;
+ } finally {
+ SpringSingleSessionCommandService.this.env.set( EnvironmentName.ENTITY_MANAGER,
+ null );
+ }
+ }
+ } );
+ }
+ } );
+ }
- public Context getContext() {
- return this.kContext;
- }
+ public Context getContext() {
+ return this.kContext;
+ }
- @SuppressWarnings("unchecked")
- public synchronized <T> T execute(final GenericCommand<T> command) {
- ksession.halt();
+ @SuppressWarnings("unchecked")
+ public synchronized <T> T execute(final GenericCommand<T> command) {
+ ksession.halt();
- TransactionTemplate txTemplate = new TransactionTemplate(transactionManager);
- T result = (T) txTemplate.execute(new TransactionCallback() {
- public Object doInTransaction(TransactionStatus status) {
- T result = (T) jpaTemplate.execute(new JpaCallback() {
- public Object doInJpa(EntityManager em) {
- env.set(EnvironmentName.ENTITY_MANAGER, em);
- try {
- SessionInfo sessionInfoMerged = em.merge(sessionInfo);
- sessionInfoMerged.setJPASessionMashallingHelper(sessionInfo.getJPASessionMashallingHelper());
- sessionInfo = sessionInfoMerged;
- ((StatefulKnowledgeSessionImpl) ksession).session.setEndOperationListener( new EndOperationListenerImpl( sessionInfo ) );
-
- T result = command.execute(kContext);
- em.flush();
- return result;
- } finally {
- env.set(EnvironmentName.ENTITY_MANAGER, null);
- }
- }
+ TransactionTemplate txTemplate = new TransactionTemplate( transactionManager );
+ T result = (T) txTemplate.execute( new TransactionCallback() {
+ public Object doInTransaction(TransactionStatus status) {
+ T result = (T) jpaTemplate.execute( new JpaCallback() {
+ public Object doInJpa(EntityManager em) {
+ env.set( EnvironmentName.ENTITY_MANAGER,
+ em );
+ try {
+ SessionInfo sessionInfoMerged = em.merge( sessionInfo );
+ sessionInfoMerged.setJPASessionMashallingHelper( sessionInfo.getJPASessionMashallingHelper() );
+ sessionInfo = sessionInfoMerged;
+ ((StatefulKnowledgeSessionImpl) ksession).session.setEndOperationListener( new EndOperationListenerImpl( sessionInfo ) );
- });
- // clean up cached process and work item instances
- ((JPAProcessInstanceManager) ((StatefulKnowledgeSessionImpl) ksession).session
- .getProcessInstanceManager()).clearProcessInstances();
- ((JPAWorkItemManager) ((StatefulKnowledgeSessionImpl) ksession).session.getWorkItemManager())
- .clearWorkItems();
- return result;
- }
- });
- return result;
- }
+ T result = command.execute( kContext );
+ em.flush();
+ return result;
+ } finally {
+ env.set( EnvironmentName.ENTITY_MANAGER,
+ null );
+ }
+ }
- public void dispose() {
- if (ksession != null) {
- ksession.dispose();
- }
- }
+ } );
+ // clean up cached process and work item instances
+ ((JPAProcessInstanceManager) ((StatefulKnowledgeSessionImpl) ksession).session.getProcessInstanceManager()).clearProcessInstances();
+ ((JPAWorkItemManager) ((StatefulKnowledgeSessionImpl) ksession).session.getWorkItemManager()).clearWorkItems();
+ return result;
+ }
+ } );
+ return result;
+ }
- public int getSessionId() {
- return sessionInfo.getId();
- }
+ public void dispose() {
+ if ( ksession != null ) {
+ ksession.dispose();
+ }
+ }
+
+ public int getSessionId() {
+ return sessionInfo.getId();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -14,24 +14,30 @@
*/
public class ConnectionDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String TYPE_ATTRIBUTE = "type";
+ private static final String TYPE_ATTRIBUTE = "type";
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(ConnectionBeanFactory.class);
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition( ConnectionBeanFactory.class );
- String type = element.getAttribute(TYPE_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), TYPE_ATTRIBUTE, type);
+ String type = element.getAttribute( TYPE_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ TYPE_ATTRIBUTE,
+ type );
- factory.addPropertyValue("type", type);
+ factory.addPropertyValue( "type",
+ type );
- return factory.getBeanDefinition();
- }
+ return factory.getBeanDefinition();
+ }
- public void emptyAttributeCheck(final String element, final String attributeName, final String attribute) {
- if (attribute == null || attribute.trim().length() == 0) {
- throw new IllegalArgumentException("<" + element + "> requires a '" + attributeName + "' attribute");
- }
- }
+ public void emptyAttributeCheck(final String element,
+ final String attributeName,
+ final String attribute) {
+ if ( attribute == null || attribute.trim().length() == 0 ) {
+ throw new IllegalArgumentException( "<" + element + "> requires a '" + attributeName + "' attribute" );
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/DefinitionParserHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/DefinitionParserHelper.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/DefinitionParserHelper.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,12 +1,12 @@
package org.drools.container.spring.namespace;
public class DefinitionParserHelper {
-
- public static void emptyAttributeCheck(final String element,
- final String attributeName,
- final String attribute) {
- if (attribute == null || attribute.trim().length() == 0) {
- throw new IllegalArgumentException("<" + element + "> requires a '" + attributeName + "' attribute");
- }
- }
+
+ public static void emptyAttributeCheck(final String element,
+ final String attributeName,
+ final String attribute) {
+ if ( attribute == null || attribute.trim().length() == 0 ) {
+ throw new IllegalArgumentException( "<" + element + "> requires a '" + attributeName + "' attribute" );
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,12 +1,13 @@
package org.drools.container.spring.namespace;
+import static org.drools.container.spring.namespace.DefinitionParserHelper.emptyAttributeCheck;
+
import org.drools.container.spring.beans.ExecutionNodeBeanFactory;
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.w3c.dom.Element;
-import static org.drools.container.spring.namespace.DefinitionParserHelper.*;
/**
*
@@ -15,17 +16,21 @@
*/
public class ExecutionNodeDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String CONNECTION_ATTRIBUTE = "connection";
+ private static final String CONNECTION_ATTRIBUTE = "connection";
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(ExecutionNodeBeanFactory.class);
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition( ExecutionNodeBeanFactory.class );
- String connectionRef = element.getAttribute(CONNECTION_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), CONNECTION_ATTRIBUTE, connectionRef);
- factory.addPropertyReference("connection", connectionRef);
+ String connectionRef = element.getAttribute( CONNECTION_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ CONNECTION_ATTRIBUTE,
+ connectionRef );
+ factory.addPropertyReference( "connection",
+ connectionRef );
- return factory.getBeanDefinition();
- }
+ return factory.getBeanDefinition();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/JpaSessionServiceFactoryDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/JpaSessionServiceFactoryDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/JpaSessionServiceFactoryDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -15,39 +15,53 @@
public class JpaSessionServiceFactoryDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String KBASE_ATTRIBUTE = "kbase";
- private static final String EMF_ATTRIBUTE = "entityManagerFactory";
- private static final String TX_MANAGER_ATTRIBUTE = "transactionManager";
- private static final String FORCLASS_ATTRIBUTE = "forClass";
- private static final String IMPLEMENTATION_ATTRIBUTE = "implementation";
+ private static final String KBASE_ATTRIBUTE = "kbase";
+ private static final String EMF_ATTRIBUTE = "entityManagerFactory";
+ private static final String TX_MANAGER_ATTRIBUTE = "transactionManager";
+ private static final String FORCLASS_ATTRIBUTE = "forClass";
+ private static final String IMPLEMENTATION_ATTRIBUTE = "implementation";
- @SuppressWarnings("unchecked")
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(JPASingleSessionCommandServiceFactory.class);
-
- String kbase = element.getAttribute(KBASE_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), KBASE_ATTRIBUTE, kbase);
- factory.addPropertyReference("knowledgeBase", kbase);
-
- String entityManagerFactory = element.getAttribute(EMF_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), EMF_ATTRIBUTE, entityManagerFactory);
- factory.addPropertyReference("entityManagerFactory", entityManagerFactory);
-
- String txMngr = element.getAttribute(TX_MANAGER_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), TX_MANAGER_ATTRIBUTE, txMngr);
- factory.addPropertyReference("transactionManager", txMngr);
-
- List<Element> childElems = DomUtils.getChildElementsByTagName(element, "variablePersisters");
- if (childElems != null && childElems.size() > 0) {
- List<Element> elems = DomUtils.getChildElementsByTagName(childElems.get(0), "persister");
- ManagedMap persistors = new ManagedMap(childElems.size());
- for (Element persister : elems) {
- persistors.put(persister.getAttribute(FORCLASS_ATTRIBUTE), persister.getAttribute(IMPLEMENTATION_ATTRIBUTE));
- }
- factory.addPropertyValue("variablePersisters", persistors);
- }
-
- return factory.getBeanDefinition();
- }
+ @SuppressWarnings("unchecked")
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition( JPASingleSessionCommandServiceFactory.class );
+
+ String kbase = element.getAttribute( KBASE_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ KBASE_ATTRIBUTE,
+ kbase );
+ factory.addPropertyReference( "knowledgeBase",
+ kbase );
+
+ String entityManagerFactory = element.getAttribute( EMF_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ EMF_ATTRIBUTE,
+ entityManagerFactory );
+ factory.addPropertyReference( "entityManagerFactory",
+ entityManagerFactory );
+
+ String txMngr = element.getAttribute( TX_MANAGER_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ TX_MANAGER_ATTRIBUTE,
+ txMngr );
+ factory.addPropertyReference( "transactionManager",
+ txMngr );
+
+ List<Element> childElems = DomUtils.getChildElementsByTagName( element,
+ "variablePersisters" );
+ if ( childElems != null && childElems.size() > 0 ) {
+ List<Element> elems = DomUtils.getChildElementsByTagName( childElems.get( 0 ),
+ "persister" );
+ ManagedMap persistors = new ManagedMap( childElems.size() );
+ for ( Element persister : elems ) {
+ persistors.put( persister.getAttribute( FORCLASS_ATTRIBUTE ),
+ persister.getAttribute( IMPLEMENTATION_ATTRIBUTE ) );
+ }
+ factory.addPropertyValue( "variablePersisters",
+ persistors );
+ }
+
+ return factory.getBeanDefinition();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -13,57 +13,67 @@
import org.w3c.dom.Element;
public class KnowledgeBaseDefinitionParser extends AbstractBeanDefinitionParser {
-
- private static final String EXECUTION_NODE_ATTRIBUTE = "node";
- @SuppressWarnings("unchecked")
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeBaseBeanFactory.class);
+ private static final String EXECUTION_NODE_ATTRIBUTE = "node";
- String nodeRef = element.getAttribute(EXECUTION_NODE_ATTRIBUTE);
- if (nodeRef != null && nodeRef.length() > 0) {
- factory.addPropertyReference(EXECUTION_NODE_ATTRIBUTE, nodeRef);
- }
-
- List<Element> childElements = DomUtils.getChildElementsByTagName(element, "resource");
- ManagedList resources = null;
- if (childElements != null && !childElements.isEmpty()) {
- resources = new ManagedList();
- for (Element childResource : childElements) {
- BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement(childResource, factory.getBeanDefinition());
- resources.add(resourceDefinition);
- }
- }
-
- childElements = DomUtils.getChildElementsByTagName(element, "resource-ref");
-
- if (childElements != null && !childElements.isEmpty()) {
- if (resources==null) {
- resources = new ManagedList(childElements.size());
- }
- for (Element childResource : childElements) {
- BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement(childResource, factory.getBeanDefinition());
- resources.add(resourceDefinition);
- }
- }
+ @SuppressWarnings("unchecked")
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition( KnowledgeBaseBeanFactory.class );
- if (resources!=null) {
- factory.addPropertyValue("resources", resources);
- }
+ String nodeRef = element.getAttribute( EXECUTION_NODE_ATTRIBUTE );
+ if ( nodeRef != null && nodeRef.length() > 0 ) {
+ factory.addPropertyReference( EXECUTION_NODE_ATTRIBUTE,
+ nodeRef );
+ }
- childElements = DomUtils.getChildElementsByTagName(element, "model");
+ List<Element> childElements = DomUtils.getChildElementsByTagName( element,
+ "resource" );
+ ManagedList resources = null;
+ if ( childElements != null && !childElements.isEmpty() ) {
+ resources = new ManagedList();
+ for ( Element childResource : childElements ) {
+ BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement( childResource,
+ factory.getBeanDefinition() );
+ resources.add( resourceDefinition );
+ }
+ }
- if (childElements != null && !childElements.isEmpty()) {
- ManagedList models = new ManagedList(childElements.size());
- for (Element childResource : childElements) {
- BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement(childResource, factory.getBeanDefinition());
- models.add(resourceDefinition);
- }
- factory.addPropertyValue("models", models);
- }
+ childElements = DomUtils.getChildElementsByTagName( element,
+ "resource-ref" );
- return factory.getBeanDefinition();
- }
-
+ if ( childElements != null && !childElements.isEmpty() ) {
+ if ( resources == null ) {
+ resources = new ManagedList( childElements.size() );
+ }
+ for ( Element childResource : childElements ) {
+ BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement( childResource,
+ factory.getBeanDefinition() );
+ resources.add( resourceDefinition );
+ }
+ }
+
+ if ( resources != null ) {
+ factory.addPropertyValue( "resources",
+ resources );
+ }
+
+ childElements = DomUtils.getChildElementsByTagName( element,
+ "model" );
+
+ if ( childElements != null && !childElements.isEmpty() ) {
+ ManagedList models = new ManagedList( childElements.size() );
+ for ( Element childResource : childElements ) {
+ BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement( childResource,
+ factory.getBeanDefinition() );
+ models.add( resourceDefinition );
+ }
+ factory.addPropertyValue( "models",
+ models );
+ }
+
+ return factory.getBeanDefinition();
+ }
+
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,5 +1,7 @@
package org.drools.container.spring.namespace;
+import static org.drools.container.spring.namespace.DefinitionParserHelper.emptyAttributeCheck;
+
import java.util.ArrayList;
import java.util.List;
@@ -12,7 +14,6 @@
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import static org.drools.container.spring.namespace.DefinitionParserHelper.*;
/**
*
@@ -21,62 +22,75 @@
*/
public class KnowledgeServiceConfigurationDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String ID_ATTRIBUTE = "id";
- private static final String SESSION_ATTRIBUTE = "session";
- private static final String MARSHALLER_ATTRIBUTE = "marshaller";
- private static final String CLASS_ELEMENT = "class";
- private static final String STARTUP_COMMAND_ELEMENT = "startup-command";
+ private static final String ID_ATTRIBUTE = "id";
+ private static final String SESSION_ATTRIBUTE = "session";
+ private static final String MARSHALLER_ATTRIBUTE = "marshaller";
+ private static final String CLASS_ELEMENT = "class";
+ private static final String STARTUP_COMMAND_ELEMENT = "startup-command";
- @SuppressWarnings("unchecked")
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+ @SuppressWarnings("unchecked")
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
- String id = element.getAttribute(ID_ATTRIBUTE);
+ String id = element.getAttribute( ID_ATTRIBUTE );
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeServiceConfigurationBeanFactory.class);
- if (id!=null && id.length() > 0) {
- factory.addPropertyValue("id", id);
- }
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition( KnowledgeServiceConfigurationBeanFactory.class );
+ if ( id != null && id.length() > 0 ) {
+ factory.addPropertyValue( "id",
+ id );
+ }
- String ksession = element.getAttribute(SESSION_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), SESSION_ATTRIBUTE, ksession);
- factory.addPropertyReference("session", ksession);
- factory.addPropertyValue("sessionId", ksession);
+ String ksession = element.getAttribute( SESSION_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ SESSION_ATTRIBUTE,
+ ksession );
+ factory.addPropertyReference( "session",
+ ksession );
+ factory.addPropertyValue( "sessionId",
+ ksession );
- String marshaller = element.getAttribute(MARSHALLER_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), MARSHALLER_ATTRIBUTE, marshaller);
- factory.addPropertyValue("marshaller", marshaller);
+ String marshaller = element.getAttribute( MARSHALLER_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ MARSHALLER_ATTRIBUTE,
+ marshaller );
+ factory.addPropertyValue( "marshaller",
+ marshaller );
- List<Element> childElements = DomUtils.getChildElementsByTagName(element, CLASS_ELEMENT);
+ List<Element> childElements = DomUtils.getChildElementsByTagName( element,
+ CLASS_ELEMENT );
- if (childElements != null && !childElements.isEmpty()) {
- List<String> classes = new ArrayList<String>();
- for (Element childResource : childElements) {
- NodeList childNodes = childResource.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node item = childNodes.item(i);
- classes.add(item.getNodeValue());
- }
- }
- factory.addPropertyValue("classes", classes);
- }
-
- childElements = DomUtils.getChildElementsByTagName(element, STARTUP_COMMAND_ELEMENT);
+ if ( childElements != null && !childElements.isEmpty() ) {
+ List<String> classes = new ArrayList<String>();
+ for ( Element childResource : childElements ) {
+ NodeList childNodes = childResource.getChildNodes();
+ for ( int i = 0; i < childNodes.getLength(); i++ ) {
+ Node item = childNodes.item( i );
+ classes.add( item.getNodeValue() );
+ }
+ }
+ factory.addPropertyValue( "classes",
+ classes );
+ }
- if (childElements != null && !childElements.isEmpty()) {
- List<String> commands = new ArrayList<String>();
- for (Element childResource : childElements) {
- NodeList childNodes = childResource.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node item = childNodes.item(i);
- if (item.getNodeValue().trim().length() > 0) {
- commands.add(item.getNodeValue().trim());
- }
- }
- }
- factory.addPropertyValue("commands", commands);
- }
-
- return factory.getBeanDefinition();
- }
+ childElements = DomUtils.getChildElementsByTagName( element,
+ STARTUP_COMMAND_ELEMENT );
+
+ if ( childElements != null && !childElements.isEmpty() ) {
+ List<String> commands = new ArrayList<String>();
+ for ( Element childResource : childElements ) {
+ NodeList childNodes = childResource.getChildNodes();
+ for ( int i = 0; i < childNodes.getLength(); i++ ) {
+ Node item = childNodes.item( i );
+ if ( item.getNodeValue().trim().length() > 0 ) {
+ commands.add( item.getNodeValue().trim() );
+ }
+ }
+ }
+ factory.addPropertyValue( "commands",
+ commands );
+ }
+
+ return factory.getBeanDefinition();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationRefDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationRefDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceConfigurationRefDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,10 +1,12 @@
package org.drools.container.spring.namespace;
+import static org.drools.container.spring.namespace.DefinitionParserHelper.emptyAttributeCheck;
+
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
-import static org.drools.container.spring.namespace.DefinitionParserHelper.*;
+
/**
*
* @author Lucas Amador
@@ -12,12 +14,15 @@
*/
public class KnowledgeServiceConfigurationRefDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String ID_ATTRIBUTE = "id";
+ private static final String ID_ATTRIBUTE = "id";
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
- String id = element.getAttribute(ID_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), ID_ATTRIBUTE, id);
- return (AbstractBeanDefinition) parserContext.getRegistry().getBeanDefinition(id);
- }
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
+ String id = element.getAttribute( ID_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ ID_ATTRIBUTE,
+ id );
+ return (AbstractBeanDefinition) parserContext.getRegistry().getBeanDefinition( id );
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,5 +1,7 @@
package org.drools.container.spring.namespace;
+import static org.drools.container.spring.namespace.DefinitionParserHelper.emptyAttributeCheck;
+
import java.util.List;
import org.drools.container.spring.beans.KnowledgeServiceBeanFactory;
@@ -12,8 +14,6 @@
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
-import static org.drools.container.spring.namespace.DefinitionParserHelper.*;
-
/**
*
* @author Lucas Amador
@@ -21,54 +21,66 @@
*/
public class KnowledgeServiceDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String CAMEL_CONTEXT_ATTRIBUTE = "camelContext";
- private static final String EXECUTION_NODE_ID_ATTRIBUTE = "node";
- private static final String CONFIGURATION_ELEMENT = "configuration";
- private static final String CONFIGURATION_REF_ELEMENT = "configuration-ref";
+ private static final String CAMEL_CONTEXT_ATTRIBUTE = "camelContext";
+ private static final String EXECUTION_NODE_ID_ATTRIBUTE = "node";
+ private static final String CONFIGURATION_ELEMENT = "configuration";
+ private static final String CONFIGURATION_REF_ELEMENT = "configuration-ref";
- @SuppressWarnings("unchecked")
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+ @SuppressWarnings("unchecked")
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
- BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeServiceBeanFactory.class);
+ BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition( KnowledgeServiceBeanFactory.class );
- String nodeId = element.getAttribute(EXECUTION_NODE_ID_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), EXECUTION_NODE_ID_ATTRIBUTE, nodeId);
+ String nodeId = element.getAttribute( EXECUTION_NODE_ID_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ EXECUTION_NODE_ID_ATTRIBUTE,
+ nodeId );
- factory.addPropertyValue("nodeId", nodeId);
-
- String camelContextId = element.getAttribute(CAMEL_CONTEXT_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), CAMEL_CONTEXT_ATTRIBUTE, camelContextId);
-
- factory.addPropertyReference(CAMEL_CONTEXT_ATTRIBUTE, camelContextId);
+ factory.addPropertyValue( "nodeId",
+ nodeId );
- List<Element> childElements = DomUtils.getChildElementsByTagName(element, CONFIGURATION_ELEMENT);
- ManagedList configurations = null;
+ String camelContextId = element.getAttribute( CAMEL_CONTEXT_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ CAMEL_CONTEXT_ATTRIBUTE,
+ camelContextId );
- if (childElements != null && !childElements.isEmpty()) {
- configurations = new ManagedList(childElements.size());
- for (Element childResource : childElements) {
- BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement(childResource, factory.getBeanDefinition());
- configurations.add(resourceDefinition);
- }
- }
+ factory.addPropertyReference( CAMEL_CONTEXT_ATTRIBUTE,
+ camelContextId );
- childElements = DomUtils.getChildElementsByTagName(element, CONFIGURATION_REF_ELEMENT);
+ List<Element> childElements = DomUtils.getChildElementsByTagName( element,
+ CONFIGURATION_ELEMENT );
+ ManagedList configurations = null;
- if (childElements != null && !childElements.isEmpty()) {
- if (configurations==null) {
- configurations = new ManagedList(childElements.size());
- }
- for (Element childResource : childElements) {
- BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement(childResource, factory.getBeanDefinition());
- configurations.add(resourceDefinition);
- }
- }
+ if ( childElements != null && !childElements.isEmpty() ) {
+ configurations = new ManagedList( childElements.size() );
+ for ( Element childResource : childElements ) {
+ BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement( childResource,
+ factory.getBeanDefinition() );
+ configurations.add( resourceDefinition );
+ }
+ }
- if (configurations!=null) {
- factory.addPropertyValue("configurations", configurations);
- }
+ childElements = DomUtils.getChildElementsByTagName( element,
+ CONFIGURATION_REF_ELEMENT );
- return factory.getBeanDefinition();
- }
+ if ( childElements != null && !childElements.isEmpty() ) {
+ if ( configurations == null ) {
+ configurations = new ManagedList( childElements.size() );
+ }
+ for ( Element childResource : childElements ) {
+ BeanDefinition resourceDefinition = parserContext.getDelegate().parseCustomElement( childResource,
+ factory.getBeanDefinition() );
+ configurations.add( resourceDefinition );
+ }
+ }
+
+ if ( configurations != null ) {
+ factory.addPropertyValue( "configurations",
+ configurations );
+ }
+
+ return factory.getBeanDefinition();
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,5 +1,7 @@
package org.drools.container.spring.namespace;
+import static org.drools.container.spring.namespace.DefinitionParserHelper.emptyAttributeCheck;
+
import org.drools.container.spring.beans.StatefulKnowledgeSessionBeanFactory;
import org.drools.container.spring.beans.StatelessKnowledgeSessionBeanFactory;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
@@ -8,43 +10,47 @@
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
-import static org.drools.container.spring.namespace.DefinitionParserHelper.*;
-
public class KnowledgeSessionDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String NAME_ATTRIBUTE = "name";
- private static final String EXECUTION_NODE_ATTRIBUTE = "node";
- private static final String KBASE_ATTRIBUTE = "kbase";
- private static final String TYPE_ATTRIBUTE = "type";
+ private static final String NAME_ATTRIBUTE = "name";
+ private static final String EXECUTION_NODE_ATTRIBUTE = "node";
+ private static final String KBASE_ATTRIBUTE = "kbase";
+ private static final String TYPE_ATTRIBUTE = "type";
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
- String kbase = element.getAttribute(KBASE_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), KBASE_ATTRIBUTE, kbase);
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
+ String kbase = element.getAttribute( KBASE_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ KBASE_ATTRIBUTE,
+ kbase );
- String sessionType = element.getAttribute(TYPE_ATTRIBUTE);
- BeanDefinitionBuilder factory;
+ String sessionType = element.getAttribute( TYPE_ATTRIBUTE );
+ BeanDefinitionBuilder factory;
- if ("stateful".equals(sessionType)) {
- factory = BeanDefinitionBuilder.rootBeanDefinition(StatefulKnowledgeSessionBeanFactory.class);
- } else if ("stateless".equals(sessionType)) {
- factory = BeanDefinitionBuilder.rootBeanDefinition(StatelessKnowledgeSessionBeanFactory.class);
- } else {
- throw new IllegalArgumentException("Invalid value for " + TYPE_ATTRIBUTE + " attribute: " + sessionType);
- }
+ if ( "stateful".equals( sessionType ) ) {
+ factory = BeanDefinitionBuilder.rootBeanDefinition( StatefulKnowledgeSessionBeanFactory.class );
+ } else if ( "stateless".equals( sessionType ) ) {
+ factory = BeanDefinitionBuilder.rootBeanDefinition( StatelessKnowledgeSessionBeanFactory.class );
+ } else {
+ throw new IllegalArgumentException( "Invalid value for " + TYPE_ATTRIBUTE + " attribute: " + sessionType );
+ }
- factory.addPropertyReference("kbase", kbase);
+ factory.addPropertyReference( "kbase",
+ kbase );
- String node = element.getAttribute(EXECUTION_NODE_ATTRIBUTE);
- if (node != null && node.length() > 0) {
- factory.addPropertyReference("node", node);
- }
+ String node = element.getAttribute( EXECUTION_NODE_ATTRIBUTE );
+ if ( node != null && node.length() > 0 ) {
+ factory.addPropertyReference( "node",
+ node );
+ }
- String name = element.getAttribute(NAME_ATTRIBUTE);
- if (name != null && name.length() > 0) {
- factory.addPropertyValue("name", name);
- }
-
- return factory.getBeanDefinition();
- }
+ String name = element.getAttribute( NAME_ATTRIBUTE );
+ if ( name != null && name.length() > 0 ) {
+ factory.addPropertyValue( "name",
+ name );
+ }
+ return factory.getBeanDefinition();
+ }
+
}
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 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -14,51 +14,59 @@
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);
+ 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";
- 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");
- }
- }
+ @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/java/org/drools/container/spring/namespace/ResourceRefDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceRefDefinitionParser.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ResourceRefDefinitionParser.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,19 +1,23 @@
package org.drools.container.spring.namespace;
+import static org.drools.container.spring.namespace.DefinitionParserHelper.emptyAttributeCheck;
+
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
-import static org.drools.container.spring.namespace.DefinitionParserHelper.*;
public class ResourceRefDefinitionParser extends AbstractBeanDefinitionParser {
- private static final String ID_ATTRIBUTE = "id";
+ private static final String ID_ATTRIBUTE = "id";
- @Override
- protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
- String id = element.getAttribute(ID_ATTRIBUTE);
- emptyAttributeCheck(element.getLocalName(), ID_ATTRIBUTE, id);
- return (AbstractBeanDefinition) parserContext.getRegistry().getBeanDefinition(id);
- }
+ @Override
+ protected AbstractBeanDefinition parseInternal(Element element,
+ ParserContext parserContext) {
+ String id = element.getAttribute( ID_ATTRIBUTE );
+ emptyAttributeCheck( element.getLocalName(),
+ ID_ATTRIBUTE,
+ id );
+ return (AbstractBeanDefinition) parserContext.getRegistry().getBeanDefinition( id );
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -5,23 +5,31 @@
public class SpringDroolsHandler extends NamespaceHandlerSupport {
public void init() {
-
- registerBeanDefinitionParser("resource", new ResourceDefinitionParser());
-
- registerBeanDefinitionParser("resource-ref", new ResourceRefDefinitionParser());
-
- registerBeanDefinitionParser("model", new ResourceDefinitionParser());
-
- registerBeanDefinitionParser("kbase", new KnowledgeBaseDefinitionParser());
-
- registerBeanDefinitionParser("ksession", new KnowledgeSessionDefinitionParser());
-
- registerBeanDefinitionParser("connection", new ConnectionDefinitionParser());
-
- registerBeanDefinitionParser("execution-node", new ExecutionNodeDefinitionParser());
-
- registerBeanDefinitionParser("jpaSessionServiceFactory", new JpaSessionServiceFactoryDefinitionParser());
-
+
+ registerBeanDefinitionParser( "resource",
+ new ResourceDefinitionParser() );
+
+ registerBeanDefinitionParser( "resource-ref",
+ new ResourceRefDefinitionParser() );
+
+ registerBeanDefinitionParser( "model",
+ new ResourceDefinitionParser() );
+
+ registerBeanDefinitionParser( "kbase",
+ new KnowledgeBaseDefinitionParser() );
+
+ registerBeanDefinitionParser( "ksession",
+ new KnowledgeSessionDefinitionParser() );
+
+ registerBeanDefinitionParser( "connection",
+ new ConnectionDefinitionParser() );
+
+ registerBeanDefinitionParser( "execution-node",
+ new ExecutionNodeDefinitionParser() );
+
+ registerBeanDefinitionParser( "jpaSessionServiceFactory",
+ new JpaSessionServiceFactoryDefinitionParser() );
+
}
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsServiceHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsServiceHandler.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsServiceHandler.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -4,14 +4,17 @@
public class SpringDroolsServiceHandler extends NamespaceHandlerSupport {
- public void init() {
+ public void init() {
- registerBeanDefinitionParser("definition", new KnowledgeServiceDefinitionParser());
+ registerBeanDefinitionParser( "definition",
+ new KnowledgeServiceDefinitionParser() );
- registerBeanDefinitionParser("configuration", new KnowledgeServiceConfigurationDefinitionParser());
+ registerBeanDefinitionParser( "configuration",
+ new KnowledgeServiceConfigurationDefinitionParser() );
- registerBeanDefinitionParser("configuration-ref", new KnowledgeServiceConfigurationRefDefinitionParser());
+ registerBeanDefinitionParser( "configuration-ref",
+ new KnowledgeServiceConfigurationRefDefinitionParser() );
- }
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/Person.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/Person.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -69,7 +69,6 @@
0 );
}
-
public Person(final String name,
final String likes) {
this( name,
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -21,64 +21,90 @@
List<String> list = new ArrayList<String>();
StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) context.getBean( "ksession1" );
- kstateless.setGlobal( "list", list );
- kstateless.execute( new Person( "Darth", "Cheddar", 50 ) );
- assertEquals( 1, list.size() );
+ kstateless.setGlobal( "list",
+ list );
+ kstateless.execute( new Person( "Darth",
+ "Cheddar",
+ 50 ) );
+ assertEquals( 1,
+ list.size() );
list = new ArrayList<String>();
- StatefulKnowledgeSession kstateful = ((StatefulKnowledgeSession)context.getBean( "ksession2" ));
- kstateful.setGlobal( "list", list );
- kstateful.insert( new Person( "Darth", "Cheddar", 50 ) );
- kstateful.fireAllRules();
- assertEquals( 1, list.size() );
+ StatefulKnowledgeSession kstateful = ((StatefulKnowledgeSession) context.getBean( "ksession2" ));
+ kstateful.setGlobal( "list",
+ list );
+ kstateful.insert( new Person( "Darth",
+ "Cheddar",
+ 50 ) );
+ kstateful.fireAllRules();
+ assertEquals( 1,
+ list.size() );
}
-
- public void testSimpleKSessions() throws Exception {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
- List<String> list = new ArrayList<String>();
- StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) context.getBean( "ksession1" );
- kstateless.setGlobal( "list", list );
- kstateless.execute( new Person( "Darth", "Cheddar", 50 ) );
- assertEquals( 2, list.size() );
+ public void testSimpleKSessions() throws Exception {
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
- list = new ArrayList<String>();
- StatefulKnowledgeSession kstateful = ((StatefulKnowledgeSession)context.getBean( "ksession2" ));
- kstateful.setGlobal( "list", list );
- kstateful.insert( new Person( "Darth", "Cheddar", 50 ) );
- kstateful.fireAllRules();
- assertEquals( 2, list.size() );
- }
+ List<String> list = new ArrayList<String>();
+ StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) context.getBean( "ksession1" );
+ kstateless.setGlobal( "list",
+ list );
+ kstateless.execute( new Person( "Darth",
+ "Cheddar",
+ 50 ) );
+ assertEquals( 2,
+ list.size() );
- public void testNode() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
+ list = new ArrayList<String>();
+ StatefulKnowledgeSession kstateful = ((StatefulKnowledgeSession) context.getBean( "ksession2" ));
+ kstateful.setGlobal( "list",
+ list );
+ kstateful.insert( new Person( "Darth",
+ "Cheddar",
+ 50 ) );
+ kstateful.fireAllRules();
+ assertEquals( 2,
+ list.size() );
+ }
- ExecutionNode node = (ExecutionNode) context.getBean("node1");
- List<String> list = new ArrayList<String>();
- StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) node.get(DirectoryLookupFactoryService.class).lookup("stateless1");
- assertNotNull("can't obtain session named: stateless1" , kstateless);
- kstateless.setGlobal("list", list);
- kstateless.execute(new Person("Darth", "Cheddar", 50));
- assertEquals(2, list.size());
+ public void testNode() {
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
- list = new ArrayList<String>();
- StatefulKnowledgeSession kstateful = (StatefulKnowledgeSession) node.get(DirectoryLookupFactoryService.class).lookup("ksession2");
- kstateful.setGlobal("list", list);
- kstateful.insert(new Person("Darth", "Cheddar", 50));
- kstateful.fireAllRules();
- assertEquals(2, list.size());
- }
+ ExecutionNode node = (ExecutionNode) context.getBean( "node1" );
+ List<String> list = new ArrayList<String>();
+ StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) node.get( DirectoryLookupFactoryService.class ).lookup( "stateless1" );
+ assertNotNull( "can't obtain session named: stateless1",
+ kstateless );
+ kstateless.setGlobal( "list",
+ list );
+ kstateless.execute( new Person( "Darth",
+ "Cheddar",
+ 50 ) );
+ assertEquals( 2,
+ list.size() );
- public void testBeansConstructions() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
- assertNotNull(context.getBean("connection1"));
- assertNotNull(context.getBean("node1"));
- KnowledgeBase bean = (KnowledgeBase) context.getBean("kbase1");
- assertNotNull(bean);
- KnowledgeServiceConfiguration kserviceConf1 = (KnowledgeServiceConfiguration)context.getBean( "service-conf-1" );
- assertNotNull(kserviceConf1);
- assertEquals("XSTREAM", kserviceConf1.getMarshaller());
- KnowledgeService kservice = (KnowledgeService)context.getBean( "service" );
- assertNotNull(kservice);
- }
+ list = new ArrayList<String>();
+ StatefulKnowledgeSession kstateful = (StatefulKnowledgeSession) node.get( DirectoryLookupFactoryService.class ).lookup( "ksession2" );
+ kstateful.setGlobal( "list",
+ list );
+ kstateful.insert( new Person( "Darth",
+ "Cheddar",
+ 50 ) );
+ kstateful.fireAllRules();
+ assertEquals( 2,
+ list.size() );
+ }
+
+ public void testBeansConstructions() {
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
+ assertNotNull( context.getBean( "connection1" ) );
+ assertNotNull( context.getBean( "node1" ) );
+ KnowledgeBase bean = (KnowledgeBase) context.getBean( "kbase1" );
+ assertNotNull( bean );
+ KnowledgeServiceConfiguration kserviceConf1 = (KnowledgeServiceConfiguration) context.getBean( "service-conf-1" );
+ assertNotNull( kserviceConf1 );
+ assertEquals( "XSTREAM",
+ kserviceConf1.getMarshaller() );
+ KnowledgeService kservice = (KnowledgeService) context.getBean( "service" );
+ assertNotNull( kservice );
+ }
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/JPASingleSessionCommandServiceFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/JPASingleSessionCommandServiceFactoryTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/JPASingleSessionCommandServiceFactoryTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,5 +1,6 @@
package org.drools.container.spring.beans.persistence;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -50,110 +51,124 @@
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import static org.junit.Assert.*;
+public class JPASingleSessionCommandServiceFactoryTest {
+ private static final String TMPDIR = System.getProperty( "java.io.tmpdir" );
+ private static final Logger log = LoggerFactory.getLogger( JPASingleSessionCommandServiceFactoryTest.class );
+ private static Server h2Server;
-public class JPASingleSessionCommandServiceFactoryTest {
- private static final String TMPDIR = System.getProperty("java.io.tmpdir");
- private static final Logger log = LoggerFactory.getLogger(JPASingleSessionCommandServiceFactoryTest.class);
- private static Server h2Server;
-
private ClassPathXmlApplicationContext ctx;
-
+
@BeforeClass
public static void startH2Database() throws Exception {
- DeleteDbFiles.execute("", "DroolsFlow", true);
- h2Server = Server.createTcpServer(new String[0]);
- h2Server.start();
+ DeleteDbFiles.execute( "",
+ "DroolsFlow",
+ true );
+ h2Server = Server.createTcpServer( new String[0] );
+ h2Server.start();
}
-
+
@AfterClass
public static void stopH2Database() throws Exception {
- log.info("stoping database");
- h2Server.stop();
- DeleteDbFiles.execute("", "DroolsFlow", true);
+ log.info( "stoping database" );
+ h2Server.stop();
+ DeleteDbFiles.execute( "",
+ "DroolsFlow",
+ true );
}
@BeforeClass
public static void generatePackages() {
- try {
- log.info("creating: {}", TMPDIR + "/processWorkItems.pkg");
- writePackage(getProcessWorkItems(), new File(TMPDIR + "/processWorkItems.pkg"));
-
- log.info("creating: {}", TMPDIR + "/processSubProcess.pkg");
- writePackage(getProcessSubProcess(), new File(TMPDIR + "/processSubProcess.pkg"));
-
- log.info("creating: {}", TMPDIR + "/processTimer.pkg");
- writePackage(getProcessTimer(), new File(TMPDIR + "/processTimer.pkg"));
-
- log.info("creating: {}", TMPDIR + "/processTimer2.pkg");
- writePackage(getProcessTimer2(), new File(TMPDIR + "/processTimer2.pkg"));
- } catch (Exception e) {
- log.error("can't create packages!", e);
- throw new RuntimeException(e);
- }
- }
-
+ try {
+ log.info( "creating: {}",
+ TMPDIR + "/processWorkItems.pkg" );
+ writePackage( getProcessWorkItems(),
+ new File( TMPDIR + "/processWorkItems.pkg" ) );
+
+ log.info( "creating: {}",
+ TMPDIR + "/processSubProcess.pkg" );
+ writePackage( getProcessSubProcess(),
+ new File( TMPDIR + "/processSubProcess.pkg" ) );
+
+ log.info( "creating: {}",
+ TMPDIR + "/processTimer.pkg" );
+ writePackage( getProcessTimer(),
+ new File( TMPDIR + "/processTimer.pkg" ) );
+
+ log.info( "creating: {}",
+ TMPDIR + "/processTimer2.pkg" );
+ writePackage( getProcessTimer2(),
+ new File( TMPDIR + "/processTimer2.pkg" ) );
+ } catch ( Exception e ) {
+ log.error( "can't create packages!",
+ e );
+ throw new RuntimeException( e );
+ }
+ }
+
@AfterClass
public static void deletePackages() {
- new File(TMPDIR + "/processWorkItems.pkg").delete();
- new File(TMPDIR + "/processSubProcess.pkg").delete();
- new File(TMPDIR + "/processTimer.pkg").delete();
- new File(TMPDIR + "/processTimer2.pkg").delete();
- }
-
+ new File( TMPDIR + "/processWorkItems.pkg" ).delete();
+ new File( TMPDIR + "/processSubProcess.pkg" ).delete();
+ new File( TMPDIR + "/processTimer.pkg" ).delete();
+ new File( TMPDIR + "/processTimer2.pkg" ).delete();
+ }
+
@Before
public void createSpringContext() {
- try {
- log.info("creating spring context");
- PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
- Properties properties = new Properties();
- properties.setProperty("temp.dir", TMPDIR);
- configurer.setProperties(properties);
- ctx = new ClassPathXmlApplicationContext();
- ctx.addBeanFactoryPostProcessor(configurer);
- ctx.setConfigLocation("org/drools/container/spring/beans/persistence/beans.xml");
- ctx.refresh();
- } catch (Exception e) {
- log.error("can't create spring context", e);
- throw new RuntimeException(e);
- }
+ try {
+ log.info( "creating spring context" );
+ PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
+ Properties properties = new Properties();
+ properties.setProperty( "temp.dir",
+ TMPDIR );
+ configurer.setProperties( properties );
+ ctx = new ClassPathXmlApplicationContext();
+ ctx.addBeanFactoryPostProcessor( configurer );
+ ctx.setConfigLocation( "org/drools/container/spring/beans/persistence/beans.xml" );
+ ctx.refresh();
+ } catch ( Exception e ) {
+ log.error( "can't create spring context",
+ e );
+ throw new RuntimeException( e );
+ }
}
-
+
@After
public void destrySpringContext() {
- log.info("destroy spring context");
- ctx.destroy();
+ log.info( "destroy spring context" );
+ ctx.destroy();
}
-
+
@Test
public void testPersistenceWorkItems() throws Exception {
- log.info("---> get bean jpaSingleSessionCommandService");
- JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean("jpaSingleSessionCommandService");
-
- log.info("---> create new SingleSessionCommandService");
+ log.info( "---> get bean jpaSingleSessionCommandService" );
+ JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean( "jpaSingleSessionCommandService" );
+
+ log.info( "---> create new SingleSessionCommandService" );
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
-
+
int sessionId = service.getSessionId();
- log.info("---> created SingleSessionCommandService id: " + sessionId);
+ log.info( "---> created SingleSessionCommandService id: " + sessionId );
StartProcessCommand startProcessCommand = new StartProcessCommand();
startProcessCommand.setProcessId( "org.drools.test.TestProcess" );
ProcessInstance processInstance = service.execute( startProcessCommand );
- log.info( "Started process instance {}", processInstance.getId() );
+ log.info( "Started process instance {}",
+ processInstance.getId() );
TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
WorkItem workItem = handler.getWorkItem();
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
CompleteWorkItemCommand completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
@@ -162,14 +177,14 @@
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
@@ -178,14 +193,14 @@
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
@@ -194,7 +209,7 @@
assertNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
@@ -204,8 +219,8 @@
@Test
public void testPersistenceWorkItemsUserTransaction() throws Exception {
-
- JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean("jpaSingleSessionCommandService");
+
+ JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean( "jpaSingleSessionCommandService" );
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
int sessionId = service.getSessionId();
@@ -213,21 +228,22 @@
StartProcessCommand startProcessCommand = new StartProcessCommand();
startProcessCommand.setProcessId( "org.drools.test.TestProcess" );
ProcessInstance processInstance = service.execute( startProcessCommand );
- log.info( "Started process instance {}", processInstance.getId() );
+ log.info( "Started process instance {}",
+ processInstance.getId() );
TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
WorkItem workItem = handler.getWorkItem();
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
CompleteWorkItemCommand completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
@@ -236,14 +252,14 @@
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
@@ -252,14 +268,14 @@
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
@@ -268,7 +284,7 @@
assertNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
@@ -343,32 +359,33 @@
ProcessBuilder processBuilder = new ProcessBuilder( packageBuilder );
processBuilder.buildProcess( process,
null );
-
-
- return packageBuilder.getPackage() ;
+
+ return packageBuilder.getPackage();
}
-
- public static void writePackage(Package pkg, File dest) {
- OutputStream out = null;
- try {
- out = new BufferedOutputStream(new FileOutputStream(dest));
- DroolsStreamUtils.streamOut(out, pkg);
- } catch (Exception e) {
- throw new RuntimeException(e);
- } finally {
- if (out != null) {
- try {
- out.close();
- } catch (IOException e) {
- }
- }
- }
- }
-
+
+ public static void writePackage(Package pkg,
+ File dest) {
+ OutputStream out = null;
+ try {
+ out = new BufferedOutputStream( new FileOutputStream( dest ) );
+ DroolsStreamUtils.streamOut( out,
+ pkg );
+ } catch ( Exception e ) {
+ throw new RuntimeException( e );
+ } finally {
+ if ( out != null ) {
+ try {
+ out.close();
+ } catch ( IOException e ) {
+ }
+ }
+ }
+ }
+
@Test
public void testPersistenceSubProcess() {
- JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean("jpaSingleSessionCommandService");
+ JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean( "jpaSingleSessionCommandService" );
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
int sessionId = service.getSessionId();
@@ -376,7 +393,8 @@
StartProcessCommand startProcessCommand = new StartProcessCommand();
startProcessCommand.setProcessId( "org.drools.test.ProcessSubProcess" );
RuleFlowProcessInstance processInstance = (RuleFlowProcessInstance) service.execute( startProcessCommand );
- log.info( "Started process instance {}", processInstance.getId() );
+ log.info( "Started process instance {}",
+ processInstance.getId() );
long processInstanceId = processInstance.getId();
TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
@@ -384,7 +402,7 @@
assertNotNull( workItem );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstanceId );
processInstance = (RuleFlowProcessInstance) service.execute( getProcessInstanceCommand );
@@ -401,13 +419,13 @@
assertNotNull( subProcessInstance );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
CompleteWorkItemCommand completeWorkItemCommand = new CompleteWorkItemCommand();
completeWorkItemCommand.setWorkItemId( workItem.getId() );
service.execute( completeWorkItemCommand );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( subProcessInstanceId );
subProcessInstance = (RuleFlowProcessInstance) service.execute( getProcessInstanceCommand );
@@ -508,42 +526,43 @@
null );
return packageBuilder.getPackage();
}
-
+
@Test
public void testPersistenceTimer() throws Exception {
- log.info("---> get bean jpaSingleSessionCommandService");
- JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean("jpaSingleSessionCommandService");
-
- log.info("---> create new SingleSessionCommandService");
+ log.info( "---> get bean jpaSingleSessionCommandService" );
+ JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean( "jpaSingleSessionCommandService" );
+
+ log.info( "---> create new SingleSessionCommandService" );
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
-
+
int sessionId = service.getSessionId();
- log.info("---> created SingleSessionCommandService id: " + sessionId);
-
+ log.info( "---> created SingleSessionCommandService id: " + sessionId );
+
StartProcessCommand startProcessCommand = new StartProcessCommand();
startProcessCommand.setProcessId( "org.drools.test.ProcessTimer" );
ProcessInstance processInstance = service.execute( startProcessCommand );
long procId = processInstance.getId();
- log.info( "---> Started ProcessTimer id: {}", procId );
+ log.info( "---> Started ProcessTimer id: {}",
+ procId );
service.dispose();
log.info( "---> session disposed" );
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
- log.info( "---> load session: " + sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
+ log.info( "---> load session: " + sessionId );
GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( procId );
processInstance = service.execute( getProcessInstanceCommand );
- log.info("---> GetProcessInstanceCommand id: " + procId);
+ log.info( "---> GetProcessInstanceCommand id: " + procId );
assertNotNull( processInstance );
log.info( "---> session disposed" );
service.dispose();
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
- log.info( "---> load session: " + sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
+ log.info( "---> load session: " + sessionId );
Thread.sleep( 3000 );
getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( procId );
- log.info("---> GetProcessInstanceCommand id: " + procId);
+ log.info( "---> GetProcessInstanceCommand id: " + procId );
processInstance = service.execute( getProcessInstanceCommand );
log.info( "---> session disposed" );
assertNull( processInstance );
@@ -599,19 +618,20 @@
@Test
public void testPersistenceTimer2() throws Exception {
- JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean("jpaSingleSessionCommandService");
+ JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean( "jpaSingleSessionCommandService" );
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
int sessionId = service.getSessionId();
-
+
StartProcessCommand startProcessCommand = new StartProcessCommand();
startProcessCommand.setProcessId( "org.drools.test.ProcessTimer2" );
ProcessInstance processInstance = service.execute( startProcessCommand );
- log.info( "Started process instance {}", processInstance.getId() );
+ log.info( "Started process instance {}",
+ processInstance.getId() );
Thread.sleep( 2000 );
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = service.execute( getProcessInstanceCommand );
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntity.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntity.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntity.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -12,19 +12,22 @@
* @author salaboy
*/
@Entity
-public class MyEntity implements Serializable {
+public class MyEntity
+ implements
+ Serializable {
+ private static final long serialVersionUID = 1L;
- private static final long serialVersionUID = 1L;
-
- @Id @GeneratedValue(strategy=GenerationType.AUTO)
- private Long id;
- private String test;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+ private String test;
- public MyEntity(){}
+ public MyEntity() {
+ }
public MyEntity(String string) {
- this.test= string;
+ this.test = string;
}
/**
@@ -54,23 +57,24 @@
public void setTest(String test) {
this.test = test;
}
- public String toString(){
- return "VARIABLE: " +this.getId() + " - " + this.getTest();
+
+ public String toString() {
+ return "VARIABLE: " + this.getId() + " - " + this.getTest();
}
@Override
public boolean equals(Object obj) {
- if (obj == null) {
+ if ( obj == null ) {
return false;
}
- if (getClass() != obj.getClass()) {
+ if ( getClass() != obj.getClass() ) {
return false;
}
final MyEntity other = (MyEntity) obj;
- if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
+ if ( this.id != other.id && (this.id == null || !this.id.equals( other.id )) ) {
return false;
}
- if ((this.test == null) ? (other.test != null) : !this.test.equals(other.test)) {
+ if ( (this.test == null) ? (other.test != null) : !this.test.equals( other.test ) ) {
return false;
}
return true;
@@ -83,5 +87,5 @@
hash = 41 * hash + (this.test != null ? this.test.hashCode() : 0);
return hash;
}
-
+
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityMethods.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityMethods.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityMethods.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -12,23 +12,26 @@
* @author salaboy
*/
@Entity
-public class MyEntityMethods implements Serializable {
- private static final long serialVersionUID = 1L;
-
-
- private Long id;
- private String test;
+public class MyEntityMethods
+ implements
+ Serializable {
+ private static final long serialVersionUID = 1L;
- public MyEntityMethods(){}
+ private Long id;
+ private String test;
+ public MyEntityMethods() {
+ }
+
public MyEntityMethods(String string) {
- this.test= string;
+ this.test = string;
}
/**
* @return the id
*/
- @Id @GeneratedValue(strategy=GenerationType.AUTO)
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
@@ -53,23 +56,24 @@
public void setTest(String test) {
this.test = test;
}
- public String toString(){
- return "VARIABLE: " +this.getId() + " - " + this.getTest();
+
+ public String toString() {
+ return "VARIABLE: " + this.getId() + " - " + this.getTest();
}
@Override
public boolean equals(Object obj) {
- if (obj == null) {
+ if ( obj == null ) {
return false;
}
- if (getClass() != obj.getClass()) {
+ if ( getClass() != obj.getClass() ) {
return false;
}
final MyEntityMethods other = (MyEntityMethods) obj;
- if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
+ if ( this.id != other.id && (this.id == null || !this.id.equals( other.id )) ) {
return false;
}
- if ((this.test == null) ? (other.test != null) : !this.test.equals(other.test)) {
+ if ( (this.test == null) ? (other.test != null) : !this.test.equals( other.test ) ) {
return false;
}
return true;
@@ -82,5 +86,5 @@
hash = 41 * hash + (this.test != null ? this.test.hashCode() : 0);
return hash;
}
-
+
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityOnlyFields.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityOnlyFields.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyEntityOnlyFields.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -12,38 +12,41 @@
* @author salaboy
*/
@Entity
-public class MyEntityOnlyFields implements Serializable {
+public class MyEntityOnlyFields
+ implements
+ Serializable {
+ private static final long serialVersionUID = 1L;
- private static final long serialVersionUID = 1L;
-
- @Id @GeneratedValue(strategy=GenerationType.AUTO)
- public Long id;
- public String test;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ public Long id;
+ public String test;
- public MyEntityOnlyFields(){}
+ public MyEntityOnlyFields() {
+ }
public MyEntityOnlyFields(String string) {
- this.test= string;
+ this.test = string;
}
-
- public String toString(){
+
+ public String toString() {
return "VARIABLE: " + id + " - " + test;
}
@Override
public boolean equals(Object obj) {
- if (obj == null) {
+ if ( obj == null ) {
return false;
}
- if (getClass() != obj.getClass()) {
+ if ( getClass() != obj.getClass() ) {
return false;
}
final MyEntityOnlyFields other = (MyEntityOnlyFields) obj;
- if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
+ if ( this.id != other.id && (this.id == null || !this.id.equals( other.id )) ) {
return false;
}
- if ((this.test == null) ? (other.test != null) : !this.test.equals(other.test)) {
+ if ( (this.test == null) ? (other.test != null) : !this.test.equals( other.test ) ) {
return false;
}
return true;
@@ -56,5 +59,5 @@
hash = 41 * hash + (this.test != null ? this.test.hashCode() : 0);
return hash;
}
-
+
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyVariableSerializable.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyVariableSerializable.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/MyVariableSerializable.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -6,12 +6,14 @@
*
* @author salaboy
*/
-public class MyVariableSerializable implements Serializable {
+public class MyVariableSerializable
+ implements
+ Serializable {
- private static final long serialVersionUID = 1L;
-
- private String text = "";
+ private static final long serialVersionUID = 1L;
+ private String text = "";
+
public MyVariableSerializable(String string) {
this.text = string;
}
@@ -32,14 +34,14 @@
@Override
public boolean equals(Object obj) {
- if (obj == null) {
+ if ( obj == null ) {
return false;
}
- if (getClass() != obj.getClass()) {
+ if ( getClass() != obj.getClass() ) {
return false;
}
final MyVariableSerializable other = (MyVariableSerializable) obj;
- if ((this.text == null) ? (other.text != null) : !this.text.equals(other.text)) {
+ if ( (this.text == null) ? (other.text != null) : !this.text.equals( other.text ) ) {
return false;
}
return true;
@@ -52,8 +54,8 @@
return hash;
}
- public String toString(){
- return "Serializable Variable: "+this.getText();
+ public String toString() {
+ return "Serializable Variable: " + this.getText();
}
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringPersistedVariable.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringPersistedVariable.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringPersistedVariable.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -6,6 +6,7 @@
package org.drools.container.spring.beans.persistence;
import javax.persistence.Entity;
+
import org.drools.persistence.processinstance.variabletypes.VariableInstanceInfo;
/**
@@ -29,6 +30,4 @@
this.string = string;
}
-
-
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringVariablePersister.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringVariablePersister.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/StringVariablePersister.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -19,50 +19,59 @@
*
* @author salaboy
*/
-public class StringVariablePersister implements VariablePersister {
+public class StringVariablePersister
+ implements
+ VariablePersister {
- public VariableInstanceInfo persistExternalVariable(String name, Object o, VariableInstanceInfo oldValue, Environment env) {
- if (o == null || (oldValue != null && oldValue.getPersister().equals(""))) {
+ public VariableInstanceInfo persistExternalVariable(String name,
+ Object o,
+ VariableInstanceInfo oldValue,
+ Environment env) {
+ if ( o == null || (oldValue != null && oldValue.getPersister().equals( "" )) ) {
return null;
}
- try {
+ try {
boolean newVariable = false;
- EntityManager em = (EntityManager) env.get(EnvironmentName.ENTITY_MANAGER);
+ EntityManager em = (EntityManager) env.get( EnvironmentName.ENTITY_MANAGER );
StringPersistedVariable result = null;
- if (oldValue instanceof StringPersistedVariable) {
+ if ( oldValue instanceof StringPersistedVariable ) {
result = (StringPersistedVariable) oldValue;
}
- if (result == null) {
+ if ( result == null ) {
result = new StringPersistedVariable();
newVariable = true;
}
- result.setPersister(this.getClass().getName());
- result.setName(name);
+ result.setPersister( this.getClass().getName() );
+ result.setName( name );
// entity might have changed, updating info
- result.setString((String)o);
- if (newVariable) {
- em.persist(result);
+ result.setString( (String) o );
+ if ( newVariable ) {
+ em.persist( result );
} else {
- em.merge(result);
+ em.merge( result );
}
- System.out.println("Saving StringPersistedVariable id=" + result.getId() + " string=" + result.getString() );
+ System.out.println( "Saving StringPersistedVariable id=" + result.getId() + " string=" + result.getString() );
return result;
- } catch (Throwable t) {
- Logger.getLogger(JPAVariablePersister.class.getName()).log(Level.SEVERE, null, t);
- throw new RuntimeException("Could not persist external variable", t);
+ } catch ( Throwable t ) {
+ Logger.getLogger( JPAVariablePersister.class.getName() ).log( Level.SEVERE,
+ null,
+ t );
+ throw new RuntimeException( "Could not persist external variable",
+ t );
}
}
- public Object getExternalPersistedVariable(VariableInstanceInfo variableInstanceInfo, Environment env) {
- EntityManager em = (EntityManager) env.get(EnvironmentName.ENTITY_MANAGER);
- if(((StringPersistedVariable) variableInstanceInfo) == null){
- return null;
- }else{
+ public Object getExternalPersistedVariable(VariableInstanceInfo variableInstanceInfo,
+ Environment env) {
+ EntityManager em = (EntityManager) env.get( EnvironmentName.ENTITY_MANAGER );
+ if ( ((StringPersistedVariable) variableInstanceInfo) == null ) {
+ return null;
+ } else {
- return ((StringPersistedVariable) variableInstanceInfo).getString();
- }
+ return ((StringPersistedVariable) variableInstanceInfo).getString();
+ }
}
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/TestWorkItemHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/TestWorkItemHandler.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/TestWorkItemHandler.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -4,30 +4,34 @@
import org.drools.runtime.process.WorkItemHandler;
import org.drools.runtime.process.WorkItemManager;
-public class TestWorkItemHandler implements WorkItemHandler {
+public class TestWorkItemHandler
+ implements
+ WorkItemHandler {
- private static TestWorkItemHandler INSTANCE = new TestWorkItemHandler();
-
- private WorkItem workItem;
-
- private TestWorkItemHandler() {
- }
-
- public static TestWorkItemHandler getInstance() {
- return INSTANCE;
- }
-
- public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
- this.workItem = workItem;
- }
+ private static TestWorkItemHandler INSTANCE = new TestWorkItemHandler();
- public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
- }
-
- public WorkItem getWorkItem() {
- WorkItem result = workItem;
- workItem = null;
- return result;
- }
+ private WorkItem workItem;
+ private TestWorkItemHandler() {
+ }
+
+ public static TestWorkItemHandler getInstance() {
+ return INSTANCE;
+ }
+
+ public void executeWorkItem(WorkItem workItem,
+ WorkItemManager manager) {
+ this.workItem = workItem;
+ }
+
+ public void abortWorkItem(WorkItem workItem,
+ WorkItemManager manager) {
+ }
+
+ public WorkItem getWorkItem() {
+ WorkItem result = workItem;
+ workItem = null;
+ return result;
+ }
+
}
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/VariablePersistenceStrategyTest.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/VariablePersistenceStrategyTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/beans/persistence/VariablePersistenceStrategyTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -31,276 +31,294 @@
public class VariablePersistenceStrategyTest {
- private static final String TMPDIR = System.getProperty("java.io.tmpdir");
- private static final Logger log = LoggerFactory.getLogger(JPASingleSessionCommandServiceFactoryTest.class);
- private static Server h2Server;
-
+ private static final String TMPDIR = System.getProperty( "java.io.tmpdir" );
+ private static final Logger log = LoggerFactory.getLogger( JPASingleSessionCommandServiceFactoryTest.class );
+ private static Server h2Server;
+
private ClassPathXmlApplicationContext ctx;
-
+
@BeforeClass
public static void startH2Database() throws Exception {
- DeleteDbFiles.execute("", "DroolsFlow", true);
- h2Server = Server.createTcpServer(new String[0]);
- h2Server.start();
+ DeleteDbFiles.execute( "",
+ "DroolsFlow",
+ true );
+ h2Server = Server.createTcpServer( new String[0] );
+ h2Server.start();
}
-
+
@AfterClass
public static void stopH2Database() throws Exception {
- log.info("stoping database");
- h2Server.stop();
- DeleteDbFiles.execute("", "DroolsFlow", true);
+ log.info( "stoping database" );
+ h2Server.stop();
+ DeleteDbFiles.execute( "",
+ "DroolsFlow",
+ true );
}
@Before
public void createSpringContext() {
- try {
- log.info("creating spring context");
- PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
- Properties properties = new Properties();
- properties.setProperty("temp.dir", TMPDIR);
- configurer.setProperties(properties);
- ctx = new ClassPathXmlApplicationContext();
- ctx.addBeanFactoryPostProcessor(configurer);
- ctx.setConfigLocation("org/drools/container/spring/beans/persistence/beansVarPersistence.xml");
- ctx.refresh();
- } catch (Exception e) {
- log.error("can't create spring context", e);
- throw new RuntimeException(e);
- }
+ try {
+ log.info( "creating spring context" );
+ PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
+ Properties properties = new Properties();
+ properties.setProperty( "temp.dir",
+ TMPDIR );
+ configurer.setProperties( properties );
+ ctx = new ClassPathXmlApplicationContext();
+ ctx.addBeanFactoryPostProcessor( configurer );
+ ctx.setConfigLocation( "org/drools/container/spring/beans/persistence/beansVarPersistence.xml" );
+ ctx.refresh();
+ } catch ( Exception e ) {
+ log.error( "can't create spring context",
+ e );
+ throw new RuntimeException( e );
+ }
}
-
+
@After
public void destrySpringContext() {
- log.info("destroy spring context");
- ctx.destroy();
+ log.info( "destroy spring context" );
+ ctx.destroy();
}
-
+
@Test
public void testPersistenceVariables() {
- log.info("---> get bean jpaSingleSessionCommandService");
- JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean("jpaSingleSessionCommandService");
-
- log.info("---> create new SingleSessionCommandService");
+ log.info( "---> get bean jpaSingleSessionCommandService" );
+ JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx.getBean( "jpaSingleSessionCommandService" );
+
+ log.info( "---> create new SingleSessionCommandService" );
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
-
+
int sessionId = service.getSessionId();
- log.info("---> created SingleSessionCommandService id: " + sessionId);
+ log.info( "---> created SingleSessionCommandService id: " + sessionId );
- StartProcessCommand startProcessCommand = new StartProcessCommand("com.sample.ruleflow");
- log.info("### Starting process ###");
+ StartProcessCommand startProcessCommand = new StartProcessCommand( "com.sample.ruleflow" );
+ log.info( "### Starting process ###" );
Map<String, Object> parameters = new HashMap<String, Object>();
- parameters.put("x", "SomeString");
- parameters.put("y", new MyEntity("This is a test Entity with annotation in fields"));
- parameters.put("m", new MyEntityMethods("This is a test Entity with annotations in methods"));
- parameters.put("f", new MyEntityOnlyFields("This is a test Entity with annotations in fields and without accesors methods"));
- parameters.put("z", new MyVariableSerializable("This is a test SerializableObject"));
- startProcessCommand.setParameters(parameters);
+ parameters.put( "x",
+ "SomeString" );
+ parameters.put( "y",
+ new MyEntity( "This is a test Entity with annotation in fields" ) );
+ parameters.put( "m",
+ new MyEntityMethods( "This is a test Entity with annotations in methods" ) );
+ parameters.put( "f",
+ new MyEntityOnlyFields( "This is a test Entity with annotations in fields and without accesors methods" ) );
+ parameters.put( "z",
+ new MyVariableSerializable( "This is a test SerializableObject" ) );
+ startProcessCommand.setParameters( parameters );
WorkflowProcessInstance processInstance = (WorkflowProcessInstance) service.execute( startProcessCommand );
- log.info( "Started process instance {}", processInstance.getId() );
-
+ log.info( "Started process instance {}",
+ processInstance.getId() );
+
TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
WorkItem workItem = handler.getWorkItem();
assertNotNull( workItem );
service.dispose();
-
- EntityManagerFactory emf = (EntityManagerFactory) ctx.getBean("myEmf");
-
- List<?> result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
- assertEquals(5, result.size());
- log.info("### Retrieving process instance ###");
-
- service = jpaService.loadStatefulKnowledgeSession(sessionId);
+
+ EntityManagerFactory emf = (EntityManagerFactory) ctx.getBean( "myEmf" );
+
+ List< ? > result = emf.createEntityManager().createQuery( "select i from VariableInstanceInfo i" ).getResultList();
+ assertEquals( 5,
+ result.size() );
+ log.info( "### Retrieving process instance ###" );
+
+ service = jpaService.loadStatefulKnowledgeSession( sessionId );
GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
getProcessInstanceCommand.setProcessInstanceId( processInstance.getId() );
processInstance = (WorkflowProcessInstance) service.execute( getProcessInstanceCommand );
assertNotNull( processInstance );
-
+
assertNotNull( processInstance );
- assertEquals("SomeString", processInstance.getVariable("x"));
- assertEquals("This is a test Entity with annotation in fields", ((MyEntity) processInstance.getVariable("y")).getTest());
- assertEquals("This is a test Entity with annotations in methods", ((MyEntityMethods) processInstance.getVariable("m")).getTest());
- assertEquals("This is a test Entity with annotations in fields and without accesors methods", ((MyEntityOnlyFields) processInstance.getVariable("f")).test);
- assertEquals("This is a test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("z")).getText());
- assertNull(processInstance.getVariable("a"));
- assertNull(processInstance.getVariable("b"));
- assertNull(processInstance.getVariable("c"));
-
+ assertEquals( "SomeString",
+ processInstance.getVariable( "x" ) );
+ assertEquals( "This is a test Entity with annotation in fields",
+ ((MyEntity) processInstance.getVariable( "y" )).getTest() );
+ assertEquals( "This is a test Entity with annotations in methods",
+ ((MyEntityMethods) processInstance.getVariable( "m" )).getTest() );
+ assertEquals( "This is a test Entity with annotations in fields and without accesors methods",
+ ((MyEntityOnlyFields) processInstance.getVariable( "f" )).test );
+ assertEquals( "This is a test SerializableObject",
+ ((MyVariableSerializable) processInstance.getVariable( "z" )).getText() );
+ assertNull( processInstance.getVariable( "a" ) );
+ assertNull( processInstance.getVariable( "b" ) );
+ assertNull( processInstance.getVariable( "c" ) );
+
service.dispose();
-
-// log.info("### Completing first work item ###");
-// ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
-//
-// workItem = handler.getWorkItem();
-// assertNotNull( workItem );
-//
-// log.info("### Retrieving variable instance infos ###");
-// result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
-// assertEquals(8, result.size());
-// for (Object o: result) {
-// assertTrue(VariableInstanceInfo.class.isAssignableFrom(o.getClass()));
-// log.info(o);
-// }
-//
-// log.info("### Retrieving process instance ###");
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(id, kbase, null, env);
-// processInstance = (WorkflowProcessInstance)
-// ksession.getProcessInstance(processInstance.getId());
-// assertNotNull(processInstance);
-// assertEquals("SomeString", processInstance.getVariable("x"));
-// assertEquals("This is a test Entity with annotation in fields", ((MyEntity) processInstance.getVariable("y")).getTest());
-// assertEquals("This is a test Entity with annotations in methods", ((MyEntityMethods) processInstance.getVariable("m")).getTest());
-// assertEquals("This is a test Entity with annotations in fields and without accesors methods", ((MyEntityOnlyFields) processInstance.getVariable("f")).test);
-// assertEquals("This is a test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("z")).getText());
-// assertEquals("Some new String", processInstance.getVariable("a"));
-// assertEquals("This is a new test Entity", ((MyEntity) processInstance.getVariable("b")).getTest());
-// assertEquals("This is a new test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("c")).getText());
-// log.info("### Completing second work item ###");
-// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
-//
-// workItem = handler.getWorkItem();
-// assertNotNull(workItem);
-//
-// result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
-// assertEquals(8, result.size());
-//
-// log.info("### Retrieving process instance ###");
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(id, kbase, null, env);
-// processInstance = (WorkflowProcessInstance)
-// ksession.getProcessInstance(processInstance.getId());
-// assertNotNull(processInstance);
-// assertEquals("SomeString", processInstance.getVariable("x"));
-// assertEquals("This is a test Entity with annotation in fields", ((MyEntity) processInstance.getVariable("y")).getTest());
-// assertEquals("This is a test Entity with annotations in methods", ((MyEntityMethods) processInstance.getVariable("m")).getTest());
-// assertEquals("This is a test Entity with annotations in fields and without accesors methods", ((MyEntityOnlyFields) processInstance.getVariable("f")).test);
-// assertEquals("This is a test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("z")).getText());
-// assertEquals("Some changed String", processInstance.getVariable("a"));
-// assertEquals("This is a changed test Entity", ((MyEntity) processInstance.getVariable("b")).getTest());
-// assertEquals("This is a changed test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("c")).getText());
-// log.info("### Completing third work item ###");
-// ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
-//
-// workItem = handler.getWorkItem();
-// assertNull(workItem);
-//
-// result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
-// //This was 6.. but I change it to 0 because all the variables will go away with the process instance..
-// //we need to change that to leave the variables there???
-// assertEquals(0, result.size());
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(id, kbase, null, env);
-// processInstance = (WorkflowProcessInstance)
-// ksession.getProcessInstance(processInstance.getId());
-// assertNull(processInstance);
+
+ // log.info("### Completing first work item ###");
+ // ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+ //
+ // workItem = handler.getWorkItem();
+ // assertNotNull( workItem );
+ //
+ // log.info("### Retrieving variable instance infos ###");
+ // result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
+ // assertEquals(8, result.size());
+ // for (Object o: result) {
+ // assertTrue(VariableInstanceInfo.class.isAssignableFrom(o.getClass()));
+ // log.info(o);
+ // }
+ //
+ // log.info("### Retrieving process instance ###");
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(id, kbase, null, env);
+ // processInstance = (WorkflowProcessInstance)
+ // ksession.getProcessInstance(processInstance.getId());
+ // assertNotNull(processInstance);
+ // assertEquals("SomeString", processInstance.getVariable("x"));
+ // assertEquals("This is a test Entity with annotation in fields", ((MyEntity) processInstance.getVariable("y")).getTest());
+ // assertEquals("This is a test Entity with annotations in methods", ((MyEntityMethods) processInstance.getVariable("m")).getTest());
+ // assertEquals("This is a test Entity with annotations in fields and without accesors methods", ((MyEntityOnlyFields) processInstance.getVariable("f")).test);
+ // assertEquals("This is a test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("z")).getText());
+ // assertEquals("Some new String", processInstance.getVariable("a"));
+ // assertEquals("This is a new test Entity", ((MyEntity) processInstance.getVariable("b")).getTest());
+ // assertEquals("This is a new test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("c")).getText());
+ // log.info("### Completing second work item ###");
+ // ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+ //
+ // workItem = handler.getWorkItem();
+ // assertNotNull(workItem);
+ //
+ // result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
+ // assertEquals(8, result.size());
+ //
+ // log.info("### Retrieving process instance ###");
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(id, kbase, null, env);
+ // processInstance = (WorkflowProcessInstance)
+ // ksession.getProcessInstance(processInstance.getId());
+ // assertNotNull(processInstance);
+ // assertEquals("SomeString", processInstance.getVariable("x"));
+ // assertEquals("This is a test Entity with annotation in fields", ((MyEntity) processInstance.getVariable("y")).getTest());
+ // assertEquals("This is a test Entity with annotations in methods", ((MyEntityMethods) processInstance.getVariable("m")).getTest());
+ // assertEquals("This is a test Entity with annotations in fields and without accesors methods", ((MyEntityOnlyFields) processInstance.getVariable("f")).test);
+ // assertEquals("This is a test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("z")).getText());
+ // assertEquals("Some changed String", processInstance.getVariable("a"));
+ // assertEquals("This is a changed test Entity", ((MyEntity) processInstance.getVariable("b")).getTest());
+ // assertEquals("This is a changed test SerializableObject", ((MyVariableSerializable) processInstance.getVariable("c")).getText());
+ // log.info("### Completing third work item ###");
+ // ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+ //
+ // workItem = handler.getWorkItem();
+ // assertNull(workItem);
+ //
+ // result = emf.createEntityManager().createQuery("select i from VariableInstanceInfo i").getResultList();
+ // //This was 6.. but I change it to 0 because all the variables will go away with the process instance..
+ // //we need to change that to leave the variables there???
+ // assertEquals(0, result.size());
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(id, kbase, null, env);
+ // processInstance = (WorkflowProcessInstance)
+ // ksession.getProcessInstance(processInstance.getId());
+ // assertNull(processInstance);
}
-
-// public void testPersistenceVariablesWithTypeChange() {
-// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-// kbuilder.add( new ClassPathResource( "VariablePersistenceStrategyProcessTypeChange.rf" ), ResourceType.DRF );
-// for (KnowledgeBuilderError error: kbuilder.getErrors()) {
-// log.info(error);
-// }
-// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-// kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-//
-// EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
-// Environment env = KnowledgeBaseFactory.newEnvironment();
-// env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
-//
-// env.set( EnvironmentName.GLOBALS, new MapGlobalResolver() );
-//
-// StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env );
-// int id = ksession.getId();
-//
-// Map<String, Object> parameters = new HashMap<String, Object>();
-// parameters.put("x", "SomeString");
-// parameters.put("y", new MyEntity("This is a test Entity with annotation in fields"));
-// parameters.put("m", new MyEntityMethods("This is a test Entity with annotations in methods"));
-// parameters.put("f", new MyEntityOnlyFields("This is a test Entity with annotations in fields and without accesors methods"));
-// parameters.put("z", new MyVariableSerializable("This is a test SerializableObject"));
-// ProcessInstance processInstance = ksession.startProcess( "com.sample.ruleflow", parameters );
-//
-// TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
-// WorkItem workItem = handler.getWorkItem();
-// assertNotNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNotNull( processInstance );
-// ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
-//
-// workItem = handler.getWorkItem();
-// assertNotNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNotNull( processInstance );
-// ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
-//
-// workItem = handler.getWorkItem();
-// assertNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNull( processInstance );
-// }
-//
-// public void testPersistenceVariablesSubProcess() {
-// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-// kbuilder.add( new ClassPathResource( "VariablePersistenceStrategySubProcess.rf" ), ResourceType.DRF );
-// for (KnowledgeBuilderError error: kbuilder.getErrors()) {
-// log.info("{}", error);
-// }
-// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-// kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-//
-// EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
-// Environment env = KnowledgeBaseFactory.newEnvironment();
-// env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
-//
-// env.set( EnvironmentName.GLOBALS, new MapGlobalResolver() );
-//
-// StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env );
-// int id = ksession.getId();
-//
-// Map<String, Object> parameters = new HashMap<String, Object>();
-// parameters.put("x", "SomeString");
-// parameters.put("y", new MyEntity("This is a test Entity with annotation in fields"));
-// parameters.put("m", new MyEntityMethods("This is a test Entity with annotations in methods"));
-// parameters.put("f", new MyEntityOnlyFields("This is a test Entity with annotations in fields and without accesors methods"));
-// parameters.put("z", new MyVariableSerializable("This is a test SerializableObject"));
-// ProcessInstance processInstance = ksession.startProcess( "com.sample.ruleflow", parameters );
-//
-// TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
-// WorkItem workItem = handler.getWorkItem();
-// assertNotNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNotNull( processInstance );
-// ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
-//
-// workItem = handler.getWorkItem();
-// assertNotNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNotNull( processInstance );
-// ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
-//
-// workItem = handler.getWorkItem();
-// assertNotNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNotNull( processInstance );
-// ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
-//
-// workItem = handler.getWorkItem();
-// assertNull( workItem );
-//
-// ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
-// processInstance = ksession.getProcessInstance( processInstance.getId() );
-// assertNull( processInstance );
-// }
-//
+
+ // public void testPersistenceVariablesWithTypeChange() {
+ // KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ // kbuilder.add( new ClassPathResource( "VariablePersistenceStrategyProcessTypeChange.rf" ), ResourceType.DRF );
+ // for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+ // log.info(error);
+ // }
+ // KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ // kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ //
+ // EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
+ // Environment env = KnowledgeBaseFactory.newEnvironment();
+ // env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
+ //
+ // env.set( EnvironmentName.GLOBALS, new MapGlobalResolver() );
+ //
+ // StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env );
+ // int id = ksession.getId();
+ //
+ // Map<String, Object> parameters = new HashMap<String, Object>();
+ // parameters.put("x", "SomeString");
+ // parameters.put("y", new MyEntity("This is a test Entity with annotation in fields"));
+ // parameters.put("m", new MyEntityMethods("This is a test Entity with annotations in methods"));
+ // parameters.put("f", new MyEntityOnlyFields("This is a test Entity with annotations in fields and without accesors methods"));
+ // parameters.put("z", new MyVariableSerializable("This is a test SerializableObject"));
+ // ProcessInstance processInstance = ksession.startProcess( "com.sample.ruleflow", parameters );
+ //
+ // TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
+ // WorkItem workItem = handler.getWorkItem();
+ // assertNotNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNotNull( processInstance );
+ // ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+ //
+ // workItem = handler.getWorkItem();
+ // assertNotNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNotNull( processInstance );
+ // ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+ //
+ // workItem = handler.getWorkItem();
+ // assertNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNull( processInstance );
+ // }
+ //
+ // public void testPersistenceVariablesSubProcess() {
+ // KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ // kbuilder.add( new ClassPathResource( "VariablePersistenceStrategySubProcess.rf" ), ResourceType.DRF );
+ // for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+ // log.info("{}", error);
+ // }
+ // KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ // kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ //
+ // EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
+ // Environment env = KnowledgeBaseFactory.newEnvironment();
+ // env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
+ //
+ // env.set( EnvironmentName.GLOBALS, new MapGlobalResolver() );
+ //
+ // StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env );
+ // int id = ksession.getId();
+ //
+ // Map<String, Object> parameters = new HashMap<String, Object>();
+ // parameters.put("x", "SomeString");
+ // parameters.put("y", new MyEntity("This is a test Entity with annotation in fields"));
+ // parameters.put("m", new MyEntityMethods("This is a test Entity with annotations in methods"));
+ // parameters.put("f", new MyEntityOnlyFields("This is a test Entity with annotations in fields and without accesors methods"));
+ // parameters.put("z", new MyVariableSerializable("This is a test SerializableObject"));
+ // ProcessInstance processInstance = ksession.startProcess( "com.sample.ruleflow", parameters );
+ //
+ // TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
+ // WorkItem workItem = handler.getWorkItem();
+ // assertNotNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNotNull( processInstance );
+ // ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+ //
+ // workItem = handler.getWorkItem();
+ // assertNotNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNotNull( processInstance );
+ // ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+ //
+ // workItem = handler.getWorkItem();
+ // assertNotNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNotNull( processInstance );
+ // ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+ //
+ // workItem = handler.getWorkItem();
+ // assertNull( workItem );
+ //
+ // ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ // processInstance = ksession.getProcessInstance( processInstance.getId() );
+ // assertNull( processInstance );
+ // }
+ //
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/helper/FileHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/helper/FileHelper.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/helper/FileHelper.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -3,13 +3,13 @@
import java.io.File;
public class FileHelper {
- public static void remove(File file) {
- if (file.isDirectory()) {
- File[] files = file.listFiles();
- for (File f : files) {
- remove(f);
- }
- }
- file.delete();
- }
+ public static void remove(File file) {
+ if ( file.isDirectory() ) {
+ File[] files = file.listFiles();
+ for ( File f : files ) {
+ remove( f );
+ }
+ }
+ file.delete();
+ }
}
Modified: labs/jbossrules/trunk/drools-core/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-core/META-INF/MANIFEST.MF 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-core/META-INF/MANIFEST.MF 2010-06-06 04:47:34 UTC (rev 33364)
@@ -269,15 +269,17 @@
on="5.1.0.SNAPSHOT",org.drools.process.core.context.exclusive;uses:="
org.drools.process.core.context,org.drools.process.core";version="5.1
.0.SNAPSHOT",org.drools.runtime.pipeline;version="5.1.0.SNAPSHOT",org
- .drools.runtime.help.impl;uses:="org.drools.command.runtime.process,c
- om.thoughtworks.xstream.io,com.thoughtworks.xstream.converters,com.th
- oughtworks.xstream.mapper,org.drools.command,com.thoughtworks.xstream
- .converters.collections,org.drools.common,org.drools.runtime.impl,org
- .drools.command.runtime.rule,org.drools.command.runtime,org.drools.ru
- ntime.rule.impl,org.drools.base,org.drools.rule,org.drools.spi,com.th
- oughtworks.xstream";version="5.1.0.SNAPSHOT",org.drools.io.internal;v
- ersion="5.1.0.SNAPSHOT",org.drools.concurrent;uses:="org.drools,org.d
- rools.spi";version="5.1.0.SNAPSHOT"
+ .drools.runtime.help.impl;uses:="com.thoughtworks.xstream,org.drools.
+ common,org.drools.command.runtime.process,org.drools.command.runtime,
+ org.drools.runtime.impl,org.drools.command.runtime.rule,org.drools.ru
+ ntime.rule.impl,com.thoughtworks.xstream.converters,com.thoughtworks.
+ xstream.io,com.thoughtworks.xstream.converters.reflection,com.thought
+ works.xstream.mapper,com.thoughtworks.xstream.core.util,com.thoughtwo
+ rks.xstream.converters.collections,org.drools.command,org.drools.comm
+ and.impl,com.thoughtworks.xstream.io.json,org.drools.base,org.drools.
+ rule,org.drools.spi";version="5.1.0.SNAPSHOT",org.drools.io.internal;
+ version="5.1.0.SNAPSHOT",org.drools.concurrent;uses:="org.drools,org.
+ drools.spi";version="5.1.0.SNAPSHOT"
Private-Package: .;version="5.1.0.SNAPSHOT",org.drools.reteoo.compiled
;version="5.1.0.SNAPSHOT",org.drools.reteoo.builder;version="5.1.0.SN
APSHOT",org.drools.reteoo;version="5.1.0.SNAPSHOT"
@@ -289,24 +291,25 @@
Bundle-Vendor: JBoss Inc.
DynamicImport-Package: *
Bundle-Version: 5.1.0.SNAPSHOT
-Bnd-LastModified: 1274306691563
+Bnd-LastModified: 1275721153372
Bundle-Activator: org.drools.osgi.core.Activator
Bundle-ManifestVersion: 2
Bundle-Description: A rule production system
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: com.thoughtworks.xstream,com.thoughtworks.xstream.conv
erters,com.thoughtworks.xstream.converters.collections,com.thoughtwor
- ks.xstream.io,com.thoughtworks.xstream.io.xml,com.thoughtworks.xstrea
- m.mapper,javax.management,javax.management.openmbean,javax.swing,java
- x.swing.border,javax.swing.event,javax.xml.bind,javax.xml.bind.annota
- tion,javax.xml.bind.annotation.adapters,javax.xml.parsers,org.mvel2;v
- ersion="2.0",org.mvel2.asm;version="2.0",org.mvel2.asm.util;version="
- 2.0",org.mvel2.ast;version="2.0",org.mvel2.compiler;version="2.0",org
- .mvel2.debug;version="2.0",org.mvel2.integration;version="2.0",org.mv
- el2.integration.impl;version="2.0",org.mvel2.optimizers;version="2.0"
- ,org.mvel2.templates;version="2.0",org.mvel2.util;version="2.0",org.o
- sgi.framework;version="1.5",org.w3c.dom,org.xml.sax,org.xml.sax.helpe
- rs
+ ks.xstream.converters.reflection,com.thoughtworks.xstream.core.util,c
+ om.thoughtworks.xstream.io,com.thoughtworks.xstream.io.json,com.thoug
+ htworks.xstream.io.xml,com.thoughtworks.xstream.mapper,javax.manageme
+ nt,javax.management.openmbean,javax.swing,javax.swing.border,javax.sw
+ ing.event,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.ann
+ otation.adapters,javax.xml.parsers,org.mvel2;version="2.0",org.mvel2.
+ asm;version="2.0",org.mvel2.asm.util;version="2.0",org.mvel2.ast;vers
+ ion="2.0",org.mvel2.compiler;version="2.0",org.mvel2.debug;version="2
+ .0",org.mvel2.integration;version="2.0",org.mvel2.integration.impl;ve
+ rsion="2.0",org.mvel2.optimizers;version="2.0",org.mvel2.templates;ve
+ rsion="2.0",org.mvel2.util;version="2.0",org.osgi.framework;version="
+ 1.5",org.w3c.dom,org.xml.sax,org.xml.sax.helpers
Bundle-SymbolicName: org.drools.core
Bundle-DocURL: http://www.jboss.org/
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/DecisionTableConfigurationImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/DecisionTableConfigurationImpl.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/DecisionTableConfigurationImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -28,4 +28,5 @@
public String getWorksheetName() {
return this.worksheetName;
}
+
}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/JaxbConfigurationImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/JaxbConfigurationImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/builder/conf/impl/JaxbConfigurationImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -0,0 +1,46 @@
+package org.drools.builder.conf.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.DecisionTableInputType;
+import org.drools.builder.JaxbConfiguration;
+
+import com.sun.tools.xjc.Options;
+
+public class JaxbConfigurationImpl implements JaxbConfiguration {
+
+ private Options xjcOpts;
+ private String systemId;
+
+ private List<String> classes;
+
+ public JaxbConfigurationImpl(Options xjcOpts,
+ String systemId) {
+ this.xjcOpts = xjcOpts;
+ this.systemId = systemId;
+ this.classes = new ArrayList<String>();
+ }
+
+
+ public Options getXjcOpts() {
+ return xjcOpts;
+ }
+
+
+ public String getSystemId() {
+ return systemId;
+ }
+
+
+ public List<String> getClasses() {
+ return classes;
+ }
+
+
+ public void setClasses(List<String> classes) {
+ this.classes = classes;
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-decisiontables/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/META-INF/MANIFEST.MF 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-decisiontables/META-INF/MANIFEST.MF 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,29 +1,27 @@
Manifest-Version: 1.0
-Bundle-Activator: org.drools.osgi.decisiontables.Activator
-Created-By: 1.5.0_21 (Sun Microsystems Inc.)
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Import-Package: jxl,jxl.read.biff,org.osgi.framework;version="1.5"
-Bnd-LastModified: 1266547499075
Export-Package: org.drools.decisiontable;uses:="org.drools.decisiontab
- le.parser.csv,org.drools.decisiontable.parser,org.drools.decisiontabl
- e.parser.xls";version="5.1.0.SNAPSHOT",org.drools.decisiontable.parse
- r.xls;uses:="jxl.read.biff,org.drools.decisiontable.parser,jxl";versi
- on="5.1.0.SNAPSHOT",org.drools.decisiontable.parser.csv;uses:="org.dr
- ools.decisiontable.parser";version="5.1.0.SNAPSHOT",org.drools.decisi
- ontable.parser;uses:="org.drools.decisiontable.parser.xls";version="5
- .1.0.SNAPSHOT",org.drools.osgi.decisiontables;uses:="org.drools.decis
- iontable,org.osgi.framework";version="5.1.0.SNAPSHOT"
-Bundle-Version: 5.1.0.SNAPSHOT
+ le.parser,org.drools.decisiontable.parser.csv,org.drools.decisiontabl
+ e.parser.xls";version="5.1.0.SNAPSHOT",org.drools.osgi.decisiontables
+ ;uses:="org.drools.decisiontable,org.osgi.framework";version="5.1.0.S
+ NAPSHOT",org.drools.decisiontable.parser;uses:="org.drools.decisionta
+ ble.parser.xls";version="5.1.0.SNAPSHOT",org.drools.decisiontable.par
+ ser.xls;uses:="jxl,jxl.read.biff,org.drools.decisiontable.parser";ver
+ sion="5.1.0.SNAPSHOT",org.drools.decisiontable.parser.csv;uses:="org.
+ drools.decisiontable.parser";version="5.1.0.SNAPSHOT"
+Private-Package: python-dt;version="5.1.0.SNAPSHOT"
+Tool: Bnd-0.0.357
Bundle-Name: Drools :: Decision Tables
-Bundle-Description: A rule production system
-Private-Package: .;version="5.1.0.SNAPSHOT",python-dt;version="5.1.0.S
- NAPSHOT"
-Bundle-DocURL: http://www.jboss.org/
-Originally-Created-By: 1.6.0_18 (Sun Microsystems Inc.)
+Created-By: 1.6.0_18 (Sun Microsystems Inc.)
+Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT"
Bundle-Vendor: JBoss Inc.
+DynamicImport-Package: org.drools.*
+Bundle-Version: 5.1.0.SNAPSHOT
+Bnd-LastModified: 1275721232831
+Bundle-Activator: org.drools.osgi.decisiontables.Activator
Bundle-ManifestVersion: 2
+Bundle-Description: A rule production system
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
+Import-Package: jxl,jxl.read.biff,org.osgi.framework;version="1.5"
Bundle-SymbolicName: org.drools.decisiontables;singleton:=true
-Tool: Bnd-0.0.357
-Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT"
-DynamicImport-Package: org.drools.*
+Bundle-DocURL: http://www.jboss.org/
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -7,11 +7,15 @@
import org.drools.KnowledgeBase;
import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.JaxbConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderConfiguration;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.conf.impl.JaxbConfigurationImpl;
+import com.sun.tools.xjc.Options;
+
public class KnowledgeBuilderProviderLocalClient
implements
KnowledgeBuilderFactoryService {
@@ -47,5 +51,10 @@
return KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration( properties,
classLoader );
}
+
+ public JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
+ String systemId) {
+ return KnowledgeBuilderFactory.newJaxbConfiguration( xjcOpts, systemId );
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -8,6 +8,7 @@
import org.drools.KnowledgeBase;
import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.JaxbConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderConfiguration;
import org.drools.builder.KnowledgeBuilderFactoryService;
@@ -18,6 +19,8 @@
import org.drools.grid.generic.Message;
import org.drools.grid.generic.MessageSession;
+import com.sun.tools.xjc.Options;
+
public class KnowledgeBuilderProviderRemoteClient
implements
KnowledgeBuilderFactoryService {
@@ -89,4 +92,10 @@
return null;
}
+ public JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
+ String systemId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-persistence-jpa/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/META-INF/MANIFEST.MF 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-persistence-jpa/META-INF/MANIFEST.MF 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,32 +1,34 @@
Manifest-Version: 1.0
-Created-By: 1.5.0_21 (Sun Microsystems Inc.)
+Export-Package: org.drools.persistence.jpa.grid;uses:="org.drools.pers
+ istence.processinstance,org.drools.persistence.session";version="5.1.
+ 0.SNAPSHOT",org.drools.persistence.processinstance;uses:="javax.persi
+ stence,org.drools.persistence.processinstance.variabletypes,org.hiber
+ nate.annotations,org.drools.persistence.processinstance.persisters";v
+ ersion="5.1.0.SNAPSHOT",org.drools.persistence.jpa.impl;uses:="org.dr
+ ools.persistence.processinstance,org.drools.persistence.session";vers
+ ion="5.1.0.SNAPSHOT",org.drools.persistence.processinstance.persister
+ s;uses:="org.drools.persistence.processinstance.variabletypes,javax.p
+ ersistence";version="5.1.0.SNAPSHOT",org.drools.persistence.processin
+ stance.variabletypes;uses:="javax.persistence";version="5.1.0.SNAPSHO
+ T",org.drools.persistence.osgi;uses:="org.osgi.framework,org.hibernat
+ e.ejb";version="5.1.0.SNAPSHOT",org.drools.persistence.session;uses:=
+ "javax.persistence,org.drools.persistence.processinstance,javax.trans
+ action,javax.naming";version="5.1.0.SNAPSHOT"
+Tool: Bnd-0.0.357
+Bundle-Name: Drools :: Persistence :: JPA
+Created-By: 1.6.0_18 (Sun Microsystems Inc.)
+Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT", org.d
+ rools.compiler;bundle-version="5.1.0.SNAPSHOT"
+Bundle-Vendor: JBoss Inc.
+DynamicImport-Package: *
+Bundle-Version: 5.1.0.SNAPSHOT
+Bnd-LastModified: 1275721199271
+Bundle-ManifestVersion: 2
+Bundle-Description: A rule production system
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: javax.naming,javax.persistence,javax.transaction,org.h
ibernate.annotations,org.hibernate.ejb,org.osgi.framework;version="1.
5"
-Bnd-LastModified: 1266547279496
-Export-Package: org.drools.persistence.processinstance.persisters;uses
- :="org.drools.persistence.processinstance.variabletypes,javax.persist
- ence";version="5.1.0.SNAPSHOT",org.drools.persistence.session;uses:="
- javax.persistence,org.drools.persistence.processinstance,javax.transa
- ction,javax.naming";version="5.1.0.SNAPSHOT",org.drools.persistence.p
- rocessinstance;uses:="javax.persistence,org.hibernate.annotations,org
- .drools.persistence.processinstance.variabletypes,org.drools.persiste
- nce.processinstance.persisters";version="5.1.0.SNAPSHOT",org.drools.p
- ersistence.jpa.impl;uses:="org.drools.persistence.session,org.drools.
- persistence.processinstance";version="5.1.0.SNAPSHOT",org.drools.pers
- istence.processinstance.variabletypes;uses:="javax.persistence";versi
- on="5.1.0.SNAPSHOT",org.drools.persistence.osgi;uses:="org.hibernate.
- ejb,org.osgi.framework";version="5.1.0.SNAPSHOT"
-Bundle-Version: 5.1.0.SNAPSHOT
-Bundle-Name: Drools :: Persistence :: JPA
-Bundle-Description: A rule production system
+Bundle-SymbolicName: org.drools.persistence-jpa
Bundle-DocURL: http://www.jboss.org/
-Bundle-Vendor: JBoss Inc.
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.drools.persistence-jpa
-Tool: Bnd-0.0.357
-Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT", org.d
- rools.compiler;bundle-version="5.1.0.SNAPSHOT"
-DynamicImport-Package: *
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/DroolsJaxbHelperProviderImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,343 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-/*
- * Copyright 2005 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.ByteArrayOutputStream;
-import java.io.FilterOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-
-import org.drools.KnowledgeBase;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.help.DroolsJaxbHelperProvider;
-import org.drools.builder.impl.KnowledgeBuilderImpl;
-import org.drools.command.runtime.BatchExecutionCommand;
-import org.drools.command.runtime.GetGlobalCommand;
-import org.drools.command.runtime.SetGlobalCommand;
-import org.drools.command.runtime.process.AbortWorkItemCommand;
-import org.drools.command.runtime.process.SignalEventCommand;
-import org.drools.command.runtime.process.StartProcessCommand;
-import org.drools.command.runtime.rule.FireAllRulesCommand;
-import org.drools.command.runtime.rule.InsertElementsCommand;
-import org.drools.command.runtime.rule.InsertObjectCommand;
-import org.drools.command.runtime.rule.ModifyCommand;
-import org.drools.command.runtime.rule.QueryCommand;
-import org.drools.command.runtime.rule.RetractCommand;
-import org.drools.command.runtime.rule.ModifyCommand.SetterImpl;
-import org.drools.common.DefaultFactHandle;
-import org.drools.common.DisconnectedFactHandle;
-import org.drools.common.InternalRuleBase;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageRegistry;
-import org.drools.impl.KnowledgeBaseImpl;
-import org.drools.io.Resource;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.rule.builder.dialect.java.JavaDialect;
-import org.drools.runtime.impl.ExecutionResultImpl;
-import org.drools.runtime.rule.impl.FlatQueryResults;
-import org.drools.xml.jaxb.util.JaxbListWrapper;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXParseException;
-
-import com.sun.codemodel.CodeWriter;
-import com.sun.codemodel.JCodeModel;
-import com.sun.codemodel.JPackage;
-import com.sun.tools.xjc.BadCommandLineException;
-import com.sun.tools.xjc.ErrorReceiver;
-import com.sun.tools.xjc.ModelLoader;
-import com.sun.tools.xjc.Options;
-import com.sun.tools.xjc.model.Model;
-
-public class DroolsJaxbHelperProviderImpl
- implements
- DroolsJaxbHelperProvider {
-
- private static final String[] JAXB_ANNOTATED_CMD = {BatchExecutionCommand.class.getName(),
- SetGlobalCommand.class.getName(),
- GetGlobalCommand.class.getName(),
- FireAllRulesCommand.class.getName(),
- InsertElementsCommand.class.getName(),
- InsertObjectCommand.class.getName(),
- ModifyCommand.class.getName(),
- SetterImpl.class.getName(),
- QueryCommand.class.getName(),
- RetractCommand.class.getName(),
- AbortWorkItemCommand.class.getName(),
- SignalEventCommand.class.getName(),
- StartProcessCommand.class.getName(),
- BatchExecutionCommand.class.getName(),
- ExecutionResultImpl.class.getName() ,
- DefaultFactHandle.class.getName(),
- JaxbListWrapper.class.getName(),
- DisconnectedFactHandle.class.getName(),
- FlatQueryResults.class.getName()
- };
-
- public String[] addXsdModel(Resource resource,
- KnowledgeBuilder kbuilder,
- Options xjcOpts,
- String systemId) throws IOException {
- PackageBuilder pkgBuilder = ((KnowledgeBuilderImpl) kbuilder).pkgBuilder;
-
- InputSource source = new InputSource( new CachingRewindableReader( resource.getReader() ) );
- source.setSystemId( systemId.trim().startsWith( "." ) ? systemId : "." + systemId );
-
- xjcOpts.addGrammar( source );
-
- try {
- xjcOpts.parseArguments( new String[]{"-npa"} );
- } catch ( BadCommandLineException e ) {
- throw new IllegalArgumentException( "Unable to parse arguments",
- e );
- }
-
- ErrorReceiver errorReceiver = new JaxbErrorReceiver4Drools();
-
- Model model = ModelLoader.load( xjcOpts,
- new JCodeModel(),
- errorReceiver );
-
- model.generateCode( xjcOpts, errorReceiver );
-
- MapVfsCodeWriter codeWriter = new MapVfsCodeWriter();
- model.codeModel.build( xjcOpts.createCodeWriter( codeWriter ) );
-
- List<String> classNames = new ArrayList<String>();
- for ( Entry<String, byte[]> entry : codeWriter.getMap().entrySet() ) {
- String name = entry.getKey();
- //if (name.endsWith("ObjectFactory.java")) {
- // continue;
- //}
-
- String pkgName = null;
- int dotPos = name.lastIndexOf( '.' );
- pkgName = name.substring( 0,
- dotPos );
-
- if ( !name.endsWith( "package-info.java" ) ) {
- classNames.add( pkgName );
- }
-
- dotPos = pkgName.lastIndexOf( '.' );
- if ( dotPos != -1 ) {
- pkgName = pkgName.substring( 0,
- dotPos );
- }
-
- PackageRegistry pkgReg = pkgBuilder.getPackageRegistry( pkgName );
- if ( pkgReg == null ) {
- pkgBuilder.addPackage( new PackageDescr( pkgName ) );
- pkgReg = pkgBuilder.getPackageRegistry( pkgName );
- }
-
- JavaDialect dialect = (JavaDialect) pkgReg.getDialectCompiletimeRegistry().getDialect( "java" );
- dialect.addSrc( convertToResource( entry.getKey() ),
- entry.getValue() );
- }
-
- pkgBuilder.compileAll();
- pkgBuilder.updateResults();
-
- return classNames.toArray( new String[classNames.size()] );
- }
-
- public JAXBContext newJAXBContext(String[] classNames,
- KnowledgeBase kbase) throws JAXBException {
- return newJAXBContext( classNames,
- Collections.<String, Object> emptyMap(),
- kbase );
- }
-
- public JAXBContext newJAXBContext(String[] classNames,
- Map<String, ? > properties,
- KnowledgeBase kbase) throws JAXBException {
- ClassLoader classLoader = ((InternalRuleBase) ((KnowledgeBaseImpl) kbase)
- .getRuleBase()).getRootClassLoader();
- int i = 0;
- try {
- Class<?>[] classes = new Class[classNames.length
- + JAXB_ANNOTATED_CMD.length];
-
- for (i = 0; i < classNames.length; i++) {
- classes[i] = classLoader.loadClass(classNames[i]);
- }
- int j = 0;
- for (i = classNames.length; i < classes.length; i++, j++) {
- classes[i] = classLoader.loadClass(JAXB_ANNOTATED_CMD[j]);
- }
- return JAXBContext.newInstance(classes, properties);
- } catch (ClassNotFoundException e) {
- throw new JAXBException("Unable to resolve class '" + classNames[i] + "'", e);
- }
- }
-
- private static String convertToResource(String string) {
- int lastDot = string.lastIndexOf( '.' );
- return string.substring( 0,
- lastDot ).replace( '.',
- '/' ) + string.substring( lastDot,
- string.length() );
- }
-
- public static class MapVfsCodeWriter extends CodeWriter {
-
- private final Map<String, byte[]> map;
-
- private ByteArrayOutputStream currentBaos;
- private String currentPath;
-
- public MapVfsCodeWriter() {
- this.map = new LinkedHashMap<String, byte[]>();
- }
-
- public OutputStream openBinary(JPackage pkg,
- String fileName) throws IOException {
- String pkgName = pkg.name();
-
- if ( pkgName.length() != 0 ) {
- pkgName += '.';
- }
-
- if ( this.currentBaos != null ) {
- this.currentBaos.close();
- this.map.put( this.currentPath,
- this.currentBaos.toByteArray() );
- }
-
- this.currentPath = pkgName + fileName;
- this.currentBaos = new ByteArrayOutputStream();
-
- return new FilterOutputStream( this.currentBaos ) {
- public void close() {
- // don't let this stream close
- }
- };
- }
-
- public void close() throws IOException {
- if ( this.currentBaos != null ) {
- this.currentBaos.close();
- this.map.put( this.currentPath,
- this.currentBaos.toByteArray() );
- }
- }
-
- public Map<String, byte[]> getMap() {
- return this.map;
- }
-
- }
-
- public static class JaxbErrorReceiver4Drools extends ErrorReceiver {
-
- public String stage = "processing";
-
- public void warning(SAXParseException e) {
- e.printStackTrace();
- }
-
- public void error(SAXParseException e) {
- e.printStackTrace();
- }
-
- public void fatalError(SAXParseException e) {
- e.printStackTrace();
- }
-
- public void info(SAXParseException e) {
- e.printStackTrace();
- }
- }
-
- public static class CachingRewindableReader extends Reader {
- private Reader source;
- private boolean sourceClosed;
- private RewindableStringReader cache;
- private StringBuilder strBuilder;
-
- public CachingRewindableReader(Reader source) {
- this.source = source;
- this.strBuilder = new StringBuilder();
- }
-
- public int read(char[] cbuf,
- int off,
- int len) throws IOException {
- int value = 0;
- if ( this.cache == null ) {
- value = this.source.read( cbuf,
- off,
- len );
- if ( value != -1 ) {
- // keep appening to the stringBuilder until we are at the end
- this.strBuilder.append( cbuf,
- off,
- value );
- } else {
- // we are at the end, so switch to cache
- this.cache = new RewindableStringReader( strBuilder.toString() );
- }
- } else {
- value = this.cache.read( cbuf,
- off,
- len );
- }
- return value;
- }
-
- public void close() throws IOException {
- if ( !sourceClosed ) {
- // close the source, we only do this once.
- this.source.close();
- this.sourceClosed = true;
- }
-
- if ( cache == null ) {
- // switch to cache if we haven't already
- this.cache = new RewindableStringReader( strBuilder.toString() );
- } else {
- // reset the cache, so it can be read again.
- this.cache.reset();
- }
- }
- }
-
- public static class RewindableStringReader extends StringReader {
- public RewindableStringReader(String s) {
- super( s );
- }
-
- public void close() {
- try {
- reset();
- } catch ( IOException e ) {
- e.printStackTrace();
- }
- }
- }
-}
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbFactTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbFactTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbFactTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -11,6 +11,7 @@
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.JaxbConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
@@ -35,11 +36,11 @@
xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd",
- getClass() ),
- kbuilder,
- xjcOpts,
- "xsd" );
+ JaxbConfiguration jaxbConf = KnowledgeBuilderFactory.newJaxbConfiguration( xjcOpts, "xsd" );
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "order.xsd",
+ getClass() ), ResourceType.XSD,
+ jaxbConf );
assertFalse( kbuilder.hasErrors() );
@@ -61,8 +62,9 @@
KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
insertStage.setReceiver( executeResultHandler );
- JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
- kbase );
+ JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( jaxbConf.getClasses().toArray( new String[jaxbConf.getClasses().size()] ),
+ kbase );
+
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
transformer.setReceiver( insertStage );
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbGlobalTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbGlobalTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbGlobalTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -12,6 +12,7 @@
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.JaxbConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
@@ -38,11 +39,11 @@
xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd",
- getClass() ),
- kbuilder,
- xjcOpts,
- "xsd" );
+ JaxbConfiguration jaxbConf = KnowledgeBuilderFactory.newJaxbConfiguration( xjcOpts, "xsd" );
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "order.xsd",
+ getClass() ), ResourceType.XSD,
+ jaxbConf );
assertFalse( kbuilder.hasErrors() );
@@ -61,8 +62,9 @@
KnowledgeRuntimeCommand setGlobalStage = PipelineFactory.newStatefulKnowledgeSessionSetGlobal( "order" );
- JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
- kbase );
+ JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( jaxbConf.getClasses().toArray( new String[jaxbConf.getClasses().size()] ),
+ kbase );
+
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
transformer.setReceiver(setGlobalStage );
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/JaxbTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -28,6 +28,7 @@
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.JaxbConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
@@ -78,13 +79,13 @@
Options xjcOpts = new Options();
xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ JaxbConfiguration jaxbConf = KnowledgeBuilderFactory.newJaxbConfiguration( xjcOpts, "xsd" );
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "order.xsd",
+ getClass() ), ResourceType.XSD,
+ jaxbConf );
- String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd",
- getClass() ),
- kbuilder,
- xjcOpts,
- "xsd" );
-
assertFalse( kbuilder.hasErrors() );
kbuilder.add( ResourceFactory.newClassPathResource( "test_Jaxb.drl",
@@ -104,8 +105,8 @@
KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
insertStage.setReceiver( executeResultHandler );
- JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
- kbase );
+ JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( jaxbConf.getClasses().toArray( new String[jaxbConf.getClasses().size()] ),
+ kbase );
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
transformer.setReceiver( insertStage );
@@ -136,11 +137,11 @@
xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd",
- getClass() ),
- kbuilder,
- xjcOpts,
- "xsd" );
+ JaxbConfiguration jaxbConf = KnowledgeBuilderFactory.newJaxbConfiguration( xjcOpts, "xsd" );
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "order.xsd",
+ getClass() ), ResourceType.XSD,
+ jaxbConf );
assertFalse( kbuilder.hasErrors() );
@@ -170,8 +171,9 @@
Expression expression = PipelineFactory.newMvelExpression( "this.orderItem" );
expression.setReceiver( splitter );
- JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
- kbase );
+ JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( jaxbConf.getClasses().toArray( new String[jaxbConf.getClasses().size()] ),
+ kbase );
+
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
transformer.setReceiver( expression );
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -19,61 +19,68 @@
public class JBossPackageScanClassResolver extends DefaultPackageScanClassResolver {
@Override
- protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
- if (log.isTraceEnabled()) {
- log.trace("Searching for: " + test + " in package: " + packageName
- + " using classloader: " + loader.getClass().getName());
+ protected void find(PackageScanFilter test,
+ String packageName,
+ ClassLoader loader,
+ Set<Class< ? >> classes) {
+ if ( log.isTraceEnabled() ) {
+ log.trace( "Searching for: " + test + " in package: " + packageName + " using classloader: " + loader.getClass().getName() );
}
Enumeration<URL> urls;
try {
- urls = getResources(loader, packageName);
- if (!urls.hasMoreElements()) {
- log.trace("No URLs returned by classloader");
+ urls = getResources( loader,
+ packageName );
+ if ( !urls.hasMoreElements() ) {
+ log.trace( "No URLs returned by classloader" );
}
- }
- catch (IOException ioe) {
- log.warn("Could not read package: " + packageName, ioe);
+ } catch ( IOException ioe ) {
+ log.warn( "Could not read package: " + packageName,
+ ioe );
return;
}
- while (urls.hasMoreElements()) {
+ while ( urls.hasMoreElements() ) {
URL url = null;
try {
url = urls.nextElement();
- if (log.isTraceEnabled()) {
- log.trace("URL from classloader: " + url);
+ if ( log.isTraceEnabled() ) {
+ log.trace( "URL from classloader: " + url );
}
- VirtualFile root = VFS.getRoot(url);
- root.visit(new MatchingClassVisitor(test, classes));
+ VirtualFile root = VFS.getRoot( url );
+ root.visit( new MatchingClassVisitor( test,
+ classes ) );
+ } catch ( IOException ioe ) {
+ log.warn( "Could not read entries in url: " + url,
+ ioe );
}
- catch (IOException ioe) {
- log.warn("Could not read entries in url: " + url, ioe);
- }
}
}
private class MatchingClassVisitor extends AbstractVirtualFileVisitor {
private PackageScanFilter filter;
- private Set<Class<?>> classes;
+ private Set<Class< ? >> classes;
- private MatchingClassVisitor(PackageScanFilter filter, Set<Class<?>> classes) {
- super(VisitorAttributes.RECURSE_LEAVES_ONLY);
+ private MatchingClassVisitor(PackageScanFilter filter,
+ Set<Class< ? >> classes) {
+ super( VisitorAttributes.RECURSE_LEAVES_ONLY );
this.filter = filter;
this.classes = classes;
}
public void visit(VirtualFile file) {
- if (file.getName().endsWith(".class")) {
+ if ( file.getName().endsWith( ".class" ) ) {
String fqn = file.getPathName();
String qn;
- if (fqn.indexOf("jar/") != -1) {
- qn = fqn.substring(fqn.indexOf("jar/") + 4);
+ if ( fqn.indexOf( "jar/" ) != -1 ) {
+ qn = fqn.substring( fqn.indexOf( "jar/" ) + 4 );
} else {
- qn = fqn.substring(fqn.indexOf("/") + 1);
+ qn = fqn.substring( fqn.indexOf( "/" ) + 1 );
}
- addIfMatching(filter, qn, classes);
+ addIfMatching( filter,
+ qn,
+ classes );
}
}
}
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -19,37 +19,38 @@
*/
@Path("/rest")
public class KnowledgeServiceRest {
-
- private static Logger logger = LoggerFactory.getLogger(KnowledgeServiceRest.class);
- private KnowledgeService service;
-
- @POST()
- @Path("/execute")
- public Response execute(@FormParam("command") String command) {
- if (command==null || command.length()==0) {
- logger.error("Invalid or null command " + command);
- return Response.status(Status.BAD_REQUEST).build();
- }
- String response;
- try {
- response = getService().executeCommand(command);
- } catch (CheckedDroolsException e) {
- logger.error(e.getMessage());
- return Response.status(Status.BAD_REQUEST).build();
- } catch (Exception e) {
- logger.error(e.getMessage());
- return Response.status(Status.CONFLICT).build();
- }
- ResponseBuilder builder = Response.ok(response, "application/xml");
+
+ private static Logger logger = LoggerFactory.getLogger( KnowledgeServiceRest.class );
+ private KnowledgeService service;
+
+ @POST()
+ @Path("/execute")
+ public Response execute(@FormParam("command") String command) {
+ if ( command == null || command.length() == 0 ) {
+ logger.error( "Invalid or null command " + command );
+ return Response.status( Status.BAD_REQUEST ).build();
+ }
+ String response;
+ try {
+ response = getService().executeCommand( command );
+ } catch ( CheckedDroolsException e ) {
+ logger.error( e.getMessage() );
+ return Response.status( Status.BAD_REQUEST ).build();
+ } catch ( Exception e ) {
+ logger.error( e.getMessage() );
+ return Response.status( Status.CONFLICT ).build();
+ }
+ ResponseBuilder builder = Response.ok( response,
+ "application/xml" );
return builder.build();
- }
+ }
- public void setService(KnowledgeService service) {
- this.service = service;
- }
+ public void setService(KnowledgeService service) {
+ this.service = service;
+ }
- public KnowledgeService getService() {
- return service;
- }
-
+ public KnowledgeService getService() {
+ return service;
+ }
+
}
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -8,6 +8,6 @@
@WebService
public interface KnowledgeServiceSoap {
- String execute(@WebParam(name="command") String command) throws CheckedDroolsException;
+ String execute(@WebParam(name = "command") String command) throws CheckedDroolsException;
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -6,29 +6,31 @@
import org.drools.server.KnowledgeService;
@WebService(endpointInterface = "org.drools.server.service.KnowledgeServiceSoap", serviceName = "knowledgeService")
-public class KnowledgeServiceSoapImpl implements KnowledgeServiceSoap {
+public class KnowledgeServiceSoapImpl
+ implements
+ KnowledgeServiceSoap {
- private KnowledgeService service;
-
- public String execute(String command) throws CheckedDroolsException {
- if (command==null || command.length()==0) {
- throw new CheckedDroolsException("Invalid or null command");
- }
- String response = null;
- try {
- response = getService().executeCommand(command);
- } catch (Exception e) {
- throw new CheckedDroolsException(e.getMessage());
- }
+ private KnowledgeService service;
+
+ public String execute(String command) throws CheckedDroolsException {
+ if ( command == null || command.length() == 0 ) {
+ throw new CheckedDroolsException( "Invalid or null command" );
+ }
+ String response = null;
+ try {
+ response = getService().executeCommand( command );
+ } catch ( Exception e ) {
+ throw new CheckedDroolsException( e.getMessage() );
+ }
return response;
- }
+ }
- public void setService(KnowledgeService service) {
- this.service = service;
- }
+ public void setService(KnowledgeService service) {
+ this.service = service;
+ }
- public KnowledgeService getService() {
- return service;
- }
+ public KnowledgeService getService() {
+ return service;
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -8,42 +8,43 @@
*/
@XmlRootElement
public class Person {
- private String name;
- private Integer age;
+ private String name;
+ private Integer age;
- public Person() {
- }
+ public Person() {
+ }
- public Person(String name) {
- super();
- this.name = name;
- }
+ public Person(String name) {
+ super();
+ this.name = name;
+ }
- public Person(String name, int age) {
- super();
- this.name = name;
- this.age = age;
- }
+ public Person(String name,
+ int age) {
+ super();
+ this.name = name;
+ this.age = age;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
- public void setName(String name) {
- this.name = name;
- }
+ public void setName(String name) {
+ this.name = name;
+ }
- public void setAge(Integer age) {
- this.age = age;
- }
+ public void setAge(Integer age) {
+ this.age = age;
+ }
- public Integer getAge() {
- return age;
- }
+ public Integer getAge() {
+ return age;
+ }
- @Override
- public String toString() {
- return "Person [age=" + age + ", name=" + name + "]";
- }
-
+ @Override
+ public String toString() {
+ return "Person [age=" + age + ", name=" + name + "]";
+ }
+
}
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -4,45 +4,45 @@
public abstract class KnowledgeServiceBaseTest extends TestCase {
- public String getJaxbCommand() throws Exception {
- String cmd = "";
- cmd += "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
- cmd += "<batch-execution lookup='ksession1' xmlns:ns2='http://drools.org/model'>\n";
- cmd += " <insert out-identifier='lucaz'>\n";
- cmd += " <object xsi:type='ns2:person' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n";
- cmd += " <ns2:name>lucaz</ns2:name>\n";
- cmd += " <ns2:age>25</ns2:age>\n";
- cmd += " </object>\n";
- cmd += " </insert>\n";
- cmd += " <insert out-identifier='baunax'>\n";
- cmd += " <object xsi:type='ns2:person' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n";
- cmd += " <ns2:name>baunax</ns2:name>\n";
- cmd += " <ns2:age>21</ns2:age>\n";
- cmd += " </object>\n";
- cmd += " </insert>\n";
- cmd += " <query name='persons' out-identifier='persons'/>\n";
- cmd += " <fire-all-rules max='-1'/>\n";
- cmd += "</batch-execution>\n";
- return cmd;
- }
-
- public String getXStreamCommand() {
- String cmd = "";
- cmd += "<batch-execution lookup='ksession2'>\n";
- cmd += " <insert out-identifier='baunax'>\n";
- cmd += " <org.drools.pipeline.camel.server.Person>\n";
- cmd += " <name>baunax</name>\n";
- cmd += " </org.drools.pipeline.camel.server.Person>\n";
- cmd += " </insert>\n";
- cmd += " <insert out-identifier='lucaz'>\n";
- cmd += " <org.drools.pipeline.camel.server.Person>\n";
- cmd += " <name>lucaz</name>\n";
- cmd += " </org.drools.pipeline.camel.server.Person>\n";
- cmd += " </insert>\n";
- cmd += " <query name='persons' out-identifier='persons'/>\n";
- cmd += " <fire-all-rules/>\n";
- cmd += "</batch-execution>\n";
- return cmd;
- }
-
+ public String getJaxbCommand() throws Exception {
+ String cmd = "";
+ cmd += "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
+ cmd += "<batch-execution lookup='ksession1' xmlns:ns2='http://drools.org/model'>\n";
+ cmd += " <insert out-identifier='lucaz'>\n";
+ cmd += " <object xsi:type='ns2:person' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n";
+ cmd += " <ns2:name>lucaz</ns2:name>\n";
+ cmd += " <ns2:age>25</ns2:age>\n";
+ cmd += " </object>\n";
+ cmd += " </insert>\n";
+ cmd += " <insert out-identifier='baunax'>\n";
+ cmd += " <object xsi:type='ns2:person' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n";
+ cmd += " <ns2:name>baunax</ns2:name>\n";
+ cmd += " <ns2:age>21</ns2:age>\n";
+ cmd += " </object>\n";
+ cmd += " </insert>\n";
+ cmd += " <query name='persons' out-identifier='persons'/>\n";
+ cmd += " <fire-all-rules max='-1'/>\n";
+ cmd += "</batch-execution>\n";
+ return cmd;
+ }
+
+ public String getXStreamCommand() {
+ String cmd = "";
+ cmd += "<batch-execution lookup='ksession2'>\n";
+ cmd += " <insert out-identifier='baunax'>\n";
+ cmd += " <org.drools.pipeline.camel.server.Person>\n";
+ cmd += " <name>baunax</name>\n";
+ cmd += " </org.drools.pipeline.camel.server.Person>\n";
+ cmd += " </insert>\n";
+ cmd += " <insert out-identifier='lucaz'>\n";
+ cmd += " <org.drools.pipeline.camel.server.Person>\n";
+ cmd += " <name>lucaz</name>\n";
+ cmd += " </org.drools.pipeline.camel.server.Person>\n";
+ cmd += " </insert>\n";
+ cmd += " <query name='persons' out-identifier='persons'/>\n";
+ cmd += " <fire-all-rules/>\n";
+ cmd += "</batch-execution>\n";
+ return cmd;
+ }
+
}
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -15,84 +15,92 @@
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
- at ContextConfiguration(locations = { "classpath:configuration-test.xml" })
+ at ContextConfiguration(locations = {"classpath:configuration-test.xml"})
public class KnowledgeServiceRestTest extends KnowledgeServiceBaseTest {
- @Autowired
- @Qualifier("knowledgeServiceRestImpl")
- protected KnowledgeServiceRest proxy;
+ @Autowired
+ @Qualifier("knowledgeServiceRestImpl")
+ protected KnowledgeServiceRest proxy;
- @Test
- public void testInvalidCommand() throws Exception {
- Response response = proxy.execute("asdsad");
- assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
- }
+ @Test
+ public void testInvalidCommand() throws Exception {
+ Response response = proxy.execute( "asdsad" );
+ assertEquals( Status.BAD_REQUEST.getStatusCode(),
+ response.getStatus() );
+ }
- @Test
- public void testInvalidProfile() throws Exception {
- Response response = proxy.execute("unknow profile");
- assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
- }
+ @Test
+ public void testInvalidProfile() throws Exception {
+ Response response = proxy.execute( "unknow profile" );
+ assertEquals( Status.BAD_REQUEST.getStatusCode(),
+ response.getStatus() );
+ }
- @Test
- public void testJaxbInsertCommand() throws Exception {
- String cmd = getJaxbCommand();
+ @Test
+ public void testJaxbInsertCommand() throws Exception {
+ String cmd = getJaxbCommand();
- Response response = proxy.execute(cmd);
+ Response response = proxy.execute( cmd );
- assertEquals(200, response.getStatus());
+ assertEquals( 200,
+ response.getStatus() );
- String XMLoutput = (String) response.getEntity();
+ String XMLoutput = (String) response.getEntity();
- assertTrue(XMLoutput.indexOf("<ns2:name>santa</ns2:name>") > -1);
- assertTrue(XMLoutput.indexOf("<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- assertTrue(XMLoutput.indexOf("<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- }
+ assertTrue( XMLoutput.indexOf( "<ns2:name>santa</ns2:name>" ) > -1 );
+ assertTrue( XMLoutput.indexOf( "<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
+ assertTrue( XMLoutput.indexOf( "<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
+ }
- @Test
- public void testXStreamInsertCommand() throws Exception {
- String cmd = getXStreamCommand();
- Response response = proxy.execute(cmd);
- assertEquals(200, response.getStatus());
+ @Test
+ public void testXStreamInsertCommand() throws Exception {
+ String cmd = getXStreamCommand();
+ Response response = proxy.execute( cmd );
+ assertEquals( 200,
+ response.getStatus() );
- String XMLoutput = (String) response.getEntity();
+ String XMLoutput = (String) response.getEntity();
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(XMLoutput);
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( XMLoutput );
- assertNotNull(result.getFactHandle("lucaz"));
+ assertNotNull( result.getFactHandle( "lucaz" ) );
- FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
- assertEquals(2, personsQuery.size());
- }
+ FlatQueryResults personsQuery = (FlatQueryResults) result.getValue( "persons" );
+ assertEquals( 2,
+ personsQuery.size() );
+ }
- @Test
- public void testBothsessions() throws Exception {
- String cmd = getJaxbCommand();
+ @Test
+ public void testBothsessions() throws Exception {
+ String cmd = getJaxbCommand();
- Response response = proxy.execute(cmd);
+ Response response = proxy.execute( cmd );
- assertEquals(200, response.getStatus());
+ assertEquals( 200,
+ response.getStatus() );
- String XMLoutput = (String) response.getEntity();
+ String XMLoutput = (String) response.getEntity();
- assertTrue(XMLoutput.indexOf("<ns2:name>santa</ns2:name>") > -1);
- assertTrue(XMLoutput.indexOf("<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- assertTrue(XMLoutput.indexOf("<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
+ assertTrue( XMLoutput.indexOf( "<ns2:name>santa</ns2:name>" ) > -1 );
+ assertTrue( XMLoutput.indexOf( "<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
+ assertTrue( XMLoutput.indexOf( "<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
- cmd = getXStreamCommand();
+ cmd = getXStreamCommand();
- response = proxy.execute(cmd);
+ response = proxy.execute( cmd );
- assertEquals(200, response.getStatus());
+ assertEquals( 200,
+ response.getStatus() );
- XMLoutput = (String) response.getEntity();
+ XMLoutput = (String) response.getEntity();
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(XMLoutput);
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( XMLoutput );
- assertNotNull(result.getFactHandle("lucaz"));
+ assertNotNull( result.getFactHandle( "lucaz" ) );
- FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
- assertEquals(2, personsQuery.size());
- }
+ FlatQueryResults personsQuery = (FlatQueryResults) result.getValue( "persons" );
+ assertEquals( 2,
+ personsQuery.size() );
+ }
}
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -12,57 +12,59 @@
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
- at ContextConfiguration(locations = { "classpath:configuration-test.xml" })
+ at ContextConfiguration(locations = {"classpath:configuration-test.xml"})
public class KnowledgeServiceSoapTest extends KnowledgeServiceBaseTest {
- @Autowired
- @Qualifier("knowledgeServiceSoapImpl")
- protected KnowledgeServiceSoap proxy;
+ @Autowired
+ @Qualifier("knowledgeServiceSoapImpl")
+ protected KnowledgeServiceSoap proxy;
- @Test
- public void testJaxbInsertCommand() throws Exception {
- String cmd = getJaxbCommand();
+ @Test
+ public void testJaxbInsertCommand() throws Exception {
+ String cmd = getJaxbCommand();
- String response = proxy.execute(cmd);
+ String response = proxy.execute( cmd );
- assertTrue(response.indexOf("<ns2:name>santa</ns2:name>") > -1);
- assertTrue(response.indexOf("<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- assertTrue(response.indexOf("<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- }
+ assertTrue( response.indexOf( "<ns2:name>santa</ns2:name>" ) > -1 );
+ assertTrue( response.indexOf( "<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
+ assertTrue( response.indexOf( "<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
+ }
- @Test
- public void testXStreamInsertCommand() throws Exception {
- String cmd = getXStreamCommand();
- String response = proxy.execute(cmd);
+ @Test
+ public void testXStreamInsertCommand() throws Exception {
+ String cmd = getXStreamCommand();
+ String response = proxy.execute( cmd );
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(response);
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( response );
- assertNotNull(result.getFactHandle("lucaz"));
+ assertNotNull( result.getFactHandle( "lucaz" ) );
- FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
- assertEquals(2, personsQuery.size());
- }
+ FlatQueryResults personsQuery = (FlatQueryResults) result.getValue( "persons" );
+ assertEquals( 2,
+ personsQuery.size() );
+ }
- @Test
- public void testBothsessions() throws Exception {
- String cmd = getJaxbCommand();
+ @Test
+ public void testBothsessions() throws Exception {
+ String cmd = getJaxbCommand();
- String response = proxy.execute(cmd);
+ String response = proxy.execute( cmd );
- assertTrue(response.indexOf("<ns2:name>santa</ns2:name>") > -1);
- assertTrue(response.indexOf("<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- assertTrue(response.indexOf("<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
+ assertTrue( response.indexOf( "<ns2:name>santa</ns2:name>" ) > -1 );
+ assertTrue( response.indexOf( "<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
+ assertTrue( response.indexOf( "<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"" ) > -1 );
- cmd = getXStreamCommand();
+ cmd = getXStreamCommand();
- response = proxy.execute(cmd);
+ response = proxy.execute( cmd );
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(response);
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( response );
- assertNotNull(result.getFactHandle("lucaz"));
+ assertNotNull( result.getFactHandle( "lucaz" ) );
- FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
- assertEquals(2, personsQuery.size());
- }
+ FlatQueryResults personsQuery = (FlatQueryResults) result.getValue( "persons" );
+ assertEquals( 2,
+ personsQuery.size() );
+ }
}
Modified: labs/jbossrules/trunk/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java 2010-06-06 04:47:34 UTC (rev 33364)
@@ -22,107 +22,113 @@
* @author Lucas Amador
*
*/
-public class KnowledgeServiceImpl implements KnowledgeService {
+public class KnowledgeServiceImpl
+ implements
+ KnowledgeService {
- private static final Logger LOG = LoggerFactory.getLogger(KnowledgeServiceImpl.class);
+ private static final Logger LOG = LoggerFactory.getLogger( KnowledgeServiceImpl.class );
- private CamelContext camelContext;
- private ProducerTemplate template;
- private Map<String, KnowledgeServiceConfiguration> configurations;
- private String smId;
+ private CamelContext camelContext;
+ private ProducerTemplate template;
+ private Map<String, KnowledgeServiceConfiguration> configurations;
+ private String smId;
- public KnowledgeServiceImpl(CamelContext camelContext, Map<String, KnowledgeServiceConfiguration> configs, String smId) throws Exception {
- this.camelContext = camelContext;
- this.configurations = configs;
- this.smId = smId;
- this.template = camelContext.createProducerTemplate();
- for (String key : configurations.keySet()) {
- createCamelRoutes(configurations.get(key));
- }
- this.camelContext.start();
- for (String key : configurations.keySet()) {
- executeCommands(configurations.get(key).getCommands());
- }
- }
+ public KnowledgeServiceImpl(CamelContext camelContext,
+ Map<String, KnowledgeServiceConfiguration> configs,
+ String smId) throws Exception {
+ this.camelContext = camelContext;
+ this.configurations = configs;
+ this.smId = smId;
+ this.template = camelContext.createProducerTemplate();
+ for ( String key : configurations.keySet() ) {
+ createCamelRoutes( configurations.get( key ) );
+ }
+ this.camelContext.start();
+ for ( String key : configurations.keySet() ) {
+ executeCommands( configurations.get( key ).getCommands() );
+ }
+ }
- private void executeCommands(List<String> commands) throws CheckedDroolsException {
- for (String command : commands) {
- executeCommand(command);
- }
- }
+ private void executeCommands(List<String> commands) throws CheckedDroolsException {
+ for ( String command : commands ) {
+ executeCommand( command );
+ }
+ }
- public String executeCommand(String cmd) throws CheckedDroolsException {
- String lookup = getLookup(cmd);
- if (lookup==null || lookup.length()==0) {
- LOG.error("Unable to get command lookup attribute: " + lookup);
- throw new CheckedDroolsException("Unable to get command lookup attribute: " + lookup);
- }
- KnowledgeServiceConfiguration serviceConfiguration = configurations.get(lookup);
- if (serviceConfiguration==null) {
- LOG.error("Unable to lookup session: " + lookup);
- throw new CheckedDroolsException("Unable to lookup session: " + lookup);
- }
- if ("JAXB".equals(serviceConfiguration.getMarshaller())) {
- JAXBContext jaxbContext = serviceConfiguration.getContext();
- return new String((byte[])template.requestBodyAndHeader("direct:with-session-jaxb", cmd, "jaxb-context", jaxbContext));
- }
- else if ("XSTREAM".equals(serviceConfiguration.getMarshaller())) {
- return new String((byte[])template.requestBody("direct:with-session-xstream", cmd));
- }
- return null;
- }
+ public String executeCommand(String cmd) throws CheckedDroolsException {
+ String lookup = getLookup( cmd );
+ if ( lookup == null || lookup.length() == 0 ) {
+ LOG.error( "Unable to get command lookup attribute: " + lookup );
+ throw new CheckedDroolsException( "Unable to get command lookup attribute: " + lookup );
+ }
+ KnowledgeServiceConfiguration serviceConfiguration = configurations.get( lookup );
+ if ( serviceConfiguration == null ) {
+ LOG.error( "Unable to lookup session: " + lookup );
+ throw new CheckedDroolsException( "Unable to lookup session: " + lookup );
+ }
+ if ( "JAXB".equals( serviceConfiguration.getMarshaller() ) ) {
+ JAXBContext jaxbContext = serviceConfiguration.getContext();
+ return new String( (byte[]) template.requestBodyAndHeader( "direct:with-session-jaxb",
+ cmd,
+ "jaxb-context",
+ jaxbContext ) );
+ } else if ( "XSTREAM".equals( serviceConfiguration.getMarshaller() ) ) {
+ return new String( (byte[]) template.requestBody( "direct:with-session-xstream",
+ cmd ) );
+ }
+ return null;
+ }
- private void createCamelRoutes(KnowledgeServiceConfiguration configuration) throws Exception {
- RouteBuilder rb = new RouteBuilder() {
- public void configure() throws Exception {
- }
- };
- if ("JAXB".equals(configuration.getMarshaller())) {
- rb.from("direct:with-session-jaxb").to("drools:" + smId + "/" + configuration.getSessionId() + "?dataFormat=drools-jaxb");
- }
- else if ("XSTREAM".equals(configuration.getMarshaller())) {
- rb.from("direct:with-session-xstream").to("drools:" + smId + "/" + configuration.getSessionId() + "?dataFormat=drools-xstream");
- }
- else {
- throw new IllegalArgumentException("Invalid marshaller value on camel routes creation: " + configuration.getMarshaller());
- }
- camelContext.addRoutes(rb);
- }
+ private void createCamelRoutes(KnowledgeServiceConfiguration configuration) throws Exception {
+ RouteBuilder rb = new RouteBuilder() {
+ public void configure() throws Exception {
+ }
+ };
+ if ( "JAXB".equals( configuration.getMarshaller() ) ) {
+ rb.from( "direct:with-session-jaxb" ).to( "drools:" + smId + "/" + configuration.getSessionId() + "?dataFormat=drools-jaxb" );
+ } else if ( "XSTREAM".equals( configuration.getMarshaller() ) ) {
+ rb.from( "direct:with-session-xstream" ).to( "drools:" + smId + "/" + configuration.getSessionId() + "?dataFormat=drools-xstream" );
+ } else {
+ throw new IllegalArgumentException( "Invalid marshaller value on camel routes creation: " + configuration.getMarshaller() );
+ }
+ camelContext.addRoutes( rb );
+ }
- private String getLookup(String xml) throws CheckedDroolsException {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- InputSource source = new InputSource(new StringReader(xml));
- Document d = null;
- try {
- d = factory.newDocumentBuilder().parse(source);
- } catch (Exception e) {
- throw new CheckedDroolsException("Error getting lookup: " + e.getMessage(), e);
- }
- return d.getDocumentElement().getAttribute("lookup");
- }
+ private String getLookup(String xml) throws CheckedDroolsException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ InputSource source = new InputSource( new StringReader( xml ) );
+ Document d = null;
+ try {
+ d = factory.newDocumentBuilder().parse( source );
+ } catch ( Exception e ) {
+ throw new CheckedDroolsException( "Error getting lookup: " + e.getMessage(),
+ e );
+ }
+ return d.getDocumentElement().getAttribute( "lookup" );
+ }
- public void setCamelContext(CamelContext camelContext) {
- this.camelContext = camelContext;
- }
+ public void setCamelContext(CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
- public CamelContext getCamelContext() {
- return camelContext;
- }
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
- public void setTemplate(ProducerTemplate template) {
- this.template = template;
- }
+ public void setTemplate(ProducerTemplate template) {
+ this.template = template;
+ }
- public ProducerTemplate getTemplate() {
- return template;
- }
+ public ProducerTemplate getTemplate() {
+ return template;
+ }
- public void setSmId(String smId) {
- this.smId = smId;
- }
+ public void setSmId(String smId) {
+ this.smId = smId;
+ }
- public String getSmId() {
- return smId;
- }
+ public String getSmId() {
+ return smId;
+ }
}
Modified: labs/jbossrules/trunk/drools-templates/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/trunk/drools-templates/META-INF/MANIFEST.MF 2010-06-05 07:43:34 UTC (rev 33363)
+++ labs/jbossrules/trunk/drools-templates/META-INF/MANIFEST.MF 2010-06-06 04:47:34 UTC (rev 33364)
@@ -1,25 +1,23 @@
Manifest-Version: 1.0
-Created-By: 1.5.0_21 (Sun Microsystems Inc.)
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Import-Package: org.mvel2.templates;version="2.0"
-Bnd-LastModified: 1266547494316
-Export-Package: org.drools.template.jdbc;uses:="org.drools.template.pa
- rser";version="5.1.0.SNAPSHOT",org.drools.template;uses:="org.drools.
- template.parser,org.drools.template.objects";version="5.1.0.SNAPSHOT"
- ,org.drools.template.parser;uses:="org.mvel2.templates,org.drools.tem
- plate.model";version="5.1.0.SNAPSHOT",org.drools.template.objects;use
- s:="org.drools.template,org.drools.template.parser";version="5.1.0.SN
- APSHOT",org.drools.template.model;version="5.1.0.SNAPSHOT"
-Bundle-Version: 5.1.0.SNAPSHOT
+Export-Package: org.drools.template.model;version="5.1.0.SNAPSHOT",org
+ .drools.template.objects;uses:="org.drools.template,org.drools.templa
+ te.parser";version="5.1.0.SNAPSHOT",org.drools.template.parser;uses:=
+ "org.mvel2.templates,org.drools.template.model";version="5.1.0.SNAPSH
+ OT",org.drools.template.jdbc;uses:="org.drools.template.parser";versi
+ on="5.1.0.SNAPSHOT",org.drools.template;uses:="org.drools.template.pa
+ rser,org.drools.template.objects";version="5.1.0.SNAPSHOT"
+Tool: Bnd-0.0.357
Bundle-Name: Drools :: Templates
-Bundle-Description: A rule production system
-Private-Package: .;version="5.1.0.SNAPSHOT"
-Bundle-DocURL: http://www.jboss.org/
-Originally-Created-By: 1.6.0_18 (Sun Microsystems Inc.)
+Created-By: 1.6.0_18 (Sun Microsystems Inc.)
+Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT"
Bundle-Vendor: JBoss Inc.
+DynamicImport-Package: org.drools.*
+Bundle-Version: 5.1.0.SNAPSHOT
+Bnd-LastModified: 1275721230797
Bundle-ManifestVersion: 2
+Bundle-Description: A rule production system
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
+Import-Package: org.mvel2.templates;version="2.0"
Bundle-SymbolicName: org.drools.templates;singleton:=true
-Tool: Bnd-0.0.357
-Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT"
-DynamicImport-Package: org.drools.*
+Bundle-DocURL: http://www.jboss.org/
More information about the jboss-svn-commits
mailing list