[overlord-commits] Overlord SVN: r658 - in sam/trunk: modules/core and 12 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Mon Jul 13 17:00:49 EDT 2009


Author: heiko.braun at jboss.com
Date: 2009-07-13 17:00:48 -0400 (Mon, 13 Jul 2009)
New Revision: 658

Removed:
   sam/trunk/modules/core/src/test/resources/drools/aggregate.drl
Modified:
   sam/trunk/modules/core/pom.xml
   sam/trunk/modules/core/src/main/java/org/jboss/sam/EventMessage.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessor.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessorFactory.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/ProcessingStatement.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntime.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeAware.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeFactory.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInput.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInputCallback.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamOutput.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigFactory.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigurationDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/Configurator.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DataSourceDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DatabaseRefDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/EPLDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/PropertyDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StatementDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamInputDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamOutputDef.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/EPLValueAdapter.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/ExpressionConverter.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/NoCharacterEscapeHandler.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceFactory.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceManager.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/internal/DBCPDataSourceFactory.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeFactory.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeImpl.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/common/MapEventMessage.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsEventProcessorImpl.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsProcessingStatement.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/MapMessageAdapter.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/ObjectMessageAdaptor.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/SAMAdapter.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/UpdateListener.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMDispatcher.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamInput.java
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamRegistry.java
   sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/ApiTestCase.java
   sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/StockTick.java
   sam/trunk/modules/core/src/test/resources/adapter/invm/sam-cfg.xml
   sam/trunk/modules/core/src/test/resources/drools/forward.drl
   sam/trunk/modules/core/src/test/resources/drools/sam-cfg.xml
   sam/trunk/modules/core/src/test/resources/drools/simple.drl
   sam/trunk/pom.xml
Log:
Update to drools 5.0.1

Modified: sam/trunk/modules/core/pom.xml
===================================================================
--- sam/trunk/modules/core/pom.xml	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/pom.xml	2009-07-13 21:00:48 UTC (rev 658)
@@ -58,11 +58,6 @@
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging-api</artifactId>
     </dependency>
-   
-    <dependency>
-      <groupId>jfree</groupId>
-      <artifactId>jfreechart</artifactId>
-    </dependency>
 
     <dependency>
       <groupId>hsqldb</groupId>

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/EventMessage.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/EventMessage.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/EventMessage.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -27,35 +27,38 @@
  * An event message will be send when an Event occurs.<br>
  * It consist of a timestamp and associated event properties.
  * EventMessage's are written to {@link org.jboss.sam.StreamOutput}'s.
- * <p>
- * EventMessage's can be mapped to {@link org.jboss.sam.chart.Chart}'s.
+ * <p/>
  *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface EventMessage<T>
 {
-   /**
-    * Creation timestamp.
-    * @return
-    */
-   long getTimestamp();
+  /**
+   * Creation timestamp.
+   *
+   * @return
+   */
+  long getTimestamp();
 
-   /**
-    * Get an event property by name
-    * @param name
-    * @return
-    */
-   Object getProperty(String name);
+  /**
+   * Get an event property by name
+   *
+   * @param name
+   * @return
+   */
+  Object getProperty(String name);
 
-   /**
-    * Iterate over event property names
-    * @return
-    */
-   Iterator<String> getPropertyNames();
+  /**
+   * Iterate over event property names
+   *
+   * @return
+   */
+  Iterator<String> getPropertyNames();
 
-   /**
-    * Access the underlying implementation
-    * @return
-    */
-   T getUnderlying();
+  /**
+   * Access the underlying implementation
+   *
+   * @return
+   */
+  T getUnderlying();
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessor.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessor.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessor.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -27,89 +27,97 @@
  * An event processor glues together {@link org.jboss.sam.StreamInput} and {@link org.jboss.sam.StreamOutput}
  * and provides a way to register {@link org.jboss.sam.ProcessingStatement}'s,
  * both bound (event forwarding) and unbound (event aggregation and filtering).
- * <p>
+ * <p/>
  * Instances are created through {@link org.jboss.sam.EventProcessorFactory}
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface EventProcessor<T> extends SAMRuntimeAware
 {
-   /**
-    * Add input to the runtime
-    * @param streamInput
-    */
-   void addInput(StreamInput streamInput);
+  /**
+   * Add input to the runtime
+   *
+   * @param streamInput
+   */
+  void addInput(StreamInput streamInput);
 
-   /**
-    * Remove input from the runtime
-    * @param streamName
-    */
-   void removeInput(String streamName);
+  /**
+   * Remove input from the runtime
+   *
+   * @param streamName
+   */
+  void removeInput(String streamName);
 
-   /**
-    * Add output to the runtime
-    * @param streamOutput
-    */
-   void addOutput(StreamOutput streamOutput);
+  /**
+   * Add output to the runtime
+   *
+   * @param streamOutput
+   */
+  void addOutput(StreamOutput streamOutput);
 
-   /**
-    * Remove output from the runtime
-    * @param streamName
-    */
-   void removeOutput(String streamName);
+  /**
+   * Remove output from the runtime
+   *
+   * @param streamName
+   */
+  void removeOutput(String streamName);
 
-   /**
-    * Iterate over input adapter names
-    * @return
-    */
-   Iterator<String> getStreamInputNames();
+  /**
+   * Iterate over input adapter names
+   *
+   * @return
+   */
+  Iterator<String> getStreamInputNames();
 
-   /**
-    * Iterate over output adapter names
-    * @return
-    */
-   Iterator<String> getStreamOutputNames();
+  /**
+   * Iterate over output adapter names
+   *
+   * @return
+   */
+  Iterator<String> getStreamOutputNames();
 
-   /**
-    * Creates a statement
-    *  
-    * @param statementName
-    * @param epl
-    * @return
-    */
-   ProcessingStatement registerStatement(String statementName, String epl);
+  /**
+   * Creates a statement
+   *
+   * @param statementName
+   * @param epl
+   * @return
+   */
+  ProcessingStatement registerStatement(String statementName, String epl);
 
-   /**
-    * Creates a statement and binds it to an output adapter.
-    * 
-    * @param streamOutputName
-    * @param statementName
-    * @param epl
-    * @return
-    */
-   ProcessingStatement registerBoundStatement(String streamOutputName, String statementName, String epl);
+  /**
+   * Creates a statement and binds it to an output adapter.
+   *
+   * @param streamOutputName
+   * @param statementName
+   * @param epl
+   * @return
+   */
+  ProcessingStatement registerBoundStatement(String streamOutputName, String statementName, String epl);
 
-   /**
-    * Cleanup a statement and remove it
-    * @param statementName
-    */
-   void clearStatement(String statementName);
+  /**
+   * Cleanup a statement and remove it
+   *
+   * @param statementName
+   */
+  void clearStatement(String statementName);
 
-   /**
-    * Cleanup all statements and remove them
-    */
-   void clearAllStatements();
+  /**
+   * Cleanup all statements and remove them
+   */
+  void clearAllStatements();
 
-   /**
-    * Iterate over statement names
-    * @return
-    */
-   Iterator<String> getStatementNames();
+  /**
+   * Iterate over statement names
+   *
+   * @return
+   */
+  Iterator<String> getStatementNames();
 
-   String getName();
+  String getName();
 
-   void setName(String name);
+  void setName(String name);
 
-   T getUnderlying();
+  T getUnderlying();
 
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessorFactory.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessorFactory.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/EventProcessorFactory.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -28,23 +28,23 @@
  */
 public abstract class EventProcessorFactory
 {
-   protected EventProcessorFactory()
-   {
-   }
+  protected EventProcessorFactory()
+  {
+  }
 
-   public static EventProcessorFactory newInstance()
-   {
-      return new DefaultEventProcessorFactory();
-   }
+  public static EventProcessorFactory newInstance()
+  {
+    return new DefaultEventProcessorFactory();
+  }
 
-   public abstract EventProcessor createProcessor();
+  public abstract EventProcessor createProcessor();
 
-   static class DefaultEventProcessorFactory extends EventProcessorFactory
-   {
+  static class DefaultEventProcessorFactory extends EventProcessorFactory
+  {
 
-      public EventProcessor createProcessor()
-      {
-         return new DroolsEventProcessorImpl();
-      }
-   }
+    public EventProcessor createProcessor()
+    {
+      return new DroolsEventProcessorImpl();
+    }
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/ProcessingStatement.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/ProcessingStatement.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/ProcessingStatement.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -26,32 +26,36 @@
  * Statements are associated with a {@link org.jboss.sam.EventProcessor}
  * and can be bound to a {@link org.jboss.sam.StreamOutput} to forward events,
  * or used unbound to aggregate and filter events.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface ProcessingStatement<T>
 {
-   /**
-    * Statements are managed by name
-    * @return
-    */
-   String getName();
+  /**
+   * Statements are managed by name
+   *
+   * @return
+   */
+  String getName();
 
-   /**
-    * Get the EPL expression this statement was created from
-    * @return
-    */
-   String getExpression();
-   
-   /**
-    * Check wether the statement is bound to a {@link org.jboss.sam.StreamOutput}
-    * @return
-    */
-   boolean isBound();
+  /**
+   * Get the EPL expression this statement was created from
+   *
+   * @return
+   */
+  String getExpression();
 
-   /**
-    * Access the underlying implementation
-    * @return
-    */
-   T getUnderlying();
+  /**
+   * Check wether the statement is bound to a {@link org.jboss.sam.StreamOutput}
+   *
+   * @return
+   */
+  boolean isBound();
+
+  /**
+   * Access the underlying implementation
+   *
+   * @return
+   */
+  T getUnderlying();
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntime.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntime.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntime.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,20 +21,23 @@
  */
 package org.jboss.sam;
 
+import org.jboss.sam.config.Configurator;
 import org.jboss.sam.datasource.DataSourceManager;
-import org.jboss.sam.config.Configurator;
 
+import java.util.Properties;
 
+
 /**
  * Glues together SAM building blocks.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface SAMRuntime
 {
-   void applyConfiguration(Configurator cfg);
+  void applyConfiguration(Configurator cfg);
 
-   DataSourceManager getDataSourceManager();
+  DataSourceManager getDataSourceManager();
 
-   EventProcessor getEventProcessor();
+  EventProcessor getEventProcessor();
+    
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeAware.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeAware.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeAware.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -22,12 +22,12 @@
 package org.jboss.sam;
 
 /**
- * Marks SAM components that need to interact with the runtime itself. 
- * 
+ * Marks SAM components that need to interact with the runtime itself.
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface SAMRuntimeAware
 {
-   void setRuntime(SAMRuntime runtime);
+  void setRuntime(SAMRuntime runtime);
 }
 

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeFactory.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeFactory.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/SAMRuntimeFactory.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -29,10 +29,10 @@
  */
 public abstract class SAMRuntimeFactory
 {
-   public abstract SAMRuntime createRuntime(Configurator configurator);
+  public abstract SAMRuntime createRuntime(Configurator configurator);
 
-   public static SAMRuntimeFactory newInstance()
-   {
-      return new DefaultRuntimeFactory();
-   }   
+  public static SAMRuntimeFactory newInstance()
+  {
+    return new DefaultRuntimeFactory();
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInput.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInput.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInput.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -25,33 +25,35 @@
  * Stream inputs are registered with {@link org.jboss.sam.EventProcessor}'s
  * and notify registered {@link org.jboss.sam.StreamInputCallback}'s when new events arrive.
  * Typically the CEP runtime itself act's as such a listener in order to finished events.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface StreamInput<T>
 {
-   <T extends StreamInput> T start();
+  <T extends StreamInput> T start();
 
-   <T extends StreamInput> T stop();
+  <T extends StreamInput> T stop();
 
-   boolean isStarted();
+  boolean isStarted();
 
-   /**
-    * Register a callback
-    * @param streamInputCallback an event processing instance
-    */
-   void registerCallback(StreamInputCallback streamInputCallback);
+  /**
+   * Register a callback
+   *
+   * @param streamInputCallback an event processing instance
+   */
+  void registerCallback(StreamInputCallback streamInputCallback);
 
-   /**
-    * Remove all registered callbacks
-    */
-   void clearCallbacks();
+  /**
+   * Remove all registered callbacks
+   */
+  void clearCallbacks();
 
-   /**
-    * Stream input name
-    * @return
-    */
-   String getStreamName();
+  /**
+   * Stream input name
+   *
+   * @return
+   */
+  String getStreamName();
 
-   void setStreamName(String name);
+  void setStreamName(String name);
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInputCallback.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInputCallback.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamInputCallback.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -23,10 +23,10 @@
 
 /**
  * Registered with a {@link StreamInput} and will be notified when new events arrive.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface StreamInputCallback
 {
-   void onEvent(Object args);  
+  void onEvent(Object args);
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamOutput.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamOutput.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/StreamOutput.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -25,28 +25,30 @@
  * Stream outputs are used to forward events. Typically the last step
  * of an event processing chain leads to an action which receive events through
  * the <code>write(...)</code> method.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface StreamOutput<T>
 {
-   <T extends StreamOutput> T start();
+  <T extends StreamOutput> T start();
 
-   <T extends StreamOutput> T stop();
+  <T extends StreamOutput> T stop();
 
-   boolean isStarted();
+  boolean isStarted();
 
-   /**
-    * Receive forwarded events
-    * @param args an event adapter
-    */
-   void write(EventMessage[] args);
+  /**
+   * Receive forwarded events
+   *
+   * @param args an event adapter
+   */
+  void write(EventMessage[] args);
 
-   /**
-    * Stream output name
-    * @return
-    */
-   String getStreamName();
+  /**
+   * Stream output name
+   *
+   * @return
+   */
+  String getStreamName();
 
-   void setStreamName(String name);
+  void setStreamName(String name);
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigFactory.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigFactory.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigFactory.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -35,89 +35,94 @@
 
 /**
  * Marshall/Unmarshall processing node definitions.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class ConfigFactory
 {
 
-   private ConfigFactory()
-   {
-   }
+  private ConfigFactory()
+  {
+  }
 
-   public static ConfigFactory newInstance()
-   {
-      return new ConfigFactory();
-   }
+  public static ConfigFactory newInstance()
+  {
+    return new ConfigFactory();
+  }
 
-   public ConfigurationDef unmarshall(URL configFile)
-   {
-      try
-      {
-         return unmarshall(configFile.openStream());
-         
-      } catch (IOException e)
-      {
-         throw new RuntimeException("Failed to unmarshall " + configFile , e);
-      }
-   }
+  public ConfigurationDef unmarshall(URL configFile)
+  {
+    try
+    {
+      return unmarshall(configFile.openStream());
 
-   public ConfigurationDef unmarshall(InputStream inputStream)
-   {
-      ConfigurationDef pnd = null;
-      
-      try
-      {
-         JAXBContext jaxb = JAXBContext.newInstance(ConfigurationDef.class);
-         Unmarshaller unmarshaller = jaxb.createUnmarshaller();         
-         pnd = (ConfigurationDef) unmarshaller.unmarshal(inputStream);
+    }
+    catch (IOException e)
+    {
+      throw new RuntimeException("Failed to unmarshall " + configFile, e);
+    }
+  }
 
-      } catch (Exception e)
-      {
-         throw new RuntimeException("Failed to unmarshall configuration" , e);
-      }
-      finally
-      {
-         if(inputStream!=null)
-            try
-            {
-               inputStream.close();
-            } catch (IOException e)
-            {
-               //
-            }
-      }
+  public ConfigurationDef unmarshall(InputStream inputStream)
+  {
+    ConfigurationDef pnd = null;
 
-      return pnd;
+    try
+    {
+      JAXBContext jaxb = JAXBContext.newInstance(ConfigurationDef.class);
+      Unmarshaller unmarshaller = jaxb.createUnmarshaller();
+      pnd = (ConfigurationDef) unmarshaller.unmarshal(inputStream);
 
-   }
+    }
+    catch (Exception e)
+    {
+      throw new RuntimeException("Failed to unmarshall configuration", e);
+    }
+    finally
+    {
+      if (inputStream != null)
+        try
+        {
+          inputStream.close();
+        }
+        catch (IOException e)
+        {
+          //
+        }
+    }
 
-   public void marshall(ConfigurationDef pnd, OutputStream out)
-   {
-      try
-      {
-         JAXBContext jaxb = JAXBContext.newInstance(ConfigurationDef.class);
-         Marshaller marshaller = jaxb.createMarshaller();         
-         marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
-         // encoding needs to be different to UTF-8, otherwise the custom encode will not be used
-         marshaller.setProperty(Marshaller.JAXB_ENCODING, "ISO-8859-1");
-         marshaller.setProperty( CharacterEscapeHandler.class.getName(), new NoCharacterEscapeHandler());
-         marshaller.marshal(pnd, out);
-      } catch (JAXBException e)
-      {
-         throw new RuntimeException("Failed to marshall " + pnd, e);
-      }
-      finally
-      {
-         if(out!=null)
-            try
-            {
-               out.close();
-            } catch (IOException e)
-            {
-               //
-            }
-      }
-   }
+    return pnd;
 
+  }
+
+  public void marshall(ConfigurationDef pnd, OutputStream out)
+  {
+    try
+    {
+      JAXBContext jaxb = JAXBContext.newInstance(ConfigurationDef.class);
+      Marshaller marshaller = jaxb.createMarshaller();
+      marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+      // encoding needs to be different to UTF-8, otherwise the custom encode will not be used
+      marshaller.setProperty(Marshaller.JAXB_ENCODING, "ISO-8859-1");
+      marshaller.setProperty(CharacterEscapeHandler.class.getName(), new NoCharacterEscapeHandler());
+      marshaller.marshal(pnd, out);
+    }
+    catch (JAXBException e)
+    {
+      throw new RuntimeException("Failed to marshall " + pnd, e);
+    }
+    finally
+    {
+      if (out != null)
+        try
+        {
+          out.close();
+        }
+        catch (IOException e)
+        {
+          //
+        }
+    }
+  }
+
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigurationDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigurationDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/ConfigurationDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -23,125 +23,125 @@
 
 import javax.xml.bind.annotation.*;
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.ArrayList;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 @XmlRootElement(name = "processingNode", namespace = "http://org.jboss.sam/08/2008/")
 @XmlType(
-  name = "processingNodeType",
-  namespace = "http://org.jboss.sam/08/2008/",
-  propOrder = {
-    "props", "databases", "inputs", "outputs", "statements"
-    }
+    name = "processingNodeType",
+    namespace = "http://org.jboss.sam/08/2008/",
+    propOrder = {
+        "props", "databases", "inputs", "outputs", "statements"
+        }
 )
 public class ConfigurationDef
 {
 
-   private String name;
-   private URI domain;
+  private String name;
+  private URI domain;
 
-   private List<StatementDef> statements = new ArrayList<StatementDef>();
+  private List<StatementDef> statements = new ArrayList<StatementDef>();
 
-   private List<StreamInputDef> inputs = new ArrayList<StreamInputDef>();
+  private List<StreamInputDef> inputs = new ArrayList<StreamInputDef>();
 
-   private List<StreamOutputDef> outputs = new ArrayList<StreamOutputDef>();
+  private List<StreamOutputDef> outputs = new ArrayList<StreamOutputDef>();
 
-   private List<PropertyDef> props = new ArrayList<PropertyDef>();
+  private List<PropertyDef> props = new ArrayList<PropertyDef>();
 
-   private List<DatabaseRefDef> databases = new ArrayList<DatabaseRefDef>();
+  private List<DatabaseRefDef> databases = new ArrayList<DatabaseRefDef>();
 
-   public ConfigurationDef()
-   {
-   }
+  public ConfigurationDef()
+  {
+  }
 
-   public ConfigurationDef(String name, URI domain)
-   {
-      this.name = name;
-      this.domain = domain;
-   }
+  public ConfigurationDef(String name, URI domain)
+  {
+    this.name = name;
+    this.domain = domain;
+  }
 
-   @XmlAttribute
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   @XmlAttribute
-   public URI getDomain()
-   {
-      return domain;
-   }
+  @XmlAttribute
+  public URI getDomain()
+  {
+    return domain;
+  }
 
-   public void setDomain(URI domain)
-   {
-      this.domain = domain;
-   }
+  public void setDomain(URI domain)
+  {
+    this.domain = domain;
+  }
 
-   @XmlElementWrapper(name = "statements")
-   @XmlElement(name="statement")
-   public List<StatementDef> getStatements()
-   {
-      return statements;
-   }
+  @XmlElementWrapper(name = "statements")
+  @XmlElement(name = "statement")
+  public List<StatementDef> getStatements()
+  {
+    return statements;
+  }
 
-   public void setStatements(List<StatementDef> statements)
-   {
-      this.statements = statements;
-   }
+  public void setStatements(List<StatementDef> statements)
+  {
+    this.statements = statements;
+  }
 
-   @XmlElementWrapper(name = "inputs")
-   @XmlElement(name="input")
-   public List<StreamInputDef> getInputs()
-   {
-      return inputs;
-   }
+  @XmlElementWrapper(name = "inputs")
+  @XmlElement(name = "input")
+  public List<StreamInputDef> getInputs()
+  {
+    return inputs;
+  }
 
-   public void setInputs(List<StreamInputDef> inputs)
-   {
-      this.inputs = inputs;
-   }
+  public void setInputs(List<StreamInputDef> inputs)
+  {
+    this.inputs = inputs;
+  }
 
-   @XmlElementWrapper(name = "outputs")
-   @XmlElement(name="output")
-   public List<StreamOutputDef> getOutputs()
-   {
-      return outputs;
-   }
+  @XmlElementWrapper(name = "outputs")
+  @XmlElement(name = "output")
+  public List<StreamOutputDef> getOutputs()
+  {
+    return outputs;
+  }
 
-   public void setOutputs(List<StreamOutputDef> outputs)
-   {
-      this.outputs = outputs;
-   }
+  public void setOutputs(List<StreamOutputDef> outputs)
+  {
+    this.outputs = outputs;
+  }
 
-   @XmlElementWrapper(name = "runtime-configuration")
-   @XmlElement(name="property")
-   public List<PropertyDef> getProps()
-   {
-      return props;
-   }
+  @XmlElementWrapper(name = "runtime-configuration")
+  @XmlElement(name = "property")
+  public List<PropertyDef> getProps()
+  {
+    return props;
+  }
 
-   public void setProps(List<PropertyDef> props)
-   {
-      this.props = props;
-   }
+  public void setProps(List<PropertyDef> props)
+  {
+    this.props = props;
+  }
 
-   @XmlElementWrapper(name = "database-references")
-   @XmlElement(name="database-reference")
-   public List<DatabaseRefDef> getDatabases()
-   {
-      return databases;
-   }
+  @XmlElementWrapper(name = "database-references")
+  @XmlElement(name = "database-reference")
+  public List<DatabaseRefDef> getDatabases()
+  {
+    return databases;
+  }
 
-   public void setDatabases(List<DatabaseRefDef> databases)
-   {
-      this.databases = databases;
-   }
+  public void setDatabases(List<DatabaseRefDef> databases)
+  {
+    this.databases = databases;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/Configurator.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/Configurator.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/Configurator.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -24,93 +24,103 @@
 import org.jboss.sam.EventProcessor;
 import org.jboss.sam.StreamInput;
 import org.jboss.sam.StreamOutput;
+import org.jboss.sam.datasource.DataSourceFactory;
 import org.jboss.sam.datasource.DataSourceManager;
-import org.jboss.sam.datasource.DataSourceFactory;
 
 import javax.sql.DataSource;
+import java.util.Properties;
 
 /**
  * An intermediary to configure {@link org.jboss.sam.SAMRuntime}'s
  * from configuration descriptors. <br>
  * Allows for interception/modification of configuration values before the
  * actuall configuration is applied to runtime components.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class Configurator
 {
-   private ClassLoader loader = Thread.currentThread().getContextClassLoader();
-   private ConfigurationDef nodeDef;
-   
-   public Configurator(ConfigurationDef nodeDef, ClassLoader loader)
-   {
-      this.nodeDef = nodeDef;
-      this.loader = loader;
-   }
+  private ClassLoader loader = Thread.currentThread().getContextClassLoader();
+  private ConfigurationDef configTree;
 
-   public Configurator(ConfigurationDef nodeDef)
-   {
-      this.nodeDef = nodeDef;
-   }
+  public Configurator(ConfigurationDef configTree, ClassLoader loader)
+  {
+    this.configTree = configTree;
+    this.loader = loader;
+  }
 
-   public void configure(EventProcessor processor)
-   {
-      processor.setName( nodeDef.getName() );
+  public Configurator(ConfigurationDef configTree)
+  {
+    this.configTree = configTree;
+  }
 
-      for(StreamInputDef def : nodeDef.getInputs())
-      {
-         StreamInput input = (StreamInput)newInstance(def.getClazz());
-         input.setStreamName(def.getName());
-         processor.addInput(input);
-      }
+  public void configure(EventProcessor processor)
+  {
+    processor.setName(configTree.getName());
 
-      for(StreamOutputDef def : nodeDef.getOutputs())
-      {
-         StreamOutput output = (StreamOutput)newInstance(def.getClazz());
-         output.setStreamName(def.getName());
-         processor.addOutput(output);
-      }
+    for (StreamInputDef def : configTree.getInputs())
+    {
+      StreamInput input = (StreamInput) newInstance(def.getClazz());
+      input.setStreamName(def.getName());
+      processor.addInput(input);
+    }
 
-      for(StatementDef def : nodeDef.getStatements())
-      {
-         if(def.getBoundTo()!=null)
-         {
-            processor.registerBoundStatement(
-              def.getBoundTo(), def.getName(), def.getEpl().getExpression()
-            );
-         }
-         else
-         {
-            processor.registerStatement(
-              def.getName(), def.getEpl().getExpression()
-            );
-         }
-      }
-   }
+    for (StreamOutputDef def : configTree.getOutputs())
+    {
+      StreamOutput output = (StreamOutput) newInstance(def.getClazz());
+      output.setStreamName(def.getName());
+      processor.addOutput(output);
+    }
 
-   public void configure(DataSourceManager manager)
-   {
-      DataSourceFactory dsFactory = DataSourceFactory.newInstance();
-      
-      for(DatabaseRefDef def : this.nodeDef.getDatabases())
+    for (StatementDef def : configTree.getStatements())
+    {
+      if (def.getBoundTo() != null)
       {
-         DataSource ds = dsFactory.createDataSource(def.getDatasource());
-         manager.addDataSource(def.getName(), ds);
+        processor.registerBoundStatement(
+            def.getBoundTo(), def.getName(), def.getEpl().getExpression()
+        );
       }
-   }
-
-   private Object newInstance(String clazz)
-   {
-      Object obj = null;
-      try
+      else
       {
-         obj = loader.loadClass( clazz ).newInstance();
+        processor.registerStatement(
+            def.getName(), def.getEpl().getExpression()
+        );
       }
-      catch (Exception e)
-      {
-         throw new RuntimeException("Failed to load class: " + clazz, e);  
-      }
+    }
 
-      return obj;
-   }
+    Properties properties = new Properties();
+    for(PropertyDef prop : configTree.getProps())
+    {
+      properties.put(prop.getName(), prop.getValue());
+    }
+
+    
+
+  }
+
+  public void configure(DataSourceManager manager)
+  {
+    DataSourceFactory dsFactory = DataSourceFactory.newInstance();
+
+    for (DatabaseRefDef def : this.configTree.getDatabases())
+    {
+      DataSource ds = dsFactory.createDataSource(def.getDatasource());
+      manager.addDataSource(def.getName(), ds);
+    }
+  }
+
+  private Object newInstance(String clazz)
+  {
+    Object obj = null;
+    try
+    {
+      obj = loader.loadClass(clazz).newInstance();
+    }
+    catch (Exception e)
+    {
+      throw new RuntimeException("Failed to load class: " + clazz, e);
+    }
+
+    return obj;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DataSourceDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DataSourceDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DataSourceDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,11 +21,11 @@
  */
 package org.jboss.sam.config;
 
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.ArrayList;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
@@ -33,65 +33,65 @@
 @XmlType(name = "dataSourceDefType")
 public class DataSourceDef
 {
-   private String name;
-   private String driver;
-   private String url;
+  private String name;
+  private String driver;
+  private String url;
 
-   private List<PropertyDef> connectionArgs = new ArrayList<PropertyDef>();
+  private List<PropertyDef> connectionArgs = new ArrayList<PropertyDef>();
 
 
-   public DataSourceDef()
-   {
-   }
+  public DataSourceDef()
+  {
+  }
 
-   public DataSourceDef(String name, String driver, String url)
-   {
-      this.name = name;
-      this.driver = driver;
-      this.url = url;
-   }
+  public DataSourceDef(String name, String driver, String url)
+  {
+    this.name = name;
+    this.driver = driver;
+    this.url = url;
+  }
 
-   @XmlAttribute
-   public String getUrl()
-   {
-      return url;
-   }
+  @XmlAttribute
+  public String getUrl()
+  {
+    return url;
+  }
 
-   public void setUrl(String url)
-   {
-      this.url = url;
-   }
+  public void setUrl(String url)
+  {
+    this.url = url;
+  }
 
-   @XmlAttribute
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   @XmlAttribute
-   public String getDriver()
-   {
-      return driver;
-   }
+  @XmlAttribute
+  public String getDriver()
+  {
+    return driver;
+  }
 
-   public void setDriver(String driver)
-   {
-      this.driver = driver;
-   }
-   
-   @XmlElement(name="connection-arg")
-   public List<PropertyDef> getConnectionArgs()
-   {
-      return connectionArgs;
-   }
+  public void setDriver(String driver)
+  {
+    this.driver = driver;
+  }
 
-   public void setConnectionArgs(List<PropertyDef> connectionArgs)
-   {
-      this.connectionArgs = connectionArgs;
-   }
+  @XmlElement(name = "connection-arg")
+  public List<PropertyDef> getConnectionArgs()
+  {
+    return connectionArgs;
+  }
+
+  public void setConnectionArgs(List<PropertyDef> connectionArgs)
+  {
+    this.connectionArgs = connectionArgs;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DatabaseRefDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DatabaseRefDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/DatabaseRefDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -27,39 +27,39 @@
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
- at XmlType(name="databaseRefDefType")
+ at XmlType(name = "databaseRefDefType")
 public class DatabaseRefDef
 {
-   private String name;
-   private DataSourceDef dataSource;
+  private String name;
+  private DataSourceDef dataSource;
 
-   public DatabaseRefDef()
-   {
-   }
+  public DatabaseRefDef()
+  {
+  }
 
-   public DatabaseRefDef(String name)
-   {
-      this.name = name;
-   }
+  public DatabaseRefDef(String name)
+  {
+    this.name = name;
+  }
 
-   @XmlAttribute
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   public DataSourceDef getDatasource()
-   {
-      return dataSource;
-   }
+  public DataSourceDef getDatasource()
+  {
+    return dataSource;
+  }
 
-   public void setDatasource(DataSourceDef dataSource)
-   {
-      this.dataSource = dataSource;
-   }
+  public void setDatasource(DataSourceDef dataSource)
+  {
+    this.dataSource = dataSource;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/EPLDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/EPLDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/EPLDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -23,8 +23,8 @@
 
 import org.jboss.sam.config.internal.EPLValueAdapter;
 
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlValue;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
@@ -34,38 +34,38 @@
 @XmlType(name = "eplType")
 public class EPLDef
 {
-   private String lang;
-   private String expression;
+  private String lang;
+  private String expression;
 
-   public EPLDef()
-   {
-   }
+  public EPLDef()
+  {
+  }
 
-   public EPLDef(String lang)
-   {
-      this.lang = lang;
-   }
+  public EPLDef(String lang)
+  {
+    this.lang = lang;
+  }
 
-   @XmlAttribute(required = true)
-   public String getLang()
-   {
-      return lang;
-   }
+  @XmlAttribute(required = true)
+  public String getLang()
+  {
+    return lang;
+  }
 
-   public void setLang(String lang)
-   {
-      this.lang = lang;
-   }
+  public void setLang(String lang)
+  {
+    this.lang = lang;
+  }
 
-   @XmlValue
-   @XmlJavaTypeAdapter(EPLValueAdapter.class)
-   public String getExpression()
-   {
-      return expression;
-   }
+  @XmlValue
+  @XmlJavaTypeAdapter(EPLValueAdapter.class)
+  public String getExpression()
+  {
+    return expression;
+  }
 
-   public void setExpression(String expression)
-   {
-      this.expression = expression;
-   }
+  public void setExpression(String expression)
+  {
+    this.expression = expression;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/PropertyDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/PropertyDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/PropertyDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -28,44 +28,45 @@
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 @XmlType(
-  name = "propertyDefType",
-  propOrder = {"name", "value"}
+    name = "propertyDefType",
+    propOrder = {"name", "value"}
 )
 public class PropertyDef
 {
-   private String name;
-   private String value;
+  private String name;
+  private String value;
 
 
-   public PropertyDef()
-   {
-   }
+  public PropertyDef()
+  {
+  }
 
-   public PropertyDef(String name, String value)
-   {
-      this.name = name;
-      this.value = value;
-   }
+  public PropertyDef(String name, String value)
+  {
+    this.name = name;
+    this.value = value;
+  }
 
-   @XmlAttribute
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   @XmlAttribute
-   public String getValue()
-   {
-      return value;
-   }
+  @XmlAttribute
+  public String getValue()
+  {
+    return value;
+  }
 
-   public void setValue(String value)
-   {
-      this.value = value;
-   }
+  public void setValue(String value)
+  {
+    this.value = value;
+  }
+    
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StatementDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StatementDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StatementDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -31,54 +31,54 @@
 
 public class StatementDef
 {
-   private String name;
-   private EPLDef epl;
-   private String boundTo;
+  private String name;
+  private EPLDef epl;
+  private String boundTo;
 
-   public StatementDef()
-   {
-   }
+  public StatementDef()
+  {
+  }
 
-   public StatementDef(String name)
-   {
-      this.name = name;
-   }
+  public StatementDef(String name)
+  {
+    this.name = name;
+  }
 
-   public StatementDef(String name, String boundTo)
-   {
-      this.name = name;
-      this.boundTo = boundTo;
-   }
+  public StatementDef(String name, String boundTo)
+  {
+    this.name = name;
+    this.boundTo = boundTo;
+  }
 
-   @XmlAttribute(required = true)
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute(required = true)
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   public EPLDef getEpl()
-   {
-      return epl;
-   }
+  public EPLDef getEpl()
+  {
+    return epl;
+  }
 
-   public void setEpl(EPLDef epl)
-   {
-      this.epl = epl;
-   }
+  public void setEpl(EPLDef epl)
+  {
+    this.epl = epl;
+  }
 
-   @XmlAttribute(required = false)
-   public String getBoundTo()
-   {
-      return boundTo;
-   }
+  @XmlAttribute(required = false)
+  public String getBoundTo()
+  {
+    return boundTo;
+  }
 
-   public void setBoundTo(String boundTo)
-   {
-      this.boundTo = boundTo;
-   }   
+  public void setBoundTo(String boundTo)
+  {
+    this.boundTo = boundTo;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamInputDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamInputDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamInputDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,8 +21,8 @@
  */
 package org.jboss.sam.config;
 
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlAttribute;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
@@ -30,38 +30,38 @@
 @XmlType(name = "inputDefType")
 public class StreamInputDef
 {
-   private String name;
-   private String clazz;
+  private String name;
+  private String clazz;
 
-   public StreamInputDef()
-   {
-   }
+  public StreamInputDef()
+  {
+  }
 
-   public StreamInputDef(String name, String clazz)
-   {
-      this.name = name;
-      this.clazz = clazz;
-   }
+  public StreamInputDef(String name, String clazz)
+  {
+    this.name = name;
+    this.clazz = clazz;
+  }
 
-   @XmlAttribute(required = true)
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute(required = true)
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   @XmlAttribute(required = true)
-   public String getClazz()
-   {
-      return clazz;
-   }
+  @XmlAttribute(required = true)
+  public String getClazz()
+  {
+    return clazz;
+  }
 
-   public void setClazz(String clazz)
-   {
-      this.clazz = clazz;
-   }
+  public void setClazz(String clazz)
+  {
+    this.clazz = clazz;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamOutputDef.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamOutputDef.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/StreamOutputDef.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,8 +21,8 @@
  */
 package org.jboss.sam.config;
 
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlAttribute;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
@@ -30,38 +30,38 @@
 @XmlType(name = "outputDefType")
 public class StreamOutputDef
 {
-   private String name;
-   private String clazz;
+  private String name;
+  private String clazz;
 
-   public StreamOutputDef()
-   {
-   }
+  public StreamOutputDef()
+  {
+  }
 
-   public StreamOutputDef(String name, String clazz)
-   {
-      this.name = name;
-      this.clazz = clazz;
-   }
+  public StreamOutputDef(String name, String clazz)
+  {
+    this.name = name;
+    this.clazz = clazz;
+  }
 
-   @XmlAttribute(required = true)
-   public String getName()
-   {
-      return name;
-   }
+  @XmlAttribute(required = true)
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   @XmlAttribute(required = true)
-   public String getClazz()
-   {
-      return clazz;
-   }
+  @XmlAttribute(required = true)
+  public String getClazz()
+  {
+    return clazz;
+  }
 
-   public void setClazz(String clazz)
-   {
-      this.clazz = clazz;
-   }
+  public void setClazz(String clazz)
+  {
+    this.clazz = clazz;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/EPLValueAdapter.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/EPLValueAdapter.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/EPLValueAdapter.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -29,30 +29,30 @@
 public class EPLValueAdapter extends XmlAdapter<String, String>
 {
 
-   public String unmarshal(String expr) throws Exception
-   {
-      String result = expr;
+  public String unmarshal(String expr) throws Exception
+  {
+    String result = expr;
 
-      if(expr.indexOf("<![CDATA[") !=-1)   // seems that JAXB strips it by default
-      {
-         result = expr.substring(
-           expr.indexOf("<![CDATA[")+1, expr.indexOf("]]")
-         );
-      }
+    if (expr.indexOf("<![CDATA[") != -1)   // seems that JAXB strips it by default
+    {
+      result = expr.substring(
+          expr.indexOf("<![CDATA[") + 1, expr.indexOf("]]")
+      );
+    }
 
-      return result;
-   }
+    return result;
+  }
 
-   public String marshal(String expr) throws Exception
-   {
-      if(expr.indexOf("<![CDATA[") !=-1)
-         throw new IllegalArgumentException("EPLDef.expression may not contain CDATA section");
+  public String marshal(String expr) throws Exception
+  {
+    if (expr.indexOf("<![CDATA[") != -1)
+      throw new IllegalArgumentException("EPLDef.expression may not contain CDATA section");
 
-      StringBuffer sb = new StringBuffer(); 
-      sb.append("<![CDATA[").append("\n");
-      sb.append(expr).append("\n");
-      sb.append("]]>");
+    StringBuffer sb = new StringBuffer();
+    sb.append("<![CDATA[").append("\n");
+    sb.append(expr).append("\n");
+    sb.append("]]>");
 
-      return sb.toString();  
-   }
+    return sb.toString();
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/ExpressionConverter.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/ExpressionConverter.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/ExpressionConverter.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -25,44 +25,47 @@
 
 public class ExpressionConverter
 {
-   /**
-    * Convert an expression from an XML file into an internal representation. JAXB will
-    * probably have already stripped off the CDATA encapsulation. As a result, this method
-    * simply invokes the JAXB type conversion for strings but does not take any other action.
-    *
-    * @param text an XML-compliant expression
-    * @return a pure string expression
-    */
-   public static String parse(String text) {
-      String result = DatatypeConverter.parseString(text);
-      return result;
-   }
+  /**
+   * Convert an expression from an XML file into an internal representation. JAXB will
+   * probably have already stripped off the CDATA encapsulation. As a result, this method
+   * simply invokes the JAXB type conversion for strings but does not take any other action.
+   *
+   * @param text an XML-compliant expression
+   * @return a pure string expression
+   */
+  public static String parse(String text)
+  {
+    String result = DatatypeConverter.parseString(text);
+    return result;
+  }
 
-   /**
-    * Convert an expression from its internal representation to an XML-compliant version.
-    * This method will simply surround the string in a CDATA block and return the result.
-    *
-    * @param text a pure string expression
-    * @return the expression encapsulated within a CDATA block
-    */
-   public static String print(String text) {
-      StringBuffer sb = new StringBuffer(text.length() + 20); //should add the length of the CDATA tags + 8 EOLs to be safe
-      sb.append("<![CDATA[");
-      sb.append(wrapLines(text, 80));
-      sb.append("]]>");
-      return DatatypeConverter.printString(sb.toString());
-   }
+  /**
+   * Convert an expression from its internal representation to an XML-compliant version.
+   * This method will simply surround the string in a CDATA block and return the result.
+   *
+   * @param text a pure string expression
+   * @return the expression encapsulated within a CDATA block
+   */
+  public static String print(String text)
+  {
+    StringBuffer sb = new StringBuffer(text.length() + 20); //should add the length of the CDATA tags + 8 EOLs to be safe
+    sb.append("<![CDATA[");
+    sb.append(wrapLines(text, 80));
+    sb.append("]]>");
+    return DatatypeConverter.printString(sb.toString());
+  }
 
-   /**
-    * Provides line-wrapping for long text strings. EOL indicators are inserted at
-    * word boundaries once a specified line-length has been exceeded.
-    *
-    * @param text the string to be wrapped
-    * @param lineLength the maximum number of characters that should be included in a single line
-    * @return the new string with appropriate EOL insertions
-    */
-   private static String wrapLines(String text, int lineLength) {
-      //wrap logic, watchout for quoted strings!!!!
-      return text;
-   }
+  /**
+   * Provides line-wrapping for long text strings. EOL indicators are inserted at
+   * word boundaries once a specified line-length has been exceeded.
+   *
+   * @param text       the string to be wrapped
+   * @param lineLength the maximum number of characters that should be included in a single line
+   * @return the new string with appropriate EOL insertions
+   */
+  private static String wrapLines(String text, int lineLength)
+  {
+    //wrap logic, watchout for quoted strings!!!!
+    return text;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/NoCharacterEscapeHandler.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/NoCharacterEscapeHandler.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/config/internal/NoCharacterEscapeHandler.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -28,44 +28,58 @@
 
 public class NoCharacterEscapeHandler implements CharacterEscapeHandler
 {
-   /**
-    * Escape characters inside the buffer and send the output to the writer.
-    *
-    * @param buf buffer of characters to be encoded
-    * @param start the index position of the first character that should be encoded
-    * @param len the number of characters that should be encoded
-    * @param isAttValue true, if the buffer represents an XML tag attribute
-    * @param out the output stream
-    *
-    * @throws java.io.IOException if the writing process fails
-    */
-   public void escape(char[] buf, int start, int len, boolean isAttValue, Writer out) throws IOException
-   {
-      for (int i = start; i < start + len; i++) {
-         char ch = buf[i];
-         if (isAttValue) {
-            // isAttValue is set to true when the marshaller is processing
-            // attribute values. Inside attribute values, there are more
-            // things you need to escape, usually.
-            if (ch == '&') {
-               out.write("&");
-            } else if (ch == '>') {
-               out.write(">");
-            } else if (ch == '<') {
-               out.write("");
-            } else if (ch == '\'') {
-               out.write("'");
-            } else if (ch > 0x7F) {
-               // escape everything above ASCII to XXXX;
-               out.write("&#x");
-               out.write(Integer.toHexString(ch));
-               out.write(";");
-            } else {
-               out.write(ch);
-            }
-         } else {
-            out.write(ch);
-         }
-      }      
-   }
+  /**
+   * Escape characters inside the buffer and send the output to the writer.
+   *
+   * @param buf        buffer of characters to be encoded
+   * @param start      the index position of the first character that should be encoded
+   * @param len        the number of characters that should be encoded
+   * @param isAttValue true, if the buffer represents an XML tag attribute
+   * @param out        the output stream
+   * @throws java.io.IOException if the writing process fails
+   */
+  public void escape(char[] buf, int start, int len, boolean isAttValue, Writer out) throws IOException
+  {
+    for (int i = start; i < start + len; i++)
+    {
+      char ch = buf[i];
+      if (isAttValue)
+      {
+        // isAttValue is set to true when the marshaller is processing
+        // attribute values. Inside attribute values, there are more
+        // things you need to escape, usually.
+        if (ch == '&')
+        {
+          out.write("&");
+        }
+        else if (ch == '>')
+        {
+          out.write(">");
+        }
+        else if (ch == '<')
+        {
+          out.write("");
+        }
+        else if (ch == '\'')
+        {
+          out.write("'");
+        }
+        else if (ch > 0x7F)
+        {
+          // escape everything above ASCII to XXXX;
+          out.write("&#x");
+          out.write(Integer.toHexString(ch));
+          out.write(";");
+        }
+        else
+        {
+          out.write(ch);
+        }
+      }
+      else
+      {
+        out.write(ch);
+      }
+    }
+  }
 } 
\ No newline at end of file

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceFactory.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceFactory.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceFactory.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -30,12 +30,12 @@
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public abstract class DataSourceFactory
-{   
-   public static DataSourceFactory newInstance()
-   {
-      return new DBCPDataSourceFactory();
-   }
+{
+  public static DataSourceFactory newInstance()
+  {
+    return new DBCPDataSourceFactory();
+  }
 
-   public abstract DataSource createDataSource(DataSourceDef dsDef);
+  public abstract DataSource createDataSource(DataSourceDef dsDef);
 
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceManager.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceManager.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/DataSourceManager.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -30,29 +30,29 @@
  */
 public class DataSourceManager
 {
-   private Map<String, DataSource> datasources = new ConcurrentHashMap<String, DataSource>();
+  private Map<String, DataSource> datasources = new ConcurrentHashMap<String, DataSource>();
 
-   public void addDataSource(String reference, DataSource ds)
-   {
-      if(datasources.containsKey(reference))
-         throw new IllegalArgumentException("DataSource '" + reference + "' does already exist!");
-      
-      this.datasources.put(reference, ds);
-   }
+  public void addDataSource(String reference, DataSource ds)
+  {
+    if (datasources.containsKey(reference))
+      throw new IllegalArgumentException("DataSource '" + reference + "' does already exist!");
 
-   public DataSource getDataSource(String reference)
-   {
-      DataSource ds = datasources.get(reference);
-      if(null==ds)
-         throw new IllegalArgumentException("No DataSource for reference '" + reference + "'");
+    this.datasources.put(reference, ds);
+  }
 
-      return ds;
-   }
+  public DataSource getDataSource(String reference)
+  {
+    DataSource ds = datasources.get(reference);
+    if (null == ds)
+      throw new IllegalArgumentException("No DataSource for reference '" + reference + "'");
 
-   public boolean hasDataSource(String reference)
-   {
-      return datasources.containsKey(reference);
-   }
+    return ds;
+  }
 
+  public boolean hasDataSource(String reference)
+  {
+    return datasources.containsKey(reference);
+  }
 
+
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/internal/DBCPDataSourceFactory.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/internal/DBCPDataSourceFactory.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/datasource/internal/DBCPDataSourceFactory.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,14 +21,14 @@
  */
 package org.jboss.sam.datasource.internal;
 
-import org.jboss.sam.config.DataSourceDef;
-import org.jboss.sam.datasource.DataSourceFactory;
-import org.apache.commons.pool.ObjectPool;
-import org.apache.commons.pool.impl.GenericObjectPool;
 import org.apache.commons.dbcp.ConnectionFactory;
 import org.apache.commons.dbcp.DriverManagerConnectionFactory;
 import org.apache.commons.dbcp.PoolableConnectionFactory;
 import org.apache.commons.dbcp.PoolingDataSource;
+import org.apache.commons.pool.ObjectPool;
+import org.apache.commons.pool.impl.GenericObjectPool;
+import org.jboss.sam.config.DataSourceDef;
+import org.jboss.sam.datasource.DataSourceFactory;
 
 import javax.sql.DataSource;
 
@@ -38,53 +38,54 @@
 public class DBCPDataSourceFactory extends DataSourceFactory
 {
 
-   public DBCPDataSourceFactory()
-   {
-   }
+  public DBCPDataSourceFactory()
+  {
+  }
 
-   public DataSource createDataSource(DataSourceDef dsDef)
-   {
-      try {
-         Class.forName(dsDef.getDriver());
-      }
-      catch (ClassNotFoundException e)
-      {
-         throw new RuntimeException("Failed to load JDBC driver: " + dsDef.getDriver(), e);
-      }
+  public DataSource createDataSource(DataSourceDef dsDef)
+  {
+    try
+    {
+      Class.forName(dsDef.getDriver());
+    }
+    catch (ClassNotFoundException e)
+    {
+      throw new RuntimeException("Failed to load JDBC driver: " + dsDef.getDriver(), e);
+    }
 
-      //
-      // First, we'll need a ObjectPool that serves as the
-      // actual pool of connections.
-      //
-      // We'll use a GenericObjectPool instance, although
-      // any ObjectPool implementation will suffice.
-      //
-      ObjectPool connectionPool = new GenericObjectPool(null);
+    //
+    // First, we'll need a ObjectPool that serves as the
+    // actual pool of connections.
+    //
+    // We'll use a GenericObjectPool instance, although
+    // any ObjectPool implementation will suffice.
+    //
+    ObjectPool connectionPool = new GenericObjectPool(null);
 
-      //
-      // Next, we'll create a ConnectionFactory that the
-      // pool will use to create Connections.
-      // We'll use the DriverManagerConnectionFactory,
-      // using the connect string passed in the command line
-      // arguments.
-      //
-      ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(dsDef.getUrl(),null);
+    //
+    // Next, we'll create a ConnectionFactory that the
+    // pool will use to create Connections.
+    // We'll use the DriverManagerConnectionFactory,
+    // using the connect string passed in the command line
+    // arguments.
+    //
+    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(dsDef.getUrl(), null);
 
-      //
-      // Now we'll create the PoolableConnectionFactory, which wraps
-      // the "real" Connections created by the ConnectionFactory with
-      // the classes that implement the pooling functionality.
-      //
-      PoolableConnectionFactory poolableConnectionFactory =
-        new PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);
+    //
+    // Now we'll create the PoolableConnectionFactory, which wraps
+    // the "real" Connections created by the ConnectionFactory with
+    // the classes that implement the pooling functionality.
+    //
+    PoolableConnectionFactory poolableConnectionFactory =
+        new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true);
 
-      //
-      // Finally, we create the PoolingDriver itself,
-      // passing in the object pool we created.
-      //
-      PoolingDataSource dataSource = new PoolingDataSource(connectionPool);
+    //
+    // Finally, we create the PoolingDriver itself,
+    // passing in the object pool we created.
+    //
+    PoolingDataSource dataSource = new PoolingDataSource(connectionPool);
 
-      return dataSource;
+    return dataSource;
 
-   }
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeFactory.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeFactory.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeFactory.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,8 +21,8 @@
  */
 package org.jboss.sam.internal;
 
+import org.jboss.sam.SAMRuntime;
 import org.jboss.sam.SAMRuntimeFactory;
-import org.jboss.sam.SAMRuntime;
 import org.jboss.sam.config.Configurator;
 
 /**
@@ -30,10 +30,10 @@
  */
 public class DefaultRuntimeFactory extends SAMRuntimeFactory
 {
-   public SAMRuntime createRuntime(Configurator configurator)
-   {
-      DefaultRuntimeImpl defaultRuntime = new DefaultRuntimeImpl();
-      defaultRuntime.applyConfiguration(configurator);
-      return defaultRuntime;
-   }
+  public SAMRuntime createRuntime(Configurator configurator)
+  {
+    DefaultRuntimeImpl defaultRuntime = new DefaultRuntimeImpl();
+    defaultRuntime.applyConfiguration(configurator);
+    return defaultRuntime;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeImpl.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeImpl.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/DefaultRuntimeImpl.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,46 +21,45 @@
  */
 package org.jboss.sam.internal;
 
-import org.jboss.sam.SAMRuntime;
 import org.jboss.sam.EventProcessor;
 import org.jboss.sam.EventProcessorFactory;
-import org.jboss.sam.SAMRuntimeAware;
-import org.jboss.sam.datasource.DataSourceManager;
+import org.jboss.sam.SAMRuntime;
 import org.jboss.sam.config.Configurator;
+import org.jboss.sam.datasource.DataSourceManager;
 
 /**
  * Glues together SAM building blocks.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class DefaultRuntimeImpl implements SAMRuntime
 {
-   private EventProcessor eventProcessor;
-   private DataSourceManager dataSourceManager;
+  private EventProcessor eventProcessor;
+  private DataSourceManager dataSourceManager;
 
-   DefaultRuntimeImpl()
-   {
-      // create and configure a processor
-      this.eventProcessor = EventProcessorFactory.newInstance().createProcessor();
-      ((SAMRuntimeAware)this.eventProcessor).setRuntime(this);
+  DefaultRuntimeImpl()
+  {
+    // create and configure a processor
+    this.eventProcessor = EventProcessorFactory.newInstance().createProcessor();
+    this.eventProcessor.setRuntime(this);
 
-      // create and configure datasources
-      this.dataSourceManager = new DataSourceManager();
-   }
+    // create and configure datasources
+    this.dataSourceManager = new DataSourceManager();
+  }
 
-   public void applyConfiguration(Configurator cfg)
-   {
-      cfg.configure(this.eventProcessor);
-      cfg.configure(this.dataSourceManager);      
-   }
+  public void applyConfiguration(Configurator cfg)
+  {
+    cfg.configure(this.eventProcessor);
+    cfg.configure(this.dataSourceManager);
+  }
 
-   public DataSourceManager getDataSourceManager()
-   {
-      return this.dataSourceManager;
-   }
+  public DataSourceManager getDataSourceManager()
+  {
+    return this.dataSourceManager;
+  }
 
-   public EventProcessor getEventProcessor()
-   {
-      return this.eventProcessor;
-   }
+  public EventProcessor getEventProcessor()
+  {
+    return this.eventProcessor;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/common/MapEventMessage.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/common/MapEventMessage.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/common/MapEventMessage.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -23,57 +23,57 @@
 
 import org.jboss.sam.EventMessage;
 
-import java.util.Map;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Map;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class MapEventMessage implements EventMessage<Map>
 {
-   private Map<String, Object> data = new HashMap<String, Object>();
+  private Map<String, Object> data = new HashMap<String, Object>();
 
-   private long timestamp;
+  private long timestamp;
 
-   public MapEventMessage(Map<String, Object> data)
-   {
-      this.data = data;
-   }
+  public MapEventMessage(Map<String, Object> data)
+  {
+    this.data = data;
+  }
 
-   public MapEventMessage()
-   {
-      this(System.currentTimeMillis());
-   }
+  public MapEventMessage()
+  {
+    this(System.currentTimeMillis());
+  }
 
-   public MapEventMessage(long timestamp)
-   {
-      this.timestamp = timestamp;
-   }
+  public MapEventMessage(long timestamp)
+  {
+    this.timestamp = timestamp;
+  }
 
-   public MapEventMessage put(String key, Object value)
-   {
-      data.put(key, value);
-      return this;
-   }
+  public MapEventMessage put(String key, Object value)
+  {
+    data.put(key, value);
+    return this;
+  }
 
-   public Object getProperty(String name)
-   {
-      return data.get(name);
-   }
+  public Object getProperty(String name)
+  {
+    return data.get(name);
+  }
 
-   public Map getUnderlying()
-   {
-      return data;
-   }
+  public Map getUnderlying()
+  {
+    return data;
+  }
 
-   public long getTimestamp()
-   {
-      return this.timestamp;
-   }
+  public long getTimestamp()
+  {
+    return this.timestamp;
+  }
 
-   public Iterator<String> getPropertyNames()
-   {
-      return this.data.keySet().iterator();
-   }
+  public Iterator<String> getPropertyNames()
+  {
+    return this.data.keySet().iterator();
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsEventProcessorImpl.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsEventProcessorImpl.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsEventProcessorImpl.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,269 +21,232 @@
  */
 package org.jboss.sam.internal.drools;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.spi.GlobalResolver;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseConfiguration;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.logger.KnowledgeRuntimeLogger;
+import org.drools.logger.KnowledgeRuntimeLoggerFactory;
+import org.drools.runtime.Globals;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
 import org.jboss.sam.*;
 import org.jboss.sam.datasource.DataSourceManager;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.InputStreamReader;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.Properties;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class DroolsEventProcessorImpl
-  implements EventProcessor<RuleBase>, StreamInputCallback, GlobalResolver
+    implements EventProcessor<KnowledgeBase>, StreamInputCallback, Globals
 {
+  private String name;
 
-   private String name;  
+  private KnowledgeBase kbase;
+  private StatefulKnowledgeSession session;
 
-   private RuleBase ruleBase;
-   private StatefulSession session;
+  private Map<String, StreamInput> streamInputs = new ConcurrentHashMap<String, StreamInput>();
+  private Map<String, StreamOutput> streamOutputs = new ConcurrentHashMap<String, StreamOutput>();
+  private Map<String, ProcessingStatement> statements = new ConcurrentHashMap<String, ProcessingStatement>();
+  private Map<String, StreamOutputAdapter> outputAdapters = new ConcurrentHashMap<String, StreamOutputAdapter>();
 
-   private Map<String, StreamInput> streamInputs = new ConcurrentHashMap<String, StreamInput>();
-   private Map<String, StreamOutput> streamOutputs = new ConcurrentHashMap<String, StreamOutput>();
-   private Map<String, ProcessingStatement> statements = new ConcurrentHashMap<String, ProcessingStatement>();
+  private SAMRuntime runtime;
 
-   private Map<String, Object> wmGlobals = new ConcurrentHashMap<String, Object>();
-   private Map<String, StreamOutputAdapter> outputAdapters = new ConcurrentHashMap<String, StreamOutputAdapter>();
+  public DroolsEventProcessorImpl()
+  {
+    try
+    {
+      KnowledgeBaseConfiguration conf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
+      //conf.setOption( EventProcessingOption.STREAM );
+      this.kbase = KnowledgeBaseFactory.newKnowledgeBase(conf);
 
-   private SAMRuntime runtime;
+      this.session = kbase.newStatefulKnowledgeSession();
+      this.session.getGlobals().setDelegate(this);
 
-   public DroolsEventProcessorImpl()
-   {
-      try
-      {
-         this.ruleBase = RuleBaseFactory.newRuleBase( RuleBase.RETEOO, null );
-         this.session = ruleBase.newStatefulSession();
-         this.session.setGlobalResolver(this);         
-      }
-      catch (Exception e)
-      {
-         throw new RuntimeException("Failed to initialize event processor", e);
-      }
-   }
+      KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(session);
 
-   public void setRuntime(SAMRuntime runtime)
-   {
-      this.runtime = runtime;
-   }
+    }
+    catch (Exception e)
+    {
+      throw new RuntimeException("Failed to initialize event processor", e);
+    }
+  }
 
-   public Object resolveGlobal(String key)
-   {
-      assert runtime!=null : "Runtime not set!";
-      
-      Object global = null;
-      
-      if("SAM".equals(key))
-      {         
-         DataSourceManager dsMgr = this.runtime.getDataSourceManager();         
-         global = new SAMAdapter(this.session, this.outputAdapters, dsMgr);
-      }
-      else
-      {
-         // It may be a adapter output
-         global = this.outputAdapters.get(key);
+  public void setRuntime(SAMRuntime runtime)
+  {
+    this.runtime = runtime;
+  }
 
-         // Or a general global variable
-         if(null==global)
-            global = wmGlobals.get(key);
-      }
-      return global;
-   }
+  public void onEvent(Object args)
+  {
+    session.insert(args);
+    session.fireAllRules();
+  }
 
-   public void setGlobal(String key, Object object)
-   {
-      this.wmGlobals.put(key, object);
-   }
+  public void addInput(StreamInput streamInput)
+  {
+    streamInput.registerCallback(this);
+    this.streamInputs.put(streamInput.getStreamName(), streamInput);
+  }
 
-   public void writeExternal(ObjectOutput out) throws IOException
-   {
-      throw new RuntimeException("NYI");
-   }
+  public void removeInput(String streamName)
+  {
+    this.streamInputs.remove(streamName);
+  }
 
-   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
-   {
-      throw new RuntimeException("NYI");
-   }
+  public Iterator<String> getStreamInputNames()
+  {
+    return this.streamInputs.keySet().iterator();
+  }
 
-   public void onEvent(Object args)
-   {      
-      session.insert(args);      
+  public void addOutput(StreamOutput streamOutput)
+  {
+    this.streamOutputs.put(streamOutput.getStreamName(), streamOutput);
 
-      // TODO: shouldn't be necessary, revisit!
-      session.fireAllRules();      
-   }
+    // Create a drools adapter
+    StreamOutputAdapter adapter = new StreamOutputAdapter(streamOutput);
 
-   public void addInput(StreamInput streamInput)
-   {
-      streamInput.registerCallback(this);
-      this.streamInputs.put(streamInput.getStreamName(), streamInput);
-   }
+    // Make it available to the drools GlobalResolver
+    this.outputAdapters.put(streamOutput.getStreamName(), adapter);
 
-   public void removeInput(String streamName)
-   {
-      this.streamInputs.remove(streamName);
-   }
+  }
 
-   public Iterator<String> getStreamInputNames()
-   {
-      return this.streamInputs.keySet().iterator();
-   }
+  public void removeOutput(String streamName)
+  {
+    this.streamOutputs.remove(streamName);
+  }
 
-   public void addOutput(StreamOutput streamOutput)
-   {
-      this.streamOutputs.put(streamOutput.getStreamName(), streamOutput);
+  public Iterator<String> getStreamOutputNames()
+  {
+    return this.streamOutputs.keySet().iterator();
+  }
 
-      // Create a drools adapter
-      StreamOutputAdapter adapter = new StreamOutputAdapter(streamOutput);
 
-      // Make it availble to the drools GlobalResolver
-      this.outputAdapters.put(streamOutput.getStreamName(), adapter);
+  public Object get(String key)
+  {
+    Object global = null;
 
-   }
+    if ("SAM".equals(key))
+    {
+      DataSourceManager dsMgr = this.runtime.getDataSourceManager();
+      global = new SAMAdapter(this.session, this.outputAdapters, dsMgr);
+    }
+    else
+    {
+      // It may be a adapter output
+      global = this.outputAdapters.get(key);
+    }
+    return global;
+  }
 
-   public void removeOutput(String streamName)
-   {
-      this.streamOutputs.remove(streamName);
-   }
+  public void set(String string, Object object)
+  {
+    throw new IllegalArgumentException("Not supported");
+  }
 
-   public Iterator<String> getStreamOutputNames()
-   {
-      return this.streamOutputs.keySet().iterator();
-   }
+  public void setDelegate(Globals globals)
+  {
+    throw new IllegalArgumentException("Not supported");
+  }
 
-   /**
-    * Creates a drools package and registers it with the current rulebase
-    */
-   public ProcessingStatement registerStatement(String statementName, String epl)
-   {
-      InputStreamReader reader = new InputStreamReader(
+  /**
+   * Creates a drools package and registers it with the current rulebase
+   */
+  public ProcessingStatement registerStatement(String statementName, String epl)
+  {
+    InputStreamReader reader = new InputStreamReader(
         new ByteArrayInputStream(epl.getBytes())
-      );
+    );
 
-      // Create a drools package
-      org.drools.rule.Package pkg = buildAndAddPackage(reader);
-      DroolsProcessingStatement stmt = new DroolsProcessingStatement(
-        statementName, epl, pkg
+    // Create a drools package
+    KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+    try
+    {
+      builder.add(ResourceFactory.newReaderResource(reader), ResourceType.DRL);
+    }
+    catch (Exception e)
+    {
+      throw new RuntimeException("Failed to read DRL", e);
+    }
+
+    if (builder.hasErrors())
+    {
+      throw new RuntimeException(
+          "Failed to parse DRL '" + statementName + "': \n"
+              + builder.getErrors().toString()
       );
+    }
+    this.kbase.addKnowledgePackages(builder.getKnowledgePackages());
 
-      this.statements.put(statementName, stmt);
-      return stmt;
-   }
+    DroolsProcessingStatement stmt = new DroolsProcessingStatement(
+        statementName, epl, null
+    );
+    
+    this.statements.put(statementName, stmt);// TODO: Why keep the reference?
+    return stmt;
+  }
 
-   /**
-    * Create a drools package, register it with the rulebase and make
-    * sure that the adapter output adapter is available as a drools global variable
-    */
-   public ProcessingStatement registerBoundStatement(String streamOutputName, String statementName, String epl)
-   {
-      StreamOutputAdapter streamOutput = this.outputAdapters.get(streamOutputName);
-      if(null == streamOutput)
-         throw new IllegalArgumentException("No such output stream: " + streamOutputName);
+  /**
+   * Create a drools package, register it with the rulebase and make
+   * sure that the adapter output adapter is available as a drools global variable
+   */
+  public ProcessingStatement registerBoundStatement(String streamOutputName, String statementName, String epl)
+  {
+    StreamOutputAdapter streamOutput = this.outputAdapters.get(streamOutputName);
+    if (null == streamOutput)
+      throw new IllegalArgumentException("No such output stream: " + streamOutputName);
 
-      // register the statement
-      ProcessingStatement stmt = registerStatement(statementName, epl);
+    // register the statement
+    ProcessingStatement stmt = registerStatement(statementName, epl);
 
-      return stmt;
-   }
+    return stmt;
+  }
 
-   public Iterator<String> getStatementNames()
-   {
-      return this.statements.keySet().iterator();
-   }
+  public Iterator<String> getStatementNames()
+  {
+    return this.statements.keySet().iterator();
+  }
 
 
-   public void clearStatement(String statementName)
-   {
-      ProcessingStatement stmt = statements.get(statementName);
-      if(null==stmt)
-         throw new IllegalArgumentException("No such statement: " + statementName);
+  public void clearStatement(String statementName)
+  {
+    ProcessingStatement stmt = statements.get(statementName);
+    if (null == stmt)
+      throw new IllegalArgumentException("No such statement: " + statementName);
 
-      statements.remove(statementName);
-   }
+    statements.remove(statementName);
+  }
 
-   public void clearAllStatements()
-   {
-      Iterator<String> stmtNames = getStatementNames();
-      while(stmtNames.hasNext())
-      {
-         clearStatement(stmtNames.next());
-      }
-   }
+  public void clearAllStatements()
+  {
+    Iterator<String> stmtNames = getStatementNames();
+    while (stmtNames.hasNext())
+    {
+      clearStatement(stmtNames.next());
+    }
+  }
 
-   public String getName()
-   {
-      return this.name;
-   }
+  public String getName()
+  {
+    return this.name;
+  }
 
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   public RuleBase getUnderlying()
-   {
-      return this.ruleBase;
-   }
-
-   // --------------------------------
-   // Drools stuff below
-
-   private org.drools.rule.Package buildAndAddPackage(Reader reader)
-   {
-      org.drools.rule.Package pkg = buildPackage(reader);
-      this.ruleBase.addPackage( pkg );
-      return pkg;
-   }
-
-   private org.drools.rule.Package buildPackage(Reader reader)
-   {
-      org.drools.rule.Package pkg = null;           
-
-      try
-      {
-         DrlParser parser = new DrlParser();
-         PackageDescr packageDescr = parser.parse( reader );
-
-         if ( parser.hasErrors() )
-         {
-            StringBuffer sb = new StringBuffer("Error messages in parser: ");
-            for(Object err : parser.getErrors())
-            {
-               sb.append(err).append("\n");
-            }
-            throw new DroolsParserException( sb.toString() );
-         }
-
-         PackageBuilder builder = createPackageBuilder();
-         builder.addPackage( packageDescr );
-         pkg = builder.getPackage();
-      }
-      catch (DroolsParserException e)
-      {         
-         throw new RuntimeException("Failed to parse DRL", e);
-      }
-
-      return pkg;
-   }
-
-   private PackageBuilder createPackageBuilder()
-   {
-      Properties props = new Properties();
-      props.setProperty("drools.dialect.java.compiler", "JANINO");
-      PackageBuilderConfiguration pkgConfig = new PackageBuilderConfiguration(props);
-      return new PackageBuilder(pkgConfig);      
-   }
+  public KnowledgeBase getUnderlying()
+  {
+    return this.kbase;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsProcessingStatement.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsProcessingStatement.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/DroolsProcessingStatement.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -29,41 +29,41 @@
 public class DroolsProcessingStatement implements ProcessingStatement<org.drools.rule.Package>
 {
 
-   private String name;
-   private String epl;
-   private boolean bound = false;
-   private org.drools.rule.Package pkg;
+  private String name;
+  private String epl;
+  private boolean bound = false;
+  private org.drools.rule.Package pkg;
 
-   public DroolsProcessingStatement(String name, String epl, org.drools.rule.Package pkg)
-   {
-      this(name, epl, pkg, false);
-   }
+  public DroolsProcessingStatement(String name, String epl, org.drools.rule.Package pkg)
+  {
+    this(name, epl, pkg, false);
+  }
 
-   public DroolsProcessingStatement(String name, String epl, org.drools.rule.Package pkg, boolean isBound)
-   {
-      this.name = name;
-      this.epl = epl;
-      this.pkg = pkg;
-      this.bound = isBound;
-   }
+  public DroolsProcessingStatement(String name, String epl, org.drools.rule.Package pkg, boolean isBound)
+  {
+    this.name = name;
+    this.epl = epl;
+    this.pkg = pkg;
+    this.bound = isBound;
+  }
 
-   public String getName()
-   {
-      return this.name;
-   }
+  public String getName()
+  {
+    return this.name;
+  }
 
-   public String getExpression()
-   {
-      return this.epl;
-   }
+  public String getExpression()
+  {
+    return this.epl;
+  }
 
-   public boolean isBound()
-   {
-      return this.bound;
-   }
+  public boolean isBound()
+  {
+    return this.bound;
+  }
 
-   public org.drools.rule.Package getUnderlying()
-   {
-      return pkg; 
-   }
+  public org.drools.rule.Package getUnderlying()
+  {
+    return pkg;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/MapMessageAdapter.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/MapMessageAdapter.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/MapMessageAdapter.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -32,30 +32,30 @@
 public class MapMessageAdapter implements EventMessage
 {
 
-   private Map delegate;
+  private Map delegate;
 
-   public MapMessageAdapter(Map delegate)
-   {
-      this.delegate = delegate;
-   }
+  public MapMessageAdapter(Map delegate)
+  {
+    this.delegate = delegate;
+  }
 
-   public long getTimestamp()
-   {
-      return (Long)delegate.get("timestamp");
-   }
+  public long getTimestamp()
+  {
+    return (Long) delegate.get("timestamp");
+  }
 
-   public Object getProperty(String name)
-   {
-      return delegate.get(name); 
-   }
+  public Object getProperty(String name)
+  {
+    return delegate.get(name);
+  }
 
-   public Iterator getPropertyNames()
-   {
-      return delegate.keySet().iterator();
-   }
+  public Iterator getPropertyNames()
+  {
+    return delegate.keySet().iterator();
+  }
 
-   public Object getUnderlying()
-   {
-      return delegate; 
-   }
+  public Object getUnderlying()
+  {
+    return delegate;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/ObjectMessageAdaptor.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/ObjectMessageAdaptor.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/ObjectMessageAdaptor.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -23,51 +23,51 @@
 
 import org.jboss.sam.EventMessage;
 
+import java.lang.reflect.Method;
 import java.util.Iterator;
-import java.lang.reflect.Method;
 
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class ObjectMessageAdaptor implements EventMessage
 {
-   private final Object obj;
+  private final Object obj;
 
-   public ObjectMessageAdaptor(Object obj)
-   {
-      this.obj = obj;
-   }
+  public ObjectMessageAdaptor(Object obj)
+  {
+    this.obj = obj;
+  }
 
-   public long getTimestamp()
-   {
-      return (Long)getProperty("timestamp");
-   }
+  public long getTimestamp()
+  {
+    return (Long) getProperty("timestamp");
+  }
 
-   public Object getProperty(String name)
-   {
-      Object returnValue = null;
-      String methodName = "get" + name.substring(0,1).toUpperCase()
+  public Object getProperty(String name)
+  {
+    Object returnValue = null;
+    String methodName = "get" + name.substring(0, 1).toUpperCase()
         + name.substring(1, name.length());
-      
-      try
-      {
-         Method method = this.obj.getClass().getMethod(methodName);
-         returnValue = method.invoke(this.obj);
-      }
-      catch (Exception e)
-      {
-         throw new RuntimeException("Property access error: "+methodName, e);
-      }
-      return returnValue;
-   }
 
-   public Iterator getPropertyNames()
-   {
-      throw new RuntimeException("MYI");
-   }
+    try
+    {
+      Method method = this.obj.getClass().getMethod(methodName);
+      returnValue = method.invoke(this.obj);
+    }
+    catch (Exception e)
+    {
+      throw new RuntimeException("Property access error: " + methodName, e);
+    }
+    return returnValue;
+  }
 
-   public Object getUnderlying()
-   {
-      return this.obj;  
-   }
+  public Iterator getPropertyNames()
+  {
+    throw new RuntimeException("NYI");
+  }
+
+  public Object getUnderlying()
+  {
+    return this.obj;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/SAMAdapter.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/SAMAdapter.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/SAMAdapter.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,100 +21,118 @@
  */
 package org.jboss.sam.internal.drools;
 
-import org.drools.StatefulSession;
-import org.drools.WorkingMemoryEntryPoint;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
 import org.jboss.sam.datasource.DataSourceManager;
 
 import javax.sql.DataSource;
-import java.util.Map;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.sql.Connection;
 import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.sql.Statement;
-import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Will be injected into WorkingMemory to give drools access to SAM extensions.<br>
  * This class basically acts as a workaround for features that we would like to see:
- *
+ * <p/>
  * <ul>
  * <li>Hidden behind a custom SAM DSL
- * <li>or provided by Drools Fusion directly (JIRA) 
+ * <li>or provided by Drools Fusion directly (JIRA)
  * </ul>
- *  
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class SAMAdapter
 {
-   private StatefulSession session;
-   private Map<String, StreamOutputAdapter> outputAdapters;
-   private DataSourceManager datasourceManager;
+  private StatefulKnowledgeSession session;
+  private Map<String, StreamOutputAdapter> outputAdapters;
+  private DataSourceManager datasourceManager;
 
-   public SAMAdapter(StatefulSession session, Map<String, StreamOutputAdapter> outputAdapters, DataSourceManager dsMgr)
-   {
-      this.session = session;
-      this.outputAdapters = outputAdapters;
-      this.datasourceManager = dsMgr;
-   }
+  public SAMAdapter(StatefulKnowledgeSession session, Map<String, StreamOutputAdapter> outputAdapters, DataSourceManager dsMgr)
+  {
+    this.session = session;
+    this.outputAdapters = outputAdapters;
+    this.datasourceManager = dsMgr;
+  }
 
-   public WorkingMemoryEntryPoint getStream(String name)
-   {
-      WorkingMemoryEntryPoint memoryEntryPoint = this.session.getWorkingMemoryEntryPoint(name);
-      if(null==memoryEntryPoint)
-         throw new IllegalArgumentException("Unknown stream " + name);
-      
-      return memoryEntryPoint;
-   }
+  public WorkingMemoryEntryPoint getStream(String name)
+  {
+    WorkingMemoryEntryPoint memoryEntryPoint = this.session.getWorkingMemoryEntryPoint(name);
+    if (null == memoryEntryPoint)
+      throw new IllegalArgumentException("Unknown stream " + name);
 
-   public UpdateListener getListener(String name)
-   {
-      StreamOutputAdapter adapter = this.outputAdapters.get(name);
-      if(null==adapter)
-         throw new IllegalArgumentException("Unknown listener '" + name +"'");
-      return adapter;
-   }
+    return memoryEntryPoint;
+  }
 
-   public List query(String dbName, String sql)
-   {
-      DataSource dataSource = datasourceManager.getDataSource(dbName);
-      ArrayList results = new ArrayList();
-      
-      Connection conn = null;
-      Statement stmt = null;
-      ResultSet rset = null;
+  public UpdateListener getListener(String name)
+  {
+    StreamOutputAdapter adapter = this.outputAdapters.get(name);
+    if (null == adapter)
+      throw new IllegalArgumentException("Unknown listener '" + name + "'");
+    return adapter;
+  }
 
-      try
-      {
-         conn = dataSource.getConnection();
-         stmt = conn.createStatement();
-         rset = stmt.executeQuery(sql);
+  public List query(String dbName, String sql)
+  {
+    DataSource dataSource = datasourceManager.getDataSource(dbName);
+    ArrayList results = new ArrayList();
 
-         int numcols = rset.getMetaData().getColumnCount();
+    Connection conn = null;
+    Statement stmt = null;
+    ResultSet rset = null;
 
-         while(rset.next())
-         {
-            Map row = new HashMap();
-            for(int i=1;i<=numcols;i++)
-            {
-               // TODO: case handling should be configureable
-               row.put(rset.getMetaData().getColumnName(i).toLowerCase(), rset.getObject(i));
-            }
-            results.add(row);
-         }
+    try
+    {
+      conn = dataSource.getConnection();
+      stmt = conn.createStatement();
+      rset = stmt.executeQuery(sql);
+
+      int numcols = rset.getMetaData().getColumnCount();
+
+      while (rset.next())
+      {
+        Map row = new HashMap();
+        for (int i = 1; i <= numcols; i++)
+        {
+          // TODO: case handling should be configureable
+          row.put(rset.getMetaData().getColumnName(i).toLowerCase(), rset.getObject(i));
+        }
+        results.add(row);
       }
-      catch(SQLException e)
-      {         
-         throw new RuntimeException("Failed to execute SQL", e);
+    }
+    catch (SQLException e)
+    {
+      throw new RuntimeException("Failed to execute SQL", e);
+    }
+    finally
+    {
+      try
+      {
+        rset.close();
       }
-      finally
+      catch (Exception e)
       {
-         try { rset.close(); } catch(Exception e) { }
-         try { stmt.close(); } catch(Exception e) { }
-         try { conn.close(); } catch(Exception e) { }
       }
-      
-      return results;
-   }   
+      try
+      {
+        stmt.close();
+      }
+      catch (Exception e)
+      {
+      }
+      try
+      {
+        conn.close();
+      }
+      catch (Exception e)
+      {
+      }
+    }
+
+    return results;
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -21,8 +21,8 @@
  */
 package org.jboss.sam.internal.drools;
 
+import org.jboss.sam.EventMessage;
 import org.jboss.sam.StreamOutput;
-import org.jboss.sam.EventMessage;
 
 import java.util.Collection;
 import java.util.Map;
@@ -32,48 +32,48 @@
  */
 public class StreamOutputAdapter implements UpdateListener
 {
-   private StreamOutput delegate;
+  private StreamOutput delegate;
 
-   public StreamOutputAdapter(StreamOutput delegate)
-   {
-      this.delegate = delegate;
-   }
+  public StreamOutputAdapter(StreamOutput delegate)
+  {
+    this.delegate = delegate;
+  }
 
-   public String getName()
-   {
-      return delegate.getStreamName();
-   }
+  public String getName()
+  {
+    return delegate.getStreamName();
+  }
 
-   public void update(Object result)
-   {
-      EventMessage[] events = adoptPayload(result);
-      delegate.write(events);
-   }
+  public void update(Object result)
+  {
+    EventMessage[] events = adoptPayload(result);
+    delegate.write(events);
+  }
 
-   private EventMessage[] adoptPayload(Object data)
-   {
-      EventMessage[] events = null;
+  private EventMessage[] adoptPayload(Object data)
+  {
+    EventMessage[] events = null;
 
-      if(data instanceof Collection)
+    if (data instanceof Collection)
+    {
+      Collection c = (Collection) data;
+      Object[] cAr = c.toArray();
+      events = new EventMessage[c.size()];
+      for (int i = 0; i < c.size(); i++)
       {
-         Collection c = (Collection)data;
-         Object[] cAr = c.toArray();
-         events = new EventMessage[c.size()];
-         for(int i=0; i<c.size(); i++)
-         {
-            // TODO: think more thoroughly about payload adoption
-            if(cAr[i] instanceof Map)
-               events[i] = new MapMessageAdapter((Map)cAr[i]);
-            else
-               events[i] = new ObjectMessageAdaptor(cAr[i]);
-         }
+        // TODO: think more thoroughly about payload adoption
+        if (cAr[i] instanceof Map)
+          events[i] = new MapMessageAdapter((Map) cAr[i]);
+        else
+          events[i] = new ObjectMessageAdaptor(cAr[i]);
       }
-      else
-      {
-         events = new EventMessage[] { new ObjectMessageAdaptor(data) };         
-      }
+    }
+    else
+    {
+      events = new EventMessage[]{new ObjectMessageAdaptor(data)};
+    }
 
-      return events;
-   }
+    return events;
+  }
 
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/UpdateListener.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/UpdateListener.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/UpdateListener.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -26,5 +26,5 @@
  */
 public interface UpdateListener
 {
-   void update(Object result);
+  void update(Object result);
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMDispatcher.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMDispatcher.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMDispatcher.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -28,23 +28,23 @@
  */
 public class InVMDispatcher
 {
-   public final static String DEFAULT_CHANNEL_NAME = "InVM-Channel";
-   
-   private InVMStreamRegistry channelRegistry;
+  public final static String DEFAULT_CHANNEL_NAME = "InVM-Channel";
 
-   private String streamName;
+  private InVMStreamRegistry channelRegistry;
 
-   public InVMDispatcher(String streamName)
-   {
-      this.streamName = streamName;
-      this.channelRegistry = InVMStreamRegistry.getInstance();
-   }
+  private String streamName;
 
-   public void dispatch(Object event)
-   {
-      for(StreamInputCallback callback : channelRegistry.getChannelCallbacks(streamName))
-      {
-         callback.onEvent(event);
-      }         
-   }
+  public InVMDispatcher(String streamName)
+  {
+    this.streamName = streamName;
+    this.channelRegistry = InVMStreamRegistry.getInstance();
+  }
+
+  public void dispatch(Object event)
+  {
+    for (StreamInputCallback callback : channelRegistry.getChannelCallbacks(streamName))
+    {
+      callback.onEvent(event);
+    }
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamInput.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamInput.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamInput.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -29,72 +29,72 @@
  */
 public class InVMStreamInput implements StreamInput
 {
-   private boolean started;
-   
-   private String streamName;
+  private boolean started;
 
-   InVMStreamRegistry channelRegistry;
-   
-   public InVMStreamInput()
-   {
-      this.channelRegistry = InVMStreamRegistry.getInstance();
-   }
+  private String streamName;
 
-   public InVMStreamInput(String name)
-   {
-      this.streamName = name;
-      this.channelRegistry = InVMStreamRegistry.getInstance();
-   }
+  InVMStreamRegistry channelRegistry;
 
-   public StreamInput start()
-   {
-      this.started = true;
-      return this;
-   }
+  public InVMStreamInput()
+  {
+    this.channelRegistry = InVMStreamRegistry.getInstance();
+  }
 
-   public StreamInput stop()
-   {
-      this.started = false;
-      return this;
-   }
+  public InVMStreamInput(String name)
+  {
+    this.streamName = name;
+    this.channelRegistry = InVMStreamRegistry.getInstance();
+  }
 
-   public boolean isStarted()
-   {
-      return this.started;
-   }
+  public StreamInput start()
+  {
+    this.started = true;
+    return this;
+  }
 
-   public String getStreamName()
-   {
-      return this.streamName;
-   }
+  public StreamInput stop()
+  {
+    this.started = false;
+    return this;
+  }
 
+  public boolean isStarted()
+  {
+    return this.started;
+  }
 
-   public void setStreamName(String name)
-   {
-      this.streamName = name; 
-   }
+  public String getStreamName()
+  {
+    return this.streamName;
+  }
 
-   public void registerCallback(StreamInputCallback listener)
-   {
-      channelRegistry.getChannelCallbacks(streamName).add(listener);
-   }
 
-   public void clearCallbacks()
-   {
-      channelRegistry.getChannelCallbacks(streamName).clear();
-   }
+  public void setStreamName(String name)
+  {
+    this.streamName = name;
+  }
 
-   public void newEvent(Object args)
-   {
-      for(StreamInputCallback callback : channelRegistry.getChannelCallbacks(streamName))
-      {
-         callback.onEvent(args);
-      }
+  public void registerCallback(StreamInputCallback listener)
+  {
+    channelRegistry.getChannelCallbacks(streamName).add(listener);
+  }
 
-   }
+  public void clearCallbacks()
+  {
+    channelRegistry.getChannelCallbacks(streamName).clear();
+  }
 
-   public String toString()
-   {
-      return "InVMInputAdapter{"+this.streamName +"}";
-   }
+  public void newEvent(Object args)
+  {
+    for (StreamInputCallback callback : channelRegistry.getChannelCallbacks(streamName))
+    {
+      callback.onEvent(args);
+    }
+
+  }
+
+  public String toString()
+  {
+    return "InVMInputAdapter{" + this.streamName + "}";
+  }
 }

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamRegistry.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamRegistry.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/stream/InVMStreamRegistry.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -28,30 +28,30 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-/** 
+/**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class InVMStreamRegistry
 {
-   private Map<String, List<StreamInputCallback>> streams = new ConcurrentHashMap<String, List<StreamInputCallback>>();
+  private Map<String, List<StreamInputCallback>> streams = new ConcurrentHashMap<String, List<StreamInputCallback>>();
 
-   private static InVMStreamRegistry INSTANCE;
+  private static InVMStreamRegistry INSTANCE;
 
-   private InVMStreamRegistry()
-   {
-   }
+  private InVMStreamRegistry()
+  {
+  }
 
-   public static InVMStreamRegistry getInstance()
-   {
-      if(null == INSTANCE)
-         INSTANCE = new InVMStreamRegistry();
-      return INSTANCE;
-   }
+  public static InVMStreamRegistry getInstance()
+  {
+    if (null == INSTANCE)
+      INSTANCE = new InVMStreamRegistry();
+    return INSTANCE;
+  }
 
-   public List<StreamInputCallback> getChannelCallbacks(String streamName)
-   {
-      if(null == streams.get(streamName))
-         streams.put(streamName, new CopyOnWriteArrayList<StreamInputCallback>());
-      return streams.get(streamName);
-   }
+  public List<StreamInputCallback> getChannelCallbacks(String streamName)
+  {
+    if (null == streams.get(streamName))
+      streams.put(streamName, new CopyOnWriteArrayList<StreamInputCallback>());
+    return streams.get(streamName);
+  }
 }

Modified: sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/ApiTestCase.java
===================================================================
--- sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/ApiTestCase.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/ApiTestCase.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -25,47 +25,45 @@
 
 /**
  * Verifies that the SAM core API works atop of Drools Fusion.
- *  
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class ApiTestCase extends SamTestSetup
 {
 
-   protected void setUp() throws Exception
-   {
-      // Creates default adapter inputs and outputs
-      createProcessor("ApiTestCase", "drools/sam-cfg.xml");
-   }
+  protected void setUp() throws Exception
+  {
+    // Creates default adapter inputs and outputs
+    createProcessor("ApiTestCase", "drools/sam-cfg.xml");
+  }
 
-   public void testBoundStatement()
-   {
-      // EPL as String
-      String epl = getDRLFromResource("drools/simple.drl");
+  public void testBoundStatement()
+  {
+    // EPL as String
+    String epl = getDRLFromResource("drools/simple.drl");
 
-      // register statement
-      eventProcessor.registerBoundStatement("InVM", "testBoundStatement", epl);
+    // register statement
+    eventProcessor.registerBoundStatement("InVM", "simple.drl", epl);
 
-      StockTick eventMessage = new StockTick( "ACME");
-      generateInVMEvent(eventMessage);
-     
-      assertNotNull(bufferedOutput.getLastNewData());
-      assertEquals(bufferedOutput.getLastNewData().length, 1);
-   }
+    StockTick eventMessage = new StockTick( "ACME");
+    generateInVMEvent(eventMessage);
 
-   public void testAggregationAndForwarding()
-   {
-      String aggregateDSL = getDRLFromResource("drools/aggregate.drl");
-      String outputDSL = getDRLFromResource("drools/forward.drl");
+    assertNotNull("No data received on stream output", bufferedOutput.getLastNewData());
+    assertEquals("Expected a single event", bufferedOutput.getLastNewData().length, 1);
+  }
 
-      eventProcessor.registerStatement("aggregate", aggregateDSL);
-      eventProcessor.registerBoundStatement("InVM", "output", outputDSL);
-      
-      StockTick eventMessage = new StockTick( "ACME");
-      generateInVMEvent(eventMessage);
+  public void testAggregationAndForwarding()
+  {
+    String forwardDSL = getDRLFromResource("drools/forward.drl");   
+    eventProcessor.registerBoundStatement("InVM", "forward.drl", forwardDSL);
 
-      assertNotNull(bufferedOutput.getLastNewData());
-      assertEquals(bufferedOutput.getLastNewData().length, 1);
-      assertEquals(bufferedOutput.getLastNewData()[0].getProperty("symbol"), "ACME");
-   }
+    StockTick eventMessage = new StockTick( "RHAT");
+    generateInVMEvent(eventMessage);
 
+    assertNotNull("No data received on stream output", bufferedOutput.getLastNewData());
+    assertEquals("Expected a single event", bufferedOutput.getLastNewData().length, 1);
+    assertEquals("Wrong event received", bufferedOutput.getLastNewData()[0].getProperty("symbol"), "RHAT");
+  }
+
+
 }

Modified: sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/StockTick.java
===================================================================
--- sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/StockTick.java	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/java/org/jboss/test/sam/drools/StockTick.java	2009-07-13 21:00:48 UTC (rev 658)
@@ -26,26 +26,25 @@
  */
 public class StockTick
 {
-   private String symbol;
+  private String symbol;
 
-   public StockTick(String symbol)
-   {
-      this.symbol = symbol;
-   }
+  public StockTick(String symbol)
+  {
+    this.symbol = symbol;
+  }
 
-   public String getSymbol()
-   {
-      return symbol;
-   }
+  public String getSymbol()
+  {
+    return symbol;
+  }
 
-   public void setSymbol(String symbol)
-   {
-      this.symbol = symbol;
-   }
+  public void setSymbol(String symbol)
+  {
+    this.symbol = symbol;
+  }
 
-
-   public String toString()
-   {
-      return "StockTick(symbol="+symbol+")";
-   }
+  public String toString()
+  {
+    return "StockTick {symbol="+symbol+"}";
+  }
 }

Modified: sam/trunk/modules/core/src/test/resources/adapter/invm/sam-cfg.xml
===================================================================
--- sam/trunk/modules/core/src/test/resources/adapter/invm/sam-cfg.xml	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/resources/adapter/invm/sam-cfg.xml	2009-07-13 21:00:48 UTC (rev 658)
@@ -5,7 +5,7 @@
    <statements>
       <statement name="ExampleStatement" bindTo="VMOutput">
          <epl lang="drl"><![CDATA[
-package org.jboss.test.sam.drools;
+         package org.jboss.test.sam.drools;
 
          import org.jboss.test.sam.adapter.invm.Alert;
          global org.jboss.sam.internal.drools.SAMAdapter SAM;

Deleted: sam/trunk/modules/core/src/test/resources/drools/aggregate.drl
===================================================================
--- sam/trunk/modules/core/src/test/resources/drools/aggregate.drl	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/resources/drools/aggregate.drl	2009-07-13 21:00:48 UTC (rev 658)
@@ -1,12 +0,0 @@
-package org.jboss.sam.drools;
-
-import org.jboss.test.sam.drools.StockTick;
-
-global org.jboss.sam.internal.drools.SAMAdapter SAM;
-
-rule "Aggregate any stock tick into AllTicks"
-   when
-      $event: StockTick();
-   then     
-      SAM.getStream("AllTicks").insert($event);
-end   

Modified: sam/trunk/modules/core/src/test/resources/drools/forward.drl
===================================================================
--- sam/trunk/modules/core/src/test/resources/drools/forward.drl	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/resources/drools/forward.drl	2009-07-13 21:00:48 UTC (rev 658)
@@ -4,9 +4,21 @@
 
 global org.jboss.sam.internal.drools.SAMAdapter SAM;
 
-rule "Forward all stock ticks to listener"
-   when      
-      $event: StockTick() from entry-point "AllTicks";
-   then
-      SAM.getListener("InVM").update($event);
+rule "Aggregate"
+when
+  $st: StockTick(symbol == "RHAT")
+then
+  System.out.println("drools: " +drools.getEntryPoint("stream1"));
+  System.out.println("Stream1: " +entryPoints["stream1"]);
+  entryPoints["stream1"].insert($st);    
 end
+
+# forward to listener
+rule "Forward"
+  dialect "mvel"
+when
+  $st : StockTick() from entry-point "stream1"
+then
+  System.out.println($st);
+  SAM.getListener("InVM").update($st);
+end

Modified: sam/trunk/modules/core/src/test/resources/drools/sam-cfg.xml
===================================================================
--- sam/trunk/modules/core/src/test/resources/drools/sam-cfg.xml	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/resources/drools/sam-cfg.xml	2009-07-13 21:00:48 UTC (rev 658)
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
+    
 <ns2:processingNode name="DatabaseTestCase"
                     domain="http://org.jboss.sam/test/database"
                     xmlns:ns2="http://org.jboss.sam/08/2008/">
 
-   <statements/>
+  <statements/>
 
 </ns2:processingNode>
\ No newline at end of file

Modified: sam/trunk/modules/core/src/test/resources/drools/simple.drl
===================================================================
--- sam/trunk/modules/core/src/test/resources/drools/simple.drl	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/modules/core/src/test/resources/drools/simple.drl	2009-07-13 21:00:48 UTC (rev 658)
@@ -1,11 +1,12 @@
 package org.jboss.test.sam.drools;
 
 import org.jboss.test.sam.drools.StockTick;
+
 global org.jboss.sam.internal.drools.SAMAdapter SAM;
 
-rule "Check event"
+rule "Send all ACME events to output listener"
 when
    $st: StockTick(symbol == "ACME")
 then
-   SAM.getListener("InVM").update($st);
+   SAM.getListener("InVM").update($st);   
 end

Modified: sam/trunk/pom.xml
===================================================================
--- sam/trunk/pom.xml	2009-07-13 10:40:40 UTC (rev 657)
+++ sam/trunk/pom.xml	2009-07-13 21:00:48 UTC (rev 658)
@@ -10,7 +10,7 @@
   <version>1.0.0.SNAPSHOT</version>
 
   <modules>
-    <module>modules/core</module>   
+    <module>modules/core</module>
     <module>modules/sim</module>
   </modules>
 
@@ -21,11 +21,11 @@
     <surefire.jdwp.args>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</surefire.jdwp.args>
 
     <dbcp.version>1.2.2</dbcp.version>
-    <drools.version>5.0.0.CR1</drools.version>
+    <drools.version>5.0.1</drools.version>
     <junit.version>3.8.2</junit.version>
     <commons-logging.version>1.1</commons-logging.version>
     <antlr.version>3.0.1</antlr.version>
-    <jfree.version>1.0.0</jfree.version>
+
     <hsqldb.version>1.8.0.7</hsqldb.version>
     <javasim.version>2.0-hbraun</javasim.version>
     <jaxb.api.version>2.1</jaxb.api.version>
@@ -80,12 +80,6 @@
         <artifactId>commons-logging-api</artifactId>
         <version>${commons-logging.version}</version>
       </dependency>
-    
-      <dependency>
-        <groupId>jfree</groupId>
-        <artifactId>jfreechart</artifactId>
-        <version>${jfree.version}</version>
-      </dependency>
 
       <dependency>
         <groupId>javax.xml.bind</groupId>
@@ -114,7 +108,7 @@
         <artifactId>javasim</artifactId>
         <version>${javasim.version}</version>
       </dependency>
-      
+
     </dependencies>
   </dependencyManagement>
 
@@ -183,6 +177,29 @@
           <artifactId>build-helper-maven-plugin</artifactId>
           <version>1.1</version>
         </plugin>
+        <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>attach-javadocs</id>
+              <goals>
+                <goal>jar</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <artifactId>maven-source-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>attach-sources</id>
+              <goals>
+                <goal>jar</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+
       </plugins>
     </pluginManagement>
   </build>




More information about the overlord-commits mailing list