[jboss-svn-commits] JBL Code SVN: r24822 - in labs/jbossrules/trunk: drools-api/src/main/java/org/drools and 22 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jan 20 08:44:05 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-01-20 08:44:04 -0500 (Tue, 20 Jan 2009)
New Revision: 24822

Added:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/package.html
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/package.html
   labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/.settings/
   labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/.settings/org.eclipse.jdt.core.prefs
Removed:
   labs/jbossrules/trunk/drools-api/src/main/resources/org/drools/
Modified:
   labs/jbossrules/trunk/drools-api/pom.xml
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/ChangeSet.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListener.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgent.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentConfiguration.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/package.html
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/DecisionTableInputType.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderProvider.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-api/src/main/java/org/drools/builder/package.html
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/KnowledgePackage.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/process/Process.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/rule/Rule.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/io/ResourceChangeListener.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/Resource.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeMonitor.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeNotifier.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScanner.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScannerConfiguration.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/package.html
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLogger.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/package.html
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/Environment.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/ExitPoint.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/KnowledgeRuntime.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Action.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Emitter.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Expression.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineContext.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StageExceptionHandler.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StatelessKnowledgeSessionPipelineContext.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Transformer.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessContext.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/StatelessRuleSession.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessKnowledgeSessionPipelineTest.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionStartProcessStage.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/.classpath
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java
Log:
-added some javadocs for pipeline

Modified: labs/jbossrules/trunk/drools-api/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-api/pom.xml	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/pom.xml	2009-01-20 13:44:04 UTC (rev 24822)
@@ -102,7 +102,7 @@
                     <breakiterator>true</breakiterator>
                     <excludePackageNames>org.drools.util*
                     </excludePackageNames>
-                    <overview>target/classes/overview.html</overview>
+                    <overview>src/main/java/overview.html</overview>
                     <groups>
                         <group><title>Knowledge Base API</title> <packages>org.drools</packages></group>
                         <group><title>Builder API</title> <packages>org.drools.builder</packages></group>

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/ChangeSet.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/ChangeSet.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/ChangeSet.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -42,13 +42,13 @@
     /**
      * Returns an immutable Collection of added Resources for this ChangeSet
      * @return
-     */    
+     */
     public Collection<Resource> getResourcesAdded();
-    
+
     /**
      * Returns an immutable Collection of modified Resources for this ChangeSet
      * @return
-     */    
+     */
     public Collection<Resource> getResourcesModified();
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -102,13 +102,14 @@
     }
 
     @SuppressWarnings("unchecked")
-	private static void loadProvider() {
+    private static void loadProvider() {
         try {
             // we didn't find anything in properties so lets try and us reflection
             Class<KnowledgeBaseProvider> cls = (Class<KnowledgeBaseProvider>) Class.forName( "org.drools.impl.KnowledgeBaseProviderImpl" );
             setKnowledgeBaseProvider( cls.newInstance() );
         } catch ( Exception e ) {
-            throw new ProviderInitializationException( "Provider org.drools.impl.KnowledgeBaseProviderImpl could not be set.", e );
+            throw new ProviderInitializationException( "Provider org.drools.impl.KnowledgeBaseProviderImpl could not be set.",
+                                                       e );
         }
     }
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -5,7 +5,7 @@
  *
  */
 public interface PropertiesConfiguration {
-    
+
     /**
      * Sets a property value
      * 

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListener.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListener.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -19,16 +19,18 @@
      * For general info messages
      */
     public void info(String message);
-    
-    public void info(String message, Object object);
 
+    public void info(String message,
+                     Object object);
+
     /**
      * For a warning (useful when tracking down problems).
      */
     public void warning(String message);
-    
-    public void warning(String message, Object object);
 
+    public void warning(String message,
+                        Object object);
+
     /**
      * An exception occurred.
      */
@@ -38,6 +40,7 @@
      * These should not be logged, just shown if needed.
      */
     public void debug(String message);
-    
-    public void debug(String message, Object object);
+
+    public void debug(String message,
+                      Object object);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -9,7 +9,7 @@
  */
 public class SystemEventListenerFactory {
     private static SystemEventListenerProvider provider;
-    
+
     /**
      * Set the SystemEventListener
      * 
@@ -18,7 +18,7 @@
     public static void setSystemEventListener(SystemEventListener listener) {
         getSystemEventListenerProvider().setSystemEventListener( listener );
     }
-    
+
     /**
      * Get the SystemEventListener
      * @return
@@ -26,7 +26,7 @@
     public static SystemEventListener getSystemEventListener() {
         return getSystemEventListenerProvider().getSystemEventListener();
     }
-    
+
     private static synchronized void setSystemEventListenerProvider(SystemEventListenerProvider provider) {
         SystemEventListenerFactory.provider = provider;
     }
@@ -44,7 +44,8 @@
             Class<SystemEventListenerProvider> cls = (Class<SystemEventListenerProvider>) Class.forName( "org.drools.impl.SystemEventListenerProviderImpl" );
             setSystemEventListenerProvider( cls.newInstance() );
         } catch ( Exception e ) {
-            throw new ProviderInitializationException( "Provider org.drools.impl.SystemEventListenerProviderImpl could not be set.", e );
+            throw new ProviderInitializationException( "Provider org.drools.impl.SystemEventListenerProviderImpl could not be set.",
+                                                       e );
         }
-    }    
+    }
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/SystemEventListenerProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -8,18 +8,18 @@
  *
  */
 public interface SystemEventListenerProvider {
-    
+
     /**
      * Set the SystemEventListener
      * 
      * @param listener
-     */    
+     */
     void setSystemEventListener(SystemEventListener listener);
-    
+
     /**
      * Get the SystemEventListener
      * @return
-     */    
+     */
     SystemEventListener getSystemEventListener();
-    
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgent.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgent.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgent.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,53 +1,12 @@
 package org.drools.agent;
 
 import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
 import org.drools.SystemEventListener;
 import org.drools.io.Resource;
-import org.drools.io.ResourceChangeScannerConfiguration;
-import org.drools.io.ResourceFactory;
 
 /**
- * <p>
- * The KnowlegeAgent is created by the KnowlegeAgentFactory. It's role is to provide a cached
- * KnowlegeBase and to update or rebuild this KnowlegeBase as the resources it uses are changed.
- * The strategy for this is determined by the configuration given to the factory, but it is 
- * typically pull based using regular polling. We hope to add push based updates and rebuilds in future
- * versions.
- * </p>
- * <p>
- * The Follow example constructs an agent that will build a new KnowledgeBase from the files specified in the path String.
- * It will poll those files every 30 seconds to see if they are updated. If new files are found it will construct a new 
- * KnowledgeBase, instead of updating the existing one, due to the "newInstance" set to "true" (however currently only the value of
- * "true" is supported and is hard coded into the engine):
- * <p/>
- * <pre>
- * // Set the interval on the ResourceChangeScannerService if you are to use it and default of 60s is not desirable.
- * ResourceChangeScannerConfiguration sconf = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
- * sconf.setProperty( "drools.resource.scanner.interval",
- *                    "30" ); // set the disk scanning interval to 30s, default is 60s
- * ResourceFactory.getResourceChangeScannerService().configure( sconf );
+ * The KnolwedgeAgentFactory provides detailed information on how to create and use the KnowledgeAgent.
  * 
- * KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- *
- * KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
- *       aconf.setProperty( "drools.agent.scanDirectories",
- *                          "true" ); // we want to scan directories, not just files, turning this on turns on file scanning
- *       aconf.setProperty( "drools.agent.newInstance",
- *                          "true" ); // resource changes results in a new instance of the KnowledgeBase being built, 
- *                                    // this cannot currently be set to false for incremental building
- *       
- *       KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "test agent", // the name of the agent
- *                                                                        kbase, // the rulebase to use, the Agent will also monitor any exist knowledge definitions
- *                                                                        aconf );
- *       kagent.applyChangeSet( ResourceFactory.newUrlResource( url ) ); // resource to the change-set xml for the resources to add
- * </pre>
- * 
- * KnowledgeAgents can take a empty KnowledgeBase or a populated one. If a populated KnowledgeBase is provided, the KnowledgeAgent
- * will iterate KnowledgeBase and subscribe to the Resource that it finds. While it is possible for the KnowledgeBuilder to build
- * all resources found in a directory, that information is lost by the KnowledgeBuilder so those directories will not be continuously scanned.
- * Only directories specified as part of the applyChangeSet(Resource) method are monitored.
- * 
  * @see org.drools.agent.KnowledgeAgentFactory
  * @see org.drools.agent.KnowledgeAgentConfiguration
  * 
@@ -66,10 +25,10 @@
      *     The KnowledgeBase
      */
     KnowledgeBase getKnowledgeBase();
-    
+
     void monitorResourceChangeEvents(boolean monitor);
-    
+
     void applyChangeSet(Resource resource);
-    
-    void setSystemEventListener(SystemEventListener listener);    
+
+    void setSystemEventListener(SystemEventListener listener);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentConfiguration.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentConfiguration.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -11,6 +11,8 @@
  * @see org.drools.agent.KnowledgeAgent
  * @see org.drools.agent.KnowledgeAgentConfiguration 
  */
-public interface KnowledgeAgentConfiguration extends PropertiesConfiguration {
+public interface KnowledgeAgentConfiguration
+    extends
+    PropertiesConfiguration {
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -7,9 +7,9 @@
 
 /**
  * <p>
- * The KnowlegeAgent is created by the KnowlegeAgentFactory. It's role is to provide a cached
- * KnowlegeBase and to update or rebuild this KnowlegeBase as the resources it uses are changed.
- * The strategy for this is determined by the configuration given to the factory, but it is 
+ * The KnowlegeAgent is created by the KnowlegeAgentFactory. The KnowlegeAgent provides automatic loading, caching and 
+ * re-loading, of resources and is configured from a properties files. The KnowledgeAgent can update or rebuild this KnowlegeBase 
+ * as the resources it uses are changed. The strategy for this is determined by the configuration given to the factory, but it is 
  * typically pull based using regular polling. We hope to add push based updates and rebuilds in future
  * versions.
  * </p>
@@ -52,24 +52,27 @@
  */
 public class KnowledgeAgentFactory {
     private static KnowledgeAgentProvider provider;
-    
+
     public static KnowledgeAgentConfiguration newKnowledgeAgentConfiguration() {
         return getKnowledgeAgentProvider().newKnowledgeAgentConfiguration();
     }
-    
+
     public static KnowledgeAgentConfiguration newKnowledgeAgentConfiguration(Properties properties) {
         return getKnowledgeAgentProvider().newKnowledgeAgentConfiguration( properties );
-    }    
+    }
 
     public static KnowledgeAgent newKnowledgeAgent(String name,
                                                    KnowledgeBase kbase) {
-        return getKnowledgeAgentProvider().newKnowledgeAgent( name, kbase );
+        return getKnowledgeAgentProvider().newKnowledgeAgent( name,
+                                                              kbase );
     }
-    
+
     public static KnowledgeAgent newKnowledgeAgent(String name,
                                                    KnowledgeBase kbase,
                                                    KnowledgeAgentConfiguration configuration) {
-        return getKnowledgeAgentProvider().newKnowledgeAgent( name, kbase, configuration );
+        return getKnowledgeAgentProvider().newKnowledgeAgent( name,
+                                                              kbase,
+                                                              configuration );
     }
 
     private static synchronized void setKnowledgeAgentProvider(KnowledgeAgentProvider provider) {

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/KnowledgeAgentProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -4,11 +4,18 @@
 
 import org.drools.KnowledgeBase;
 
+/**
+ * KnowledgeAgentProvider is used by the KnowledgeAgentFactory to "provide" it's concrete implementation.
+ * 
+ * This class is not considered stable and may change, the user is protected from this change by using 
+ * the Factory api, which is considered stable.
+ *
+ */
 public interface KnowledgeAgentProvider {
     KnowledgeAgentConfiguration newKnowledgeAgentConfiguration();
-    
+
     KnowledgeAgentConfiguration newKnowledgeAgentConfiguration(Properties properties);
-    
+
     KnowledgeAgent newKnowledgeAgent(String name,
                                      KnowledgeBase kbase);
 

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/package.html
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/package.html	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/agent/package.html	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,3 +1,10 @@
 <body>
-	The Agent api provide automatic loading, and re-loading, of artifacts and is configured from a properties files.
+<p>
+The KnowlegeAgent provides automatic loading, caching and re-loading, of resources and is configured from a properties files.
+</p>
+
+<p>
+The KnowledgeAgentFactory provides detailed information on how to create and use the KnowledgeAgent.
+</p>
+
 </body>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/DecisionTableInputType.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/DecisionTableInputType.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/DecisionTableInputType.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,6 +1,5 @@
 package org.drools.builder;
 
-
 /**
  * <p>
  * Specifies the type of decision table resource.

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,7 +1,5 @@
 package org.drools.builder;
 
-import java.io.Reader;
-import java.net.URL;
 import java.util.Collection;
 
 import org.drools.definition.KnowledgePackage;

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	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -36,15 +36,17 @@
     public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
         return getKnowledgeBuilderProvider().newKnowledgeBuilder( conf );
     }
-    
+
     public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
         return getKnowledgeBuilderProvider().newKnowledgeBuilder( kbase );
     }
-    
-    public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase, KnowledgeBuilderConfiguration conf) {
-        return getKnowledgeBuilderProvider().newKnowledgeBuilder( kbase, conf );
-    }    
 
+    public static KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
+                                                       KnowledgeBuilderConfiguration conf) {
+        return getKnowledgeBuilderProvider().newKnowledgeBuilder( kbase,
+                                                                  conf );
+    }
+
     /**
      * Create a KnowledgeBuilderConfiguration on which properties can be set.
      * @return

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -8,7 +8,7 @@
  * KnowledgeBuilderProvider is used by the KnowledgeBuilderFacotry to "provide" it's concrete implementation.
  * 
  * This class is not considered stable and may change, the user is protected from this change by using 
- * the Factory api, which is consiered stable.
+ * the Factory api, which is considered stable.
  *
  */
 public interface KnowledgeBuilderProvider {

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	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -18,10 +18,10 @@
 
     /** Decision Table */
     DTABLE,
-    
+
     /** Binary Package */
     PKG,
-    
+
     /** ChangeSet */
     ChangeSet;
 }

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	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/DroolsJaxbHelperProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,7 +1,6 @@
 package org.drools.builder.help;
 
 import java.io.IOException;
-import java.io.Reader;
 import java.util.Map;
 
 import javax.xml.bind.JAXBContext;
@@ -13,14 +12,49 @@
 
 import com.sun.tools.xjc.Options;
 
+/**
+ * DroolsJaxbHelperProvider is used by the DroolsJaxbHelperFactory to "provide" it's concrete implementation.
+ * 
+ * This class is not considered stable and may change, the user is protected from this change by using 
+ * the Factory api, which is considered stable.
+ *
+ */
 public interface DroolsJaxbHelperProvider {
-
+    /**
+     * Generates pojos for a given XSD using XJC and adds them to the specified KnowlegeBase.
+     * 
+     * @param resource
+     *     The resource to the XSD model
+     * @param kbuilder
+     *     the KnowledgeBuilder where the generated .class files will be placed
+     * @param xjcOpts
+     *     XJC Options
+     * @param systemId
+     *     XJC systemId
+     * @return
+     *     Returns an array of class names that where generated by the XSD.
+     * @throws IOException
+     */
     public String[] addXsdModel(Resource resource,
                                 KnowledgeBuilder kbuilder,
                                 Options xjcOpts,
                                 String systemId) throws IOException;
 
+    /**
+     * Creates a new JAXBContext, from which the Marshaller and Unmarshaller can be created, which are used by the Transformer
+     * pipeline stage.
+     * 
+     * @param classNames
+     *     An array of class names that can be resolved by this JAXBContext
+     * @param properties
+     *     JAXB properties
+     * @param kbase
+     *     The KnowledgeBase
+     * @return
+     *     The JAXB Context
+     * @throws JAXBException
+     */
     public JAXBContext newJAXBContext(String[] classNames,
                                       Map<String, ? > properties,
-                                      KnowledgeBase kbase) throws JAXBException ;
+                                      KnowledgeBase kbase) throws JAXBException;
 }

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	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/KnowledgeBuilderHelper.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,7 +1,6 @@
 package org.drools.builder.help;
 
 import java.io.IOException;
-import java.io.Reader;
 import java.util.Collections;
 import java.util.Map;
 
@@ -11,46 +10,98 @@
 import org.drools.KnowledgeBase;
 import org.drools.ProviderInitializationException;
 import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderProvider;
+import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.io.Resource;
+import org.drools.io.ResourceFactory;
 
+import com.sun.tools.xjc.Language;
 import com.sun.tools.xjc.Options;
 
+/**
+ * Provides helper methods for working with JAXB and a Knowledgebase, it takes care of the Classpath issues when
+ * mapping against internal type declarations.
+ *
+ */
 public class KnowledgeBuilderHelper {
-    
+
     private static DroolsJaxbHelperProvider provider;
-    
+
+    /**
+     * Generates pojos for a given XSD using XJC and adds them to the specified KnowlegeBase.
+     * <pre>
+     * Options xjcOpts = new Options();
+     * xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
+     * KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+     *
+     * String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd",
+     *                                                                                                 getClass() ),
+     *                                                           kbuilder,
+     *                                                           xjcOpts,
+     *                                                           "xsd" );
+     * </pre>
+     * 
+     * @param resource
+     *     The resource to the XSD model
+     * @param kbuilder
+     *     the KnowledgeBuilder where the generated .class files will be placed
+     * @param xjcOpts
+     *     XJC Options
+     * @param systemId
+     *     XJC systemId
+     * @return
+     *     Returns an array of class names that where generated by the XSD.
+     * @throws IOException
+     */
     public static String[] addXsdModel(Resource resource,
                                        KnowledgeBuilder kbuilder,
                                        Options xjcOpts,
                                        String systemId) throws IOException {
-         return getDroolsJaxbHelperProvider().addXsdModel( resource, kbuilder, xjcOpts, systemId );
+        return getDroolsJaxbHelperProvider().addXsdModel( resource,
+                                                          kbuilder,
+                                                          xjcOpts,
+                                                          systemId );
     }
-    
+
+    /**
+     * Creates a new JAXBContext, from which the Marshaller and Unmarshaller can be created, which are used by the Transformer
+     * pipeline stage.
+     * 
+     * @param classNames
+     *     An array of class names that can be resolved by this JAXBContext
+     * @param properties
+     *     JAXB properties
+     * @param kbase
+     *     The KnowledgeBase
+     * @return
+     *     The JAXB Context
+     * @throws JAXBException
+     */
     public static JAXBContext newJAXBContext(String[] classNames,
-                                          KnowledgeBase kbase) throws JAXBException {
+                                             KnowledgeBase kbase) throws JAXBException {
         return newJAXBContext( classNames,
-                            Collections.<String, Object> emptyMap(),
-                            kbase );
+                               Collections.<String, Object> emptyMap(),
+                               kbase );
     }
 
     public static JAXBContext newJAXBContext(String[] classNames,
-                                          Map<String, ? > properties,
-                                          KnowledgeBase kbase) throws JAXBException {  
-        return getDroolsJaxbHelperProvider().newJAXBContext( classNames, properties, kbase );
+                                             Map<String, ? > properties,
+                                             KnowledgeBase kbase) throws JAXBException {
+        return getDroolsJaxbHelperProvider().newJAXBContext( classNames,
+                                                             properties,
+                                                             kbase );
     }
-    
+
     public static synchronized DroolsJaxbHelperProvider getDroolsJaxbHelperProvider() {
         if ( provider == null ) {
             loadProvider();
         }
         return provider;
     }
-    
-    private static synchronized void setDroolsJaxbHelperProvider(DroolsJaxbHelperProvider provider){
+
+    private static synchronized void setDroolsJaxbHelperProvider(DroolsJaxbHelperProvider provider) {
         KnowledgeBuilderHelper.provider = provider;
     }
-    
+
     private static void loadProvider() {
         try {
             Class<DroolsJaxbHelperProvider> cls = (Class<DroolsJaxbHelperProvider>) Class.forName( "org.drools.runtime.pipeline.impl.DroolsJaxbHelperProviderImpl" );
@@ -60,5 +111,5 @@
                                                        e2 );
         }
     }
-    
+
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/package.html
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/package.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/help/package.html	2009-01-20 13:44:04 UTC (rev 24822)
@@ -0,0 +1,5 @@
+<body>
+<p>
+Providers helper classes that can be used during building.
+</p>
+</body>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/package.html
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/package.html	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/package.html	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,3 +1,11 @@
 <body>
-	The builder package is responsible for building knowledge difinitions from artifact resources.
+
+<p>
+The builder package is responsible for building knowledge definitions from artifact resources.
+</p>
+
+<p>
+See the KnowledgeBuilder for more detailed information on how to build KnowledgeBases.
+</p>
+
 </body>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/KnowledgePackage.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/KnowledgePackage.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/KnowledgePackage.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -23,7 +23,7 @@
      * The collection is immutable.
      * 
      * @return
-     */   
+     */
     Collection<Rule> getRules();
 
     /**

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/process/Process.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/process/Process.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/process/Process.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,7 +2,9 @@
 
 import org.drools.definition.KnowledgeDefinition;
 
-public interface Process  extends KnowledgeDefinition {
+public interface Process
+    extends
+    KnowledgeDefinition {
 
     String getId();
 

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/rule/Rule.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/rule/Rule.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/definition/rule/Rule.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,7 +2,9 @@
 
 import org.drools.definition.KnowledgeDefinition;
 
-public interface Rule extends KnowledgeDefinition {
+public interface Rule
+    extends
+    KnowledgeDefinition {
 
     String getName();
 

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/io/ResourceChangeListener.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/io/ResourceChangeListener.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/io/ResourceChangeListener.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -15,7 +15,7 @@
  * the KnowledgeAgent will use them, when rebuilding the KnowledgeBase.
  */
 public interface ResourceChangeListener {
-    
+
     /**
      * The Resource has changed, the ResourceChangeNotifier will call this method and execute the user implemented code.
      * 

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,7 +1,5 @@
 package org.drools.event.rule;
 
 public enum ActivationCancelledCause {
-    FILTER,
-    WME_MODIFY,
-    CLEAR;
+    FILTER, WME_MODIFY, CLEAR;
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/Resource.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/Resource.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/Resource.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -17,12 +17,12 @@
      * @throws IOException
      */
     InputStream getInputStream() throws IOException;
-    
+
     /**
      * Opens a Reader to the resource, the user most close this when finished.
      * @return
      * @throws IOException
      */
     public Reader getReader() throws IOException;
-      
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeMonitor.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeMonitor.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeMonitor.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -22,15 +22,17 @@
      * @param notifier
      * @param resource
      */
-    void subscribeNotifier(ResourceChangeNotifier notifier, Resource resource);
-    
+    void subscribeNotifier(ResourceChangeNotifier notifier,
+                           Resource resource);
+
     /**
      * Unsubscribe the notifier for the given resource.
      * 
      * @param notifier
      * @param resource
      */
-    void unsubscribeNotifier(ResourceChangeNotifier notifier, Resource resource);
-    
+    void unsubscribeNotifier(ResourceChangeNotifier notifier,
+                             Resource resource);
+
     public void setSystemEventListener(SystemEventListener listener);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeNotifier.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeNotifier.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeNotifier.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -27,7 +27,7 @@
 
     void unsubscribeResourceChangeListener(ResourceChangeListener listener,
                                            Resource resource);
-    
+
     /**
      * When a ResourceChangeMonitor is asked to monitor a directory, it needs a way to tell the ResourceChangeNotifier of any newly added Resources.
      * 
@@ -36,7 +36,8 @@
      * @param child
      *     The discovered child resource
      */
-    void subscribeChildResource(Resource directory, Resource child);    
+    void subscribeChildResource(Resource directory,
+                                Resource child);
 
     /** 
      * Add a ResourceChangeMonitor, which will receive all Resource subscriptions.
@@ -57,7 +58,7 @@
      * @return
      */
     Collection<ResourceChangeMonitor> getResourceChangeMonitors();
-    
+
     /**
      * Called by the added ResourceChangeMonitors to inform this ResourceChangeNotifier of resource changes.
      * The ResourceChangeMontior must have a reference to the ResourceChangeNotifiers they are added to,
@@ -65,9 +66,9 @@
      * @param changeSet
      */
     void publishChangeSet(ChangeSet changeSet);
-    
+
     public void setSystemEventListener(SystemEventListener listener);
-    
+
     /**
      * Start the service, this will create a new Thread.
      */
@@ -76,5 +77,5 @@
     /**
      * Stop the service.
      */
-    void stop();    
+    void stop();
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScanner.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScanner.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScanner.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,7 +2,6 @@
 
 import java.util.Properties;
 
-
 /**
  * <p>
  * Built in service, as provided by the ResourceFactory for monitor file changes on the local disk.
@@ -15,26 +14,28 @@
  * the KnowledgeAgent will use them, when rebuilding the KnowledgeBase.
  * </p>
  */
-public interface ResourceChangeScanner extends ResourceChangeMonitor {   
-    
+public interface ResourceChangeScanner
+    extends
+    ResourceChangeMonitor {
+
     /**
      * New ResourceChangeScannerConfiguration which can be used to update this service.
      * @return
      */
     public ResourceChangeScannerConfiguration newResourceChangeScannerConfiguration();
-    
+
     /**
      * New ResourceChangeScannerConfiguration, using the given Properties, which can be used to update this service.
      * @return
-     */    
+     */
     public ResourceChangeScannerConfiguration newResourceChangeScannerConfiguration(Properties properties);
-    
+
     /**
      * Reconfigure the Scanner now
      * @param configuration
      */
     public void configure(ResourceChangeScannerConfiguration configuration);
-    
+
     /** 
      * Execute a disk scan of subscribed resources now.
      */
@@ -49,12 +50,11 @@
      * Stop the service.
      */
     public void stop();
-    
+
     /**
      * Set scan interval in seconds
      * @param interval
      */
     public void setInterval(int interval);
-            
+
 }
-

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScannerConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScannerConfiguration.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceChangeScannerConfiguration.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -7,6 +7,8 @@
  * drools.resource.scanner.interval = <number of seconds> : default 60s
  *
  */
-public interface ResourceChangeScannerConfiguration extends  PropertiesConfiguration {
+public interface ResourceChangeScannerConfiguration
+    extends
+    PropertiesConfiguration {
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -23,21 +23,19 @@
  * kbuilder.add( ResourceFactory.newClassPathResource( "htp://www.domain.org/myrules.drl", getClass() ),
  *               ResourceType.DRL );
  * </pre
- * 
  *
  */
 public class ResourceFactory {
     private static ResourceProvider resourceProvider;
-       
-    
+
     /**
      * A Service that can be started, to provide notifications of changed Resources.
      * 
      * @return
      */
-    public  static ResourceChangeNotifier getResourceChangeNotifierService() { 
+    public static ResourceChangeNotifier getResourceChangeNotifierService() {
         return getResourceProvider().getResourceChangeNotifierService();
-    }       
+    }
 
     /**
      * As service, that scans the disk for changes, this acts as a Monitor for the Notifer service.
@@ -47,52 +45,57 @@
     public static ResourceChangeScanner getResourceChangeScannerService() {
         return getResourceProvider().getResourceChangeScannerService();
     }
-    
+
     public static Resource newUrlResource(URL url) {
         return getResourceProvider().newUrlResource( url );
     }
-    
+
     public static Resource newUrlResource(String path) {
         return getResourceProvider().newUrlResource( path );
-    }    
-    
+    }
+
     public static Resource newFileResource(File file) {
         return getResourceProvider().newFileSystemResource( file );
     }
-    
+
     public static Resource newFileResource(String fileName) {
         return getResourceProvider().newFileSystemResource( fileName );
     }
-        
-    
+
     public static Resource newByteArrayResource(byte[] bytes) {
         return getResourceProvider().newByteArrayResource( bytes );
     }
-    
+
     public static Resource newInputStreamResource(InputStream stream) {
         return getResourceProvider().newInputStreamResource( stream );
     }
-    
+
     public static Resource newReaderResource(Reader reader) {
         return getResourceProvider().newReaderResource( reader );
     }
-    
-    public static Resource newReaderResource(Reader reader, String encoding) {
-        return getResourceProvider().newReaderResource( reader, encoding );
-    }  
-    
+
+    public static Resource newReaderResource(Reader reader,
+                                             String encoding) {
+        return getResourceProvider().newReaderResource( reader,
+                                                        encoding );
+    }
+
     public static Resource newClassPathResource(String path) {
         return getResourceProvider().newClassPathResource( path );
     }
-    
-    public static Resource newClassPathResource(String path, Class clazz) {
-        return getResourceProvider().newClassPathResource( path, clazz );
-    }     
-    
-    public static Resource newClassPathResource(String path, ClassLoader classLoader) {
-        return getResourceProvider().newClassPathResource( path, classLoader );
-    }  
-    
+
+    public static Resource newClassPathResource(String path,
+                                                Class clazz) {
+        return getResourceProvider().newClassPathResource( path,
+                                                           clazz );
+    }
+
+    public static Resource newClassPathResource(String path,
+                                                ClassLoader classLoader) {
+        return getResourceProvider().newClassPathResource( path,
+                                                           classLoader );
+    }
+
     private static synchronized void setResourceProvider(ResourceProvider provider) {
         ResourceFactory.resourceProvider = provider;
     }
@@ -112,6 +115,6 @@
             throw new ProviderInitializationException( "Provider org.drools.io.impl.ResourceProviderImpl could not be set.",
                                                        e2 );
         }
-    }    
-        
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/ResourceProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -5,31 +5,40 @@
 import java.io.Reader;
 import java.net.URL;
 
-
+/**
+ * ResourceProvider is used by the ResourceFactory to "provide" it's concrete implementation.
+ * 
+ * This class is not considered stable and may change, the user is protected from this change by using 
+ * the Factory api, which is considered stable.
+ *
+ */
 public interface ResourceProvider {
-    ResourceChangeNotifier getResourceChangeNotifierService();       
+    ResourceChangeNotifier getResourceChangeNotifierService();
 
     ResourceChangeScanner getResourceChangeScannerService();
-           
+
     Resource newUrlResource(URL url);
-    
-    Resource newUrlResource(String path);    
-    
+
+    Resource newUrlResource(String path);
+
     Resource newFileSystemResource(File file);
-    
+
     Resource newFileSystemResource(String fileName);
-            
+
     Resource newByteArrayResource(byte[] bytes);
-    
+
     Resource newInputStreamResource(InputStream stream);
-    
+
     Resource newReaderResource(Reader reader);
-    
-    Resource newReaderResource(Reader reader, String encoding);
-    
+
+    Resource newReaderResource(Reader reader,
+                               String encoding);
+
     Resource newClassPathResource(String path);
-        
-    Resource newClassPathResource(String path, ClassLoader classLoader);
-    
-    Resource newClassPathResource(String path, Class clazz);
+
+    Resource newClassPathResource(String path,
+                                  ClassLoader classLoader);
+
+    Resource newClassPathResource(String path,
+                                  Class clazz);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/package.html
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/package.html	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/io/package.html	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,3 +1,11 @@
 <body>
-	The builder package is responsible for building knowledge difinitions from artifact resources.
+
+<p>
+io library for working with Resources
+</p>
+
+<p>
+See ResourceFactory for more details
+</p>
+
 </body>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLogger.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLogger.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -4,10 +4,10 @@
  * A logger for audit events.
  */
 public interface KnowledgeRuntimeLogger {
-	
+
     /**
-	 * Release any resources allocated within the logger such as file
-	 * handles, network connections, etc.
+     * Release any resources allocated within the logger such as file
+     * handles, network connections, etc.
      * It is a programming error to append to a closed appender.
      */
     public void close();

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -3,45 +3,86 @@
 import org.drools.ProviderInitializationException;
 import org.drools.event.KnowledgeRuntimeEventManager;
 
+/**
+ * <p>
+ * The KnowledgeRuntimeLogger uses the comprehensive event system in Drools to create an audit log that can be used
+ * log the execution of drools for later inspection, in tools such as the Eclipse audit viewer.
+ * </p>
+ * 
+ * <pre>
+ * KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "logdir/mylogfile");
+ * ....
+ * logger.close();
+ * </pre>
+ * 
+ * <p>
+ * Don't forget to close the logger when it is no longer needed, so resources can be released.
+ * </p>
+ *
+ */
 public class KnowledgeRuntimeLoggerFactory {
 
-	private static KnowledgeRuntimeLoggerProvider knowledgeRuntimeLoggerProvider;
+    private static KnowledgeRuntimeLoggerProvider knowledgeRuntimeLoggerProvider;
 
-	public static KnowledgeRuntimeLogger newFileLogger(KnowledgeRuntimeEventManager session, String fileName) {
-		return getKnowledgeRuntimeLoggerProvider().newFileLogger(session, fileName);
-	}
+    /**
+     * Creates a file logger in the current thread and events are written as they happen.
+     * 
+     * @param session
+     * @param fileName
+     * @return
+     */
+    public static KnowledgeRuntimeLogger newFileLogger(KnowledgeRuntimeEventManager session,
+                                                       String fileName) {
+        return getKnowledgeRuntimeLoggerProvider().newFileLogger( session,
+                                                                  fileName );
+    }
 
-	public static KnowledgeRuntimeLogger newThreadedFileLogger(
-			KnowledgeRuntimeEventManager session, String fileName, int interval) {
-		return getKnowledgeRuntimeLoggerProvider().newThreadedFileLogger(session, fileName, interval);
-	}
+    /**
+     * Creates a file logger that executes in a different thread, where information is written on given intervals
+     * 
+     * @param session
+     * @param fileName
+     * @param interval
+     * @return
+     */
+    public static KnowledgeRuntimeLogger newThreadedFileLogger(KnowledgeRuntimeEventManager session,
+                                                               String fileName,
+                                                               int interval) {
+        return getKnowledgeRuntimeLoggerProvider().newThreadedFileLogger( session,
+                                                                          fileName,
+                                                                          interval );
+    }
 
-	public static KnowledgeRuntimeLogger newConsoleLogger(KnowledgeRuntimeEventManager session) {
-		return getKnowledgeRuntimeLoggerProvider().newConsoleLogger(session);
-	}
+    /**
+     * Logs events to command line console
+     * 
+     * @param session
+     * @return
+     */
+    public static KnowledgeRuntimeLogger newConsoleLogger(KnowledgeRuntimeEventManager session) {
+        return getKnowledgeRuntimeLoggerProvider().newConsoleLogger( session );
+    }
 
-	private static synchronized void setKnowledgeRuntimeLoggerProvider(
-			KnowledgeRuntimeLoggerProvider provider) {
-		KnowledgeRuntimeLoggerFactory.knowledgeRuntimeLoggerProvider = provider;
-	}
+    private static synchronized void setKnowledgeRuntimeLoggerProvider(KnowledgeRuntimeLoggerProvider provider) {
+        KnowledgeRuntimeLoggerFactory.knowledgeRuntimeLoggerProvider = provider;
+    }
 
-	private static synchronized KnowledgeRuntimeLoggerProvider getKnowledgeRuntimeLoggerProvider() {
-		if (knowledgeRuntimeLoggerProvider == null) {
-			loadProvider();
-		}
-		return knowledgeRuntimeLoggerProvider;
-	}
+    private static synchronized KnowledgeRuntimeLoggerProvider getKnowledgeRuntimeLoggerProvider() {
+        if ( knowledgeRuntimeLoggerProvider == null ) {
+            loadProvider();
+        }
+        return knowledgeRuntimeLoggerProvider;
+    }
 
-	@SuppressWarnings("unchecked")
-	private static void loadProvider() {
-		try {
-			Class<KnowledgeRuntimeLoggerProvider> cls = (Class<KnowledgeRuntimeLoggerProvider>)
-				Class.forName("org.drools.audit.KnowledgeRuntimeLoggerProviderImpl");
-			setKnowledgeRuntimeLoggerProvider(cls.newInstance());
-		} catch (Exception e) {
-			throw new ProviderInitializationException(
-				"Provider org.drools.audit.KnowledgeRuntimeLoggerProviderImpl could not be set.", e);
-		}
-	}
+    @SuppressWarnings("unchecked")
+    private static void loadProvider() {
+        try {
+            Class<KnowledgeRuntimeLoggerProvider> cls = (Class<KnowledgeRuntimeLoggerProvider>) Class.forName( "org.drools.audit.KnowledgeRuntimeLoggerProviderImpl" );
+            setKnowledgeRuntimeLoggerProvider( cls.newInstance() );
+        } catch ( Exception e ) {
+            throw new ProviderInitializationException( "Provider org.drools.audit.KnowledgeRuntimeLoggerProviderImpl could not be set.",
+                                                       e );
+        }
+    }
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/KnowledgeRuntimeLoggerProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -3,11 +3,14 @@
 import org.drools.event.KnowledgeRuntimeEventManager;
 
 public interface KnowledgeRuntimeLoggerProvider {
-	
-	KnowledgeRuntimeLogger newFileLogger(KnowledgeRuntimeEventManager session, String fileName);
-	
-	KnowledgeRuntimeLogger newThreadedFileLogger(KnowledgeRuntimeEventManager session, String fileName, int interval);
-	
-	KnowledgeRuntimeLogger newConsoleLogger(KnowledgeRuntimeEventManager session);
 
+    KnowledgeRuntimeLogger newFileLogger(KnowledgeRuntimeEventManager session,
+                                         String fileName);
+
+    KnowledgeRuntimeLogger newThreadedFileLogger(KnowledgeRuntimeEventManager session,
+                                                 String fileName,
+                                                 int interval);
+
+    KnowledgeRuntimeLogger newConsoleLogger(KnowledgeRuntimeEventManager session);
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/package.html
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/package.html	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/logger/package.html	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,3 +1,11 @@
 <body>
-	Logger classes use to log the KnowledgeRuntime's execution.
+
+<p>
+Logger classes use to log the KnowledgeRuntime's execution.
+</p>
+
+<p>
+See KnowledgeRuntimeFactory for more detailed information.
+</p>
+
 </body>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/Environment.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/Environment.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/Environment.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,9 +1,10 @@
 package org.drools.runtime;
 
 public interface Environment {
-	
-	Object get(String name);
-	
-	void set(String name, Object object);
 
+    Object get(String name);
+
+    void set(String name,
+             Object object);
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/ExitPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/ExitPoint.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/ExitPoint.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,5 @@
 package org.drools.runtime;
 
 public interface ExitPoint {
-	void insert(Object object);
+    void insert(Object object);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/KnowledgeRuntime.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/KnowledgeRuntime.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/KnowledgeRuntime.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -18,7 +18,7 @@
      */
     void setGlobal(String identifier,
                    Object object);
-    
+
     Object getGlobal(String identifier);
 
     /**
@@ -33,8 +33,9 @@
      * @return
      */
     KnowledgeBase getKnowledgeBase();
-    
-    void registerExitPoint(String name, ExitPoint exitPoint);
-    
+
+    void registerExitPoint(String name,
+                           ExitPoint exitPoint);
+
     void unregisterExitPoint(String name);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,6 +1,5 @@
 package org.drools.runtime;
 
-import org.drools.KnowledgeBase;
 import org.drools.runtime.process.StatefulProcessSession;
 import org.drools.runtime.rule.StatefulRuleSession;
 
@@ -64,7 +63,6 @@
     StatefulProcessSession,
     KnowledgeRuntime {
 
-
     /**
      * Releases all the current session resources, setting up the session for garbage collection.
      * This method <b>must</b> always be called after finishing using the session, or the engine

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Action.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Action.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Action.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,9 @@
 package org.drools.runtime.pipeline;
 
-public interface Action  extends Emitter, Receiver, Stage {
+public interface Action
+    extends
+    Emitter,
+    Receiver,
+    Stage {
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,12 +1,16 @@
 package org.drools.runtime.pipeline;
 
-
 /**
  * 
  * Must be the first and last Stage in the Pipeline
  *
  * @param <E>
  */
-public interface Callable<E> extends Receiver, Emitter, Stage{
-    E call(Object signal, PipelineContext context);
+public interface Callable<E>
+    extends
+    Receiver,
+    Emitter,
+    Stage {
+    E call(Object signal,
+           PipelineContext context);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -8,7 +8,7 @@
     Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession);
 
     Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession,
-                                                String entryPointName);
+                                                 String entryPointName);
 
     Pipeline newStatelessKnowledgeSessionPipelineImpl(StatelessKnowledgeSession ksession);
 
@@ -19,27 +19,27 @@
     KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetGlobal();
 
     KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal();
-    
-    KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetObject(); 
 
+    KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetObject();
+
     KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier);
 
     KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType);
 
     KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType,
-                                                        long id);
+                                                                   long id);
 
-    KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String eventType);
-    
+    KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String id);
+
     Action newAssignObjectAsResult();
-    
+
     Action newExecuteResultHandler();
 
     Action newMvelAction(String action);
-    
+
     Expression newMvelExpression(String expression);
 
     Splitter newIterateSplitter();
-    
+
     Join newListCollectJoin();
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Emitter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Emitter.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Emitter.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,7 +1,7 @@
 package org.drools.runtime.pipeline;
 
 public interface Emitter {
-	void setReceiver(Receiver receiver);
+    void setReceiver(Receiver receiver);
 
-	Receiver getReceiver();	
+    Receiver getReceiver();
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Expression.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Expression.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Expression.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,4 +1,8 @@
 package org.drools.runtime.pipeline;
 
-public interface Expression  extends Emitter, Receiver, Stage {
+public interface Expression
+    extends
+    Emitter,
+    Receiver,
+    Stage {
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -5,6 +5,6 @@
 
 public interface JaxbTransformerProvider {
     Transformer newJaxbFromXmlTransformer(Unmarshaller unmarshaller);
-    
+
     Transformer newJaxbToXmlTransformer(Marshaller marshaller);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -7,6 +7,6 @@
                             Properties properties,
                             String destinationName,
                             ResultHandlerFactory resultHandlerFactory);
-    
+
     Action newJmsUnwrapMessageObject();
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,9 @@
 package org.drools.runtime.pipeline;
 
-public interface Join extends Emitter, Receiver, Stage {
+public interface Join
+    extends
+    Emitter,
+    Receiver,
+    Stage {
     void completed(PipelineContext context);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,9 @@
 package org.drools.runtime.pipeline;
 
-public interface KnowledgeRuntimeCommand extends Stage, Emitter, Receiver {
+public interface KnowledgeRuntimeCommand
+    extends
+    Stage,
+    Emitter,
+    Receiver {
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,6 +1,9 @@
 package org.drools.runtime.pipeline;
 
-
-public interface Pipeline extends Stage, Emitter {
-    void insert(Object object, ResultHandler resultHandler);
+public interface Pipeline
+    extends
+    Stage,
+    Emitter {
+    void insert(Object object,
+                ResultHandler resultHandler);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineContext.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineContext.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineContext.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -3,15 +3,15 @@
 import java.util.Map;
 
 public interface PipelineContext {
-        
+
     ClassLoader getClassLoader();
-    
+
     Map<String, Object> getProperties();
-    
+
     void setResult(Object result);
-    
+
     Object getResult();
-    
+
     ResultHandler getResultHandler();
-    
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,12 +2,16 @@
 
 import java.util.Properties;
 
+import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
 
+import net.sf.jxls.reader.ReaderBuilder;
 import net.sf.jxls.reader.XLSReader;
 
 import org.drools.ProviderInitializationException;
+import org.drools.builder.help.KnowledgeBuilderHelper;
+import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.StatelessKnowledgeSession;
 import org.milyn.Smooks;
@@ -121,7 +125,7 @@
  * 
  * <p>
  * While the above example is for loading a resource from disk it is also possible to work from a running messaging service. Drools currently
- * provides a single Service for JMS, called JmsMessenger. Other Services will be added later. Look at the JmsMessenger for more details, but below shows
+ * provides a single Service for JMS, called JmsMessenger. Other Services will be added later. Look at the factory method for JmsMessenger for more details, but below shows
  * part of a unit test:
  * </p>
  * 
@@ -172,82 +176,244 @@
 
     private static JmsMessengerProvider       jmsMessengerProvider;
 
+    /**
+     * Construct a new Pipeline to be used when interacting with a StatefulKnowledgeSession.
+     * It assumes that the default entry point will be used for any insertions.
+     * 
+     * @param ksession
+     * @return
+     */
     public static Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession) {
         return getCorePipelineProvider().newStatefulKnowledgeSessionPipeline( ksession );
     }
 
+    /**
+     * Construct a new Pipeline to be used when interacting with a StatefulKnowledgeSession. The entry point
+     * to be used is specified as s String.
+     * 
+     * @param ksession
+     * @param entryPointName
+     * @return
+     */
     public static Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession,
                                                                String entryPointName) {
         return getCorePipelineProvider().newStatefulKnowledgeSessionPipeline( ksession,
                                                                               entryPointName );
     }
 
+    /**
+     * Construct a new Pipeline to be used when interacting with StatelessKnowledgeSessions.
+     * @param ksession
+     * @return
+     */
     public static Pipeline newStatelessKnowledgeSessionPipeline(StatelessKnowledgeSession ksession) {
         return getCorePipelineProvider().newStatelessKnowledgeSessionPipelineImpl( ksession );
     }
 
+    /**
+     * Insert the payload into the StatefulKnowledgeSesssion referenced in the context. This stage
+     * expects the returned FactHandles to be stored in a HashMap of the PipelineContext result property.
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionInsert() {
         return getCorePipelineProvider().newStatefulKnowledgeSessionInsert();
     }
 
+    /**
+     * Executes a StatelessKnowledgeSession. StatelessKnowledgeSessions sessions have four possible execution. Execute against an object
+     * and execute against an Iterable and both with and without Paramters. See StatelessKnowledgeSession for more details on what those 
+     * mean. To control which execution method is used the StatelessKnowledgeSessionPipelineContext has three properties; object, iterable
+     * and parameters. These can be assigned using an MVEL action stage, which has access to that context, the "this" object is assumed 
+     * to be the propagating payload object. If no properties are set it will call executeObject against the propagating payload. The same
+     * is true if just the object property is assigned. If the Iterable property is assigned it all call executeIterable. Finally the WithParamaters
+     * method will be called for each of those if the parameters property is set.
+     * 
+     * <pre>
+     * Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+     *   
+     * KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+     * execute.setReceiver( executeResultHandler );
+     *   
+     * Action assignParameters = PipelineFactory.newMvelAction( "context.parameters.globalParams.setInOut( ['list' : new java.util.ArrayList()] )");
+     * assignParameters.setReceiver( execute );
+     *   
+     * Action assignIterable = PipelineFactory.newMvelAction( "context.setIterable( this )");                
+     * assignIterable.setReceiver( assignParameters );
+     *           
+     * Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline(ksession);
+     * pipeline.setReceiver( assignIterable );
+     *   
+     * ResultHandlerImpl handler = new ResultHandlerImpl();
+     *     
+     * pipeline.insert( object, handler );
+     * </pre>
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatelessKnowledgeSessionExecute() {
         return getCorePipelineProvider().newStatelessKnowledgeSessionExecute();
     }
 
+    /**
+     * The payload here is expected to be a String and the global will be set on the PipelineContext result property. The propagating
+     * object will also be switched to the results.
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetGlobal() {
         return getCorePipelineProvider().newStatefulKnowledgeSessionGetGlobal();
     }
 
+    /**
+     * Expects the payload to be a Map<String, Object> which it will iterate and set each global on the StatefulKnowledgeSession
+     * .
+     * @return
+     */
+    
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal() {
         return getCorePipelineProvider().newStatefulKnowledgeSessionSetGlobal();
     }
 
+    /**
+     * Expects the payload to be a FactHandle, the associated insert object will be set on the PipelineContext result property and
+     * the result itself will also be propagated.
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetObject() {
         return getCorePipelineProvider().newStatefulKnowledgeSessionGetObject();
     }
 
+    /**
+     * Expects the payload to be any object, that object will be set as a global using the given identifier.
+     * @param identifier
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier) {
         return getCorePipelineProvider().newStatefulKnowledgeSessionSetGlobal( identifier );
     }
 
+    /**
+     * The payload is inserted as a Signal of a given event type.
+     * 
+     * @param eventType
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType) {
         return getCorePipelineProvider().newStatefulKnowledgeSessionSignalEvent( eventType );
     }
 
+    /**
+     * The payload is inserted as a Signal of a given event type for a specific process instance.
+     * @param eventType
+     * @param id
+     * @return
+     */
     public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType,
                                                                                  long id) {
         return getCorePipelineProvider().newStatefulKnowledgeSessionSignalEvent( eventType,
                                                                                  id );
     }
 
-    public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String eventType) {
-        return getCorePipelineProvider().newStatefulKnowledgeSessionStartProcess( eventType );
+    /**
+     * Start a process of the given id. The payload is expected to be a Map and is used for the process variables.
+     * @param id
+     * @return
+     */
+    public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String id) {
+        return getCorePipelineProvider().newStatefulKnowledgeSessionStartProcess( id );
     }
 
+    /**
+     * This assigns the propagating payload object to the PipelineContext.result property
+     * @return
+     */
     public static Action newAssignObjectAsResult() {
         return getCorePipelineProvider().newAssignObjectAsResult();
     }
 
+    /**
+     * When inserting into a Pipeline a ResultHandler may be passed. This stage will execute the user implemented class.
+     * @return
+     */
     public static Action newExecuteResultHandler() {
         return getCorePipelineProvider().newExecuteResultHandler();
     }
 
+    /**
+     * Create a new MVEL action
+     * @param action
+     * @return
+     */
     public static Action newMvelAction(String action) {
         return getCorePipelineProvider().newMvelAction( action );
     }
 
+    /**
+     * Creat a new MVEL expression, the payload will be set to the results of the expression.
+     * @param expression
+     * @return
+     */
     public static Expression newMvelExpression(String expression) {
         return getCorePipelineProvider().newMvelExpression( expression );
     }
 
+    /**
+     * Iterates the Iterable object and propagate each element in turn.
+     * @return
+     */
     public static Splitter newIterateSplitter() {
         return getCorePipelineProvider().newIterateSplitter();
     }
 
+    /**
+     * Collect each propagated item into a list, this is used as part of a Splitter.
+     * The Join should be set on the splitter using the setJoin method, this allows the Splitter
+     * to signal the join when it has propagated all the elements of the Iterable object.
+     * @return
+     */
     public static Join newListCollectJoin() {
         return getCorePipelineProvider().newListCollectJoin();
     }
 
+    /**
+     * Creates a new JmsMessenger which runs as a service in it's own thread. It expects an existing JNDI entry for "ConnectionFactory"
+     * Which will be used to create the MessageConsumer which will feed into the specified pipeline.
+     * 
+     * <pre>
+     * // as this is a service, it's more likely the results will be logged or sent as a return message 
+     * Action resultHandlerStage = PipelineFactory.newExecuteResultHandler();
+     *
+     * // Insert the transformed object into the session associated with the PipelineContext
+     * KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+     * insertStage.setReceiver( resultHandlerStage );
+     *
+     * // Create the transformer instance and create the Transformer stage, where we are going from Xml to Pojo. Jaxb needs an array of the available classes
+     * JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
+     *                                                              kbase );
+     * Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
+     * Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
+     * transformer.setReceiver( insertStage );
+     *
+     * // payloads for JMS arrive in a Message wrapper, we need to unwrap this object
+     * Action unwrapObjectStage = PipelineFactory.newJmsUnwrapMessageObject();
+     * unwrapObjectStage.setReceiver( transformer );
+     *
+     * // Create the start adapter Pipeline for StatefulKnowledgeSessions
+     * Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+     * pipeline.setReceiver( unwrapObjectStage );
+     *
+     * // Services, like JmsMessenger take a ResultHandlerFactory implementation, this is because a result handler must be created for each incoming message.
+     * ResultHandleFactoryImpl factory = new ResultHandleFactoryImpl();
+     * Service messenger = PipelineFactory.newJmsMessenger( pipeline,
+     *                                                      props,
+     *                                                      destinationName,
+     *                                                      factory );
+     * messenger.start();
+     * </pre>
+     * @param pipeline
+     * @param properties
+     * @param destinationName
+     * @param resultHandlerFactory
+     * @return
+     */
     public static Service newJmsMessenger(Pipeline pipeline,
                                           Properties properties,
                                           String destinationName,
@@ -258,36 +424,149 @@
                                                           resultHandlerFactory );
     }
 
+    /**
+     * Unwrap the payload from the JMS Message and propagate it as the payload object.
+     * @return
+     */
     public static Action newJmsUnwrapMessageObject() {
         return getJmsMessengerProvider().newJmsUnwrapMessageObject();
     }
 
+    /**
+     * Transforms from Source to Pojo using Smooks, the resulting pojo is set as the propagating object. 
+     * 
+     * <pre>
+     * // Instantiate Smooks with the config...
+     * Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
+     *
+     * Transformer transformer = PipelineFactory.newSmooksFromSourceTransformer( smooks,
+     *                                                                           "orderItem" );
+     * transformer.setReceiver( insertStage );
+     * </pre>
+     * 
+     * @param smooks
+     * @param rootId
+     * @return
+     */
     public static Transformer newSmooksFromSourceTransformer(Smooks smooks,
                                                              String rootId) {
         return getSmooksPipelineProvider().newSmooksFromSourceTransformer( smooks,
                                                                            rootId );
     }
 
+    /**
+     * Transforms from Pojo to Source using Smooks, the resulting Source is set as the propagating object
+     * 
+     * <pre>
+     * // Instantiate Smooks with the config...
+     * Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
+     *
+     * Transformer transformer = PipelineFactory.newSmooksToSourceTransformer( smooks );
+     * transformer.setReceiver( receiver );
+     * </pre>
+     * 
+     * @param smooks
+     * @param rootId
+     * @return
+     */    
     public static Transformer newSmooksToSourceTransformer(Smooks smooks) {
         return getSmooksPipelineProvider().newSmooksToSourceTransformer( smooks );
     }
 
+    /**
+     * Transforms from XML to Pojo using JAXB, the resulting pojo is set as the propagating object. 
+     * 
+     * <pre>
+     * JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
+     *                                                                kbase );
+     * Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
+     * Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
+     * transformer.setReceiver( receiver );
+     * </pre>
+     *
+     * Don't forget the XSD model must be generated, using XJC at runtime into the KnowledgeBase first,
+     * Using KnowledgeBuilderHelper.addXsdModel:
+     * <pre>
+     * Options xjcOpts = new Options();
+     * xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
+     * KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+     *
+     * String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd",
+     *                                                                                                 getClass() ),
+     *                                                           kbuilder,
+     *                                                           xjcOpts,
+     *                                                           "xsd" );
+     * </pre>
+     * @param unmarshaller
+     * @return
+     */
     public static Transformer newJaxbFromXmlTransformer(Unmarshaller unmarshaller) {
         return getJaxbPipelineProvider().newJaxbFromXmlTransformer( unmarshaller );
     }
 
+    /**
+     * Transforms from Pojo to XML using JAXB, the resulting XML is set as the propagating object. 
+     * <pre>
+     *  JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
+     *                                                               kbase );
+     *  Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
+     *  Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
+     *  transformer.setReceiver( receiver );
+     *
+     * 
+     * @param marshaller
+     * @return
+     */
     public static Transformer newJaxbToXmlTransformer(Marshaller marshaller) {
         return getJaxbPipelineProvider().newJaxbToXmlTransformer( marshaller );
     }
 
+    /**
+     * Transforms from XML to Pojo using XStream, the resulting Pojo is set as the propagating object. 
+     * 
+     * <pre>
+     * XStream xstream = new XStream();
+     * Transformer transformer = PipelineFactory.newXStreamFromXmlTransformer( xstream );
+     * transformer.setReceiver( receiver );
+     * </pre>
+     * @param xstream
+     * @return
+     */
     public static Transformer newXStreamFromXmlTransformer(XStream xstream) {
         return getXStreamTransformerProvider().newXStreamFromXmlTransformer( xstream );
     }
 
+    /**
+     * Transforms from Pojo to XML using XStream, the resulting XML is set as the propagating object. 
+     * 
+     * <pre>
+     * XStream xstream = new XStream();
+     * Transformer transformer = PipelineFactory.newXStreamToXmlTransformer( xstream );
+     * transformer.setReceiver( receiver );
+     * </pre>
+     * @param xstream
+     * @return
+     */    
     public static Transformer newXStreamToXmlTransformer(XStream xstream) {
         return getXStreamTransformerProvider().newXStreamToXmlTransformer( xstream );
     }
 
+    /**
+     * Transforms from an Excel spread to a Map of pojos pojos using jXLS, the resulting map is set as the propagating object.
+     * You may need to use splitters and MVEL expressions to split up the transformation to insert individual pojos.
+     * 
+     * Note you must provde an XLSReader, which references the mapping file and also an MVEL string which will instantiate the map.
+     * The mvel expression is pre-compiled but executedon each usage of the transformation.
+     * 
+     * <pre>
+     * XLSReader mainReader = ReaderBuilder.buildFromXML( ResourceFactory.newClassPathResource( "departments.xml", getClass() ).getInputStream() );
+     * Transformer transformer = PipelineFactory.newJxlsTransformer(mainReader, "[ 'departments' : new java.util.ArrayList(), 'company' : new org.drools.runtime.pipeline.impl.Company() ]");
+     * </pre>
+     * 
+     * @param xlsReader
+     * @param text
+     * @return
+     */
     public static Transformer newJxlsTransformer(XLSReader xlsReader,
                                                  String text) {
         return getJxlsTransformerProvider().newJxlsTransformer( xlsReader,

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,6 +1,6 @@
 package org.drools.runtime.pipeline;
 
-
 public interface Receiver {
-	void receive(Object object, PipelineContext context);
+    void receive(Object object,
+                 PipelineContext context);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,5 @@
 package org.drools.runtime.pipeline;
 
-public interface ResultHandlerFactory {    
+public interface ResultHandlerFactory {
     ResultHandler newResultHandler();
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,12 +2,13 @@
 
 public interface Service {
     void start();
+
     void stop();
-    
+
     void setServiceExceptionHandler(ServiceExceptionHandler exceptionHandler);
 
     void handleException(Service service,
                          Object object,
                          Exception exception);
-    
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,7 @@
 package org.drools.runtime.pipeline;
 
 public interface ServiceExceptionHandler {
-    public void handleException(Service service, Object object, Exception exception);
+    public void handleException(Service service,
+                                Object object,
+                                Exception exception);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,9 @@
 package org.drools.runtime.pipeline;
 
-public interface Splitter  extends Emitter, Receiver, Stage {
+public interface Splitter
+    extends
+    Emitter,
+    Receiver,
+    Stage {
     void setJoin(Join join);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StageExceptionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StageExceptionHandler.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StageExceptionHandler.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,7 @@
 package org.drools.runtime.pipeline;
 
 public interface StageExceptionHandler {
-    public void handleException(Stage stage, Object object, Exception exception);
+    public void handleException(Stage stage,
+                                Object object,
+                                Exception exception);
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StatelessKnowledgeSessionPipelineContext.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StatelessKnowledgeSessionPipelineContext.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/StatelessKnowledgeSessionPipelineContext.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -6,17 +6,17 @@
 public interface StatelessKnowledgeSessionPipelineContext
     extends
     PipelineContext {
-    
+
     StatelessKnowledgeSession getStatelessKnowledgeSession();
-    
+
     void setObject(Object object);
-    
+
     Object getObject();
-    
+
     void setIterable(Iterable iterable);
-    
+
     Iterable getIterable();
-    
+
     Parameters getParameters();
-    
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Transformer.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Transformer.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Transformer.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1,5 +1,9 @@
 package org.drools.runtime.pipeline;
 
-public interface Transformer extends Emitter, Receiver, Stage {
+public interface Transformer
+    extends
+    Emitter,
+    Receiver,
+    Stage {
 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -4,5 +4,6 @@
 
 public interface XStreamTransformerProvider {
     Transformer newXStreamFromXmlTransformer(XStream xstream);
+
     Transformer newXStreamToXmlTransformer(XStream xstream);
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/package.html
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/package.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/package.html	2009-01-20 13:44:04 UTC (rev 24822)
@@ -0,0 +1,9 @@
+<body>
+ <p>
+ The PipelineFactory and associated classes are there to help with the automation of getting information
+ into and out of Drools. 
+ </p>
+ <p>
+ Please see PipelineFactory for more detailed information.
+ </p>
+</body>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessContext.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessContext.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessContext.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -3,15 +3,16 @@
 import org.drools.runtime.KnowledgeRuntime;
 
 public interface ProcessContext {
-	
-	ProcessInstance getProcessInstance();
-	
-	NodeInstance getNodeInstance();
-	
-	KnowledgeRuntime getKnowledgeRuntime();
-	
-	Object getVariable(String variableName);
-	
-	void setVariable(String variableName, Object value);
 
+    ProcessInstance getProcessInstance();
+
+    NodeInstance getNodeInstance();
+
+    KnowledgeRuntime getKnowledgeRuntime();
+
+    Object getVariable(String variableName);
+
+    void setVariable(String variableName,
+                     Object value);
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/StatelessRuleSession.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/StatelessRuleSession.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/StatelessRuleSession.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -10,7 +10,7 @@
  * @see org.drools.runtime.StatelessKnowledgeSession
  */
 public interface StatelessRuleSession {
-    
+
     /**
      * Execute a StatelessKnowledSession inserting just a single object. If a collection (or any other Iterable) or an array is used here, it will be inserted as-is,
      * It will not be iterated and it's internal elements inserted.

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,7 +2,7 @@
 
 import java.util.Collection;
 
-import org.drools.event.rule.WorkingMemoryEventManager;
+import org.drools.KnowledgeBaseConfiguration;
 import org.drools.runtime.ObjectFilter;
 import org.drools.time.SessionClock;
 
@@ -48,7 +48,7 @@
      * @see KnowledgeBaseConfiguration
      */
     FactHandle getFactHandle(Object object);
-    
+
     /**
      * Returns the object associated with the given FactHandle.
      * 
@@ -96,7 +96,7 @@
      * @return
      */
     Agenda getAgenda();
-    
+
     /**
      * Returns the WorkingMemoryEntryPoint instance associated with the given name.
      * 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessKnowledgeSessionPipelineTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessKnowledgeSessionPipelineTest.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatelessKnowledgeSessionPipelineTest.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -18,6 +18,10 @@
 import org.drools.runtime.Parameters;
 import org.drools.runtime.StatelessKnowledgeSession;
 import org.drools.runtime.StatelessKnowledgeSessionResults;
+import org.drools.runtime.pipeline.Action;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
+import org.drools.runtime.pipeline.PipelineFactory;
 import org.drools.runtime.pipeline.ResultHandler;
 import org.drools.runtime.pipeline.impl.MvelAction;
 import org.drools.runtime.pipeline.impl.StatefulKnowledgeSessionInsertStage;
@@ -265,20 +269,20 @@
         kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
         StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
         
-    MvelAction mvelAction1 = new MvelAction( "context.setIterable( this )");
-        MvelAction mvelAction2 = new MvelAction( "context.parameters.globalParams.setInOut( ['list' : new java.util.ArrayList()] )");
+        Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
         
-        mvelAction1.setReceiver( mvelAction2 );
+        KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+        execute.setReceiver( executeResultHandler );
         
-        StatelessKnowledgeSessionExecuteStage stage1 = new StatelessKnowledgeSessionExecuteStage();
-        mvelAction2.setReceiver( stage1 );
+        Action assignParameters = PipelineFactory.newMvelAction( "context.parameters.globalParams.setInOut( ['list' : new java.util.ArrayList()] )");
+        assignParameters.setReceiver( execute );
         
-        MvelAction mvelAction3 = new MvelAction( "context.resultHandler.handleResult( context.result )");
-        stage1.setReceiver( mvelAction3 );
+        Action assignIterable = PipelineFactory.newMvelAction( "context.setIterable( this )");                
+        assignIterable.setReceiver( assignParameters );
+                
+        Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline(ksession);
+        pipeline.setReceiver( assignIterable );
         
-        StatelessKnowledgeSessionPipelineImpl pipeline = new StatelessKnowledgeSessionPipelineImpl(ksession);
-        pipeline.setReceiver( mvelAction1 );
-        
         ResultHandlerImpl handler = new ResultHandlerImpl();
         
         List items = new ArrayList();

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -66,8 +66,8 @@
                                                              id );
     }
 
-    public KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String eventType) {
-        return new StatefulKnowledgeSessionSignalEventStage( eventType );
+    public KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String id) {
+        return new StatefulKnowledgeSessionStartProcessStage( id );
     }
     
     public Action newAssignObjectAsResult() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionStartProcessStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionStartProcessStage.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionStartProcessStage.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -2,13 +2,13 @@
 
 import java.util.Map;
 
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
 import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.Receiver;
 import org.drools.runtime.pipeline.StatefulKnowledgeSessionPipelineContext;
 
 public class StatefulKnowledgeSessionStartProcessStage extends BaseEmitter
     implements
-    Receiver {
+    KnowledgeRuntimeCommand {
     private String id;
 
     public StatefulKnowledgeSessionStartProcessStage(String id) {
@@ -19,9 +19,9 @@
                         PipelineContext context) {
         StatefulKnowledgeSessionPipelineContext kContext = (StatefulKnowledgeSessionPipelineContext) context;
         long instanceId = kContext.getStatefulKnowledgeSession().startProcess( id,
-                                                             (Map<String, Object>) object ).getId();
+                                                                               (Map<String, Object>) object ).getId();
         kContext.setResult( instanceId );
-        
+
         emit( object,
               kContext );
     }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt	2009-01-20 13:44:04 UTC (rev 24822)
@@ -1 +1 @@
-5.0.0.SNAPSHOT 24740M
\ No newline at end of file
+5.0.0.SNAPSHOT 24794M
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/.settings/org.eclipse.jdt.core.prefs	2009-01-20 13:44:04 UTC (rev 24822)
@@ -0,0 +1,5 @@
+#Thu Jan 15 01:40:50 GMT 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5

Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/.classpath	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/.classpath	2009-01-20 13:44:04 UTC (rev 24822)
@@ -6,6 +6,7 @@
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
   <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.1/antlr-runtime-3.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.8/commons-digester-1.8.jar"/>
@@ -18,11 +19,13 @@
   <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.1/jmock-2.5.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/joda-time/joda-time/1.5.2/joda-time-1.5.2.jar"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/net/sf/jxls/jxls-reader/0.9.6/jxls-reader-0.9.6.jar"/>
   <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.5/mvel2-2.0.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.6/mvel2-2.0.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/poi/poi/3.0.2-FINAL/poi-3.0.2-FINAL.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java	2009-01-20 12:02:44 UTC (rev 24821)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java	2009-01-20 13:44:04 UTC (rev 24822)
@@ -32,21 +32,19 @@
 
 public class JxlsTest extends TestCase {
     public void test1() throws Exception {
-        InputStream stream = getClass().getResourceAsStream( "departments.xml");
-        assertNotNull( stream );
-        
         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
         // kbuilder.add( ResourceFactory.newClassPathResource( "test_JXLS.drl", getClass() ), ResourceType.DRL );
         
         ClassLoader cl = ((KnowledgeBuilderImpl)kbuilder).pkgBuilder.getRootClassLoader(); 
         Thread.currentThread().setContextClassLoader( cl );
-        
-        InputStream inputXML = new BufferedInputStream( stream );
-        XLSReader mainReader = ReaderBuilder.buildFromXML( inputXML );
+
         InputStream inputXLS = new BufferedInputStream(getClass().getResourceAsStream( "departmentData.xls"));
         
-        Callable callable = new CallableImpl();
+        XLSReader mainReader = ReaderBuilder.buildFromXML( ResourceFactory.newClassPathResource( "departments.xml", getClass() ).getInputStream() );
         Transformer transformer = PipelineFactory.newJxlsTransformer(mainReader, "[ 'departments' : new java.util.ArrayList(), 'company' : new org.drools.runtime.pipeline.impl.Company() ]");
+        
+        Callable callable = new CallableImpl();
+
         callable.setReceiver( transformer );
         transformer.setReceiver( callable );        
         BasePipelineContext context = new BasePipelineContext( Thread.currentThread().getContextClassLoader() );




More information about the jboss-svn-commits mailing list