[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