[jboss-svn-commits] JBL Code SVN: r15062 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/audit and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 12 14:10:03 EDT 2007


Author: tirelli
Date: 2007-09-12 14:10:02 -0400 (Wed, 12 Sep 2007)
New Revision: 15062

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEventManager.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/RuleBaseLogEvent.java
Removed:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EventManager.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryFileLogger.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
   labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
Log:
JBRULES-1185: adding support to the working memory logger

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EventManager.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EventManager.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EventManager.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -1,101 +0,0 @@
-package org.drools;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.Serializable;
-import java.util.List;
-
-import org.drools.event.AgendaEventListener;
-import org.drools.event.RuleFlowEventListener;
-import org.drools.event.WorkingMemoryEventListener;
-
-/**
- * The EventManager class is implemented by classes wishing to add,remove and get the various Drools EventListeners.
- *
- */
-public interface EventManager
-    extends
-    Serializable {
-    /**
-     * Add an event listener.
-     * 
-     * @param listener
-     *            The listener to add.
-     */
-    public void addEventListener(WorkingMemoryEventListener listener);
-
-    /**
-     * Remove an event listener.
-     * 
-     * @param listener
-     *            The listener to remove.
-     */
-    public void removeEventListener(WorkingMemoryEventListener listener);
-
-    /**
-     * Returns all event listeners.
-     * 
-     * @return listeners The listeners.
-     */
-    public List getWorkingMemoryEventListeners();
-
-    /**
-     * Add an event listener.
-     * 
-     * @param listener
-     *            The listener to add.
-     */
-    public void addEventListener(AgendaEventListener listener);
-
-    /**
-     * Remove an event listener.
-     * 
-     * @param listener
-     *            The listener to remove.
-     */
-    public void removeEventListener(AgendaEventListener listener);
-
-    /**
-     * Returns all event listeners.
-     * 
-     * @return listeners The listeners.
-     */
-    public List getAgendaEventListeners();
-
-    /**
-     * Add an event listener.
-     * 
-     * @param listener
-     *            The listener to add.
-     */
-    public void addEventListener(RuleFlowEventListener listener);
-
-    /**
-     * Remove an event listener.
-     * 
-     * @param listener
-     *            The listener to remove.
-     */
-    public void removeEventListener(RuleFlowEventListener listener);
-
-    /**
-     * Returns all event listeners.
-     * 
-     * @return listeners The listeners.
-     */
-    public List getRuleFlowEventListeners();
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSession.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSession.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -23,7 +23,7 @@
  * Care should be used when using the async versions of the methods, consult the javadoc for 
  * the specific information.
  */
-public interface StatelessSession extends EventManager {
+public interface StatelessSession extends WorkingMemoryEventManager {
         
     void setAgendaFilter(AgendaFilter agendaFilter);
     

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -32,7 +32,7 @@
  * in WorkingMemories from an InputStream.
  * 
  */
-public interface WorkingMemory extends EventManager {
+public interface WorkingMemory extends WorkingMemoryEventManager {
 
     /**
      * Returns the Agenda for this WorkingMemory. While the WorkingMemory interface is considered public, the Agenda interface 

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEventManager.java (from rev 15056, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/EventManager.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEventManager.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemoryEventManager.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -0,0 +1,102 @@
+package org.drools;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.drools.event.AgendaEventListener;
+import org.drools.event.RuleFlowEventListener;
+import org.drools.event.WorkingMemoryEventListener;
+
+/**
+ * The EventManager class is implemented by classes wishing to add,remove and get the various Drools EventListeners.
+ *
+ */
+public interface WorkingMemoryEventManager
+    extends
+    RuleBaseEventManager,
+    Serializable {
+    /**
+     * Add an event listener.
+     * 
+     * @param listener
+     *            The listener to add.
+     */
+    public void addEventListener(WorkingMemoryEventListener listener);
+
+    /**
+     * Remove an event listener.
+     * 
+     * @param listener
+     *            The listener to remove.
+     */
+    public void removeEventListener(WorkingMemoryEventListener listener);
+
+    /**
+     * Returns all event listeners.
+     * 
+     * @return listeners The listeners.
+     */
+    public List getWorkingMemoryEventListeners();
+
+    /**
+     * Add an event listener.
+     * 
+     * @param listener
+     *            The listener to add.
+     */
+    public void addEventListener(AgendaEventListener listener);
+
+    /**
+     * Remove an event listener.
+     * 
+     * @param listener
+     *            The listener to remove.
+     */
+    public void removeEventListener(AgendaEventListener listener);
+
+    /**
+     * Returns all event listeners.
+     * 
+     * @return listeners The listeners.
+     */
+    public List getAgendaEventListeners();
+
+    /**
+     * Add an event listener.
+     * 
+     * @param listener
+     *            The listener to add.
+     */
+    public void addEventListener(RuleFlowEventListener listener);
+
+    /**
+     * Remove an event listener.
+     * 
+     * @param listener
+     *            The listener to remove.
+     */
+    public void removeEventListener(RuleFlowEventListener listener);
+
+    /**
+     * Returns all event listeners.
+     * 
+     * @return listeners The listeners.
+     */
+    public List getRuleFlowEventListeners();
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryFileLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryFileLogger.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryFileLogger.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -22,7 +22,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.drools.EventManager;
+import org.drools.WorkingMemoryEventManager;
 import org.drools.audit.event.LogEvent;
 
 import com.thoughtworks.xstream.XStream;
@@ -54,8 +54,8 @@
      * Creates a new WorkingMemoryFileLogger for the given working memory.
      * @param workingMemory
      */
-    public WorkingMemoryFileLogger(final EventManager eventManager) {
-        super( eventManager );
+    public WorkingMemoryFileLogger(final WorkingMemoryEventManager workingMemoryEventManager) {
+        super( workingMemoryEventManager );
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -23,6 +23,14 @@
 
 import org.drools.WorkingMemory;
 import org.drools.audit.event.LogEvent;
+import org.drools.event.AfterPackageAddedEvent;
+import org.drools.event.AfterPackageRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforePackageAddedEvent;
+import org.drools.event.BeforePackageRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
 
 import com.thoughtworks.xstream.XStream;
 
@@ -70,4 +78,5 @@
     public void logEventCreated(final LogEvent logEvent) {
         this.events.add( logEvent );
     }
+
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -20,13 +20,14 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.drools.EventManager;
+import org.drools.WorkingMemoryEventManager;
 import org.drools.FactHandle;
 import org.drools.WorkingMemory;
 import org.drools.audit.event.ActivationLogEvent;
 import org.drools.audit.event.ILogEventFilter;
 import org.drools.audit.event.LogEvent;
 import org.drools.audit.event.ObjectLogEvent;
+import org.drools.audit.event.RuleBaseLogEvent;
 import org.drools.audit.event.RuleFlowGroupLogEvent;
 import org.drools.audit.event.RuleFlowLogEvent;
 import org.drools.common.InternalFactHandle;
@@ -34,13 +35,22 @@
 import org.drools.event.ActivationCancelledEvent;
 import org.drools.event.ActivationCreatedEvent;
 import org.drools.event.AfterActivationFiredEvent;
+import org.drools.event.AfterPackageAddedEvent;
+import org.drools.event.AfterPackageRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
 import org.drools.event.AgendaEventListener;
 import org.drools.event.AgendaGroupPoppedEvent;
 import org.drools.event.AgendaGroupPushedEvent;
 import org.drools.event.BeforeActivationFiredEvent;
+import org.drools.event.BeforePackageAddedEvent;
+import org.drools.event.BeforePackageRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
 import org.drools.event.ObjectInsertedEvent;
 import org.drools.event.ObjectUpdatedEvent;
 import org.drools.event.ObjectRetractedEvent;
+import org.drools.event.RuleBaseEventListener;
 import org.drools.event.RuleFlowCompletedEvent;
 import org.drools.event.RuleFlowEventListener;
 import org.drools.event.RuleFlowGroupActivatedEvent;
@@ -69,21 +79,23 @@
     implements
     WorkingMemoryEventListener,
     AgendaEventListener,
-    RuleFlowEventListener {
+    RuleFlowEventListener,
+    RuleBaseEventListener {
 
     private final List    filters = new ArrayList();
-    private EventManager eventManager;
+    private WorkingMemoryEventManager workingMemoryEventManager;
 
     /**
      * Creates a new working memory logger for the given working memory.
      * 
      * @param workingMemory
      */
-    public WorkingMemoryLogger(final EventManager eventManager) {
-        this.eventManager = eventManager;
-        this.eventManager.addEventListener( (WorkingMemoryEventListener) this );
-        this.eventManager.addEventListener( (AgendaEventListener) this );
-        this.eventManager.addEventListener( (RuleFlowEventListener) this );
+    public WorkingMemoryLogger(final WorkingMemoryEventManager workingMemoryEventManager) {
+        this.workingMemoryEventManager = workingMemoryEventManager;
+        this.workingMemoryEventManager.addEventListener( (WorkingMemoryEventListener) this );
+        this.workingMemoryEventManager.addEventListener( (AgendaEventListener) this );
+        this.workingMemoryEventManager.addEventListener( (RuleFlowEventListener) this );
+        this.workingMemoryEventManager.addEventListener( (RuleBaseEventListener) this );
     }
 
     /**
@@ -327,5 +339,54 @@
         		event.getRuleFlowGroup().getName(),
                 event.getRuleFlowGroup().size() ) );
     }
+    
+    public void afterPackageAdded(AfterPackageAddedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.AFTER_PACKAGE_ADDED,
+                                              event.getPackage().getName(),
+                                              null ) );
+    }
 
+    public void afterPackageRemoved(AfterPackageRemovedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.AFTER_PACKAGE_REMOVED,
+                                              event.getPackage().getName(),
+                                              null ) );
+    }
+
+    public void afterRuleAdded(AfterRuleAddedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.AFTER_RULE_ADDED,
+                                              event.getPackage().getName(),
+                                              event.getRule().getName() ) );
+    }
+
+    public void afterRuleRemoved(AfterRuleRemovedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.AFTER_RULE_REMOVED,
+                                              event.getPackage().getName(),
+                                              event.getRule().getName() ) );
+    }
+
+    public void beforePackageAdded(BeforePackageAddedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.BEFORE_PACKAGE_ADDED,
+                                              event.getPackage().getName(),
+                                              null ) );
+    }
+
+    public void beforePackageRemoved(BeforePackageRemovedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.BEFORE_PACKAGE_REMOVED,
+                                              event.getPackage().getName(),
+                                              null ) );
+    }
+
+    public void beforeRuleAdded(BeforeRuleAddedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.BEFORE_RULE_ADDED,
+                                              event.getPackage().getName(),
+                                              event.getRule().getName() ) );
+    }
+
+    public void beforeRuleRemoved(BeforeRuleRemovedEvent event) {
+        filterLogEvent( new RuleBaseLogEvent( LogEvent.BEFORE_RULE_REMOVED,
+                                              event.getPackage().getName(),
+                                              event.getRule().getName() ) );
+    }
+    
+
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -38,6 +38,15 @@
     public static final int RULEFLOW_GROUP_ACTIVATED   = 10;
     public static final int RULEFLOW_GROUP_DEACTIVATED = 11;
 
+    public static final int BEFORE_PACKAGE_ADDED       = 12;
+    public static final int AFTER_PACKAGE_ADDED        = 13;
+    public static final int BEFORE_PACKAGE_REMOVED     = 14;
+    public static final int AFTER_PACKAGE_REMOVED      = 15;
+    public static final int BEFORE_RULE_ADDED          = 16;
+    public static final int AFTER_RULE_ADDED           = 17;
+    public static final int BEFORE_RULE_REMOVED        = 18;
+    public static final int AFTER_RULE_REMOVED         = 19;
+
     private int             type;
 
     /**

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/RuleBaseLogEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/RuleBaseLogEvent.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/RuleBaseLogEvent.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -0,0 +1,98 @@
+package org.drools.audit.event;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * A rulebase event logged by the WorkingMemoryLogger.
+ * It is a snapshot of the event as it was thrown by the rulebase.
+ * 
+ * @author etirelli
+ */
+public class RuleBaseLogEvent extends LogEvent {
+
+    private final String packageName;
+    private final String ruleName;
+
+    /**
+     * Create a new activation log event.
+     * 
+     * @param type The type of event.  
+     * @param packageName The name of the package
+     * @param ruleName The name of the rule 
+     */
+    public RuleBaseLogEvent(final int type,
+                            final String packageName,
+                            final String ruleName) {
+        super( type );
+        this.packageName = packageName;
+        this.ruleName = ruleName;
+    }
+
+    /**
+     * Returns the Package Name
+     * 
+     * @return The name of the package
+     */
+    public String getPackageName() {
+        return this.packageName;
+    }
+
+    /**
+     * Returns the name of the rule 
+     * 
+     * @return The name of the rule
+     */
+    public String getRuleName() {
+        return this.ruleName;
+    }
+
+    public String toString() {
+
+        String msg = null;
+        switch ( this.getType() ) {
+            case BEFORE_PACKAGE_ADDED :
+                msg = "BEFORE PACKAGE ADDED";
+                break;
+            case AFTER_PACKAGE_ADDED :
+                msg = "AFTER PACKAGE ADDED";
+                break;
+            case BEFORE_PACKAGE_REMOVED :
+                msg = "BEFORE PACKAGE REMOVED";
+                break;
+            case AFTER_PACKAGE_REMOVED :
+                msg = "AFTER PACKAGE REMOVED";
+                break;
+            case BEFORE_RULE_ADDED :
+                msg = "BEFORE RULE ADDED";
+                break;
+            case AFTER_RULE_ADDED :
+                msg = "AFTER RULE ADDED";
+                break;
+            case BEFORE_RULE_REMOVED :
+                msg = "BEFORE RULE REMOVED";
+                break;
+            case AFTER_RULE_REMOVED :
+                msg = "AFTER RULE REMOVED";
+                break;
+        }
+        String ruleMsg = "";
+        if( this.ruleName != null ) {
+            ruleMsg = " rule: \""+this.ruleName+"\"";
+        }
+        return msg + " package: \"" + this.packageName + "\""+ruleMsg;
+    }
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -45,6 +45,7 @@
 import org.drools.base.ShadowProxy;
 import org.drools.event.AgendaEventListener;
 import org.drools.event.AgendaEventSupport;
+import org.drools.event.RuleBaseEventListener;
 import org.drools.event.RuleFlowEventListener;
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventListener;
@@ -308,6 +309,33 @@
         }
     }
 
+    public void addEventListener(RuleBaseEventListener listener) {
+        try {
+            this.lock.lock();
+            this.ruleBase.addEventListener( listener );
+        } finally {
+            this.lock.unlock();
+        }
+    }
+
+    public List getRuleBaseEventListeners() {
+        try {
+            this.lock.lock();
+            return this.ruleBase.getRuleBaseEventListeners();
+        } finally {
+            this.lock.unlock();
+        }
+    }
+
+    public void removeEventListener(RuleBaseEventListener listener) {
+        try {
+            this.lock.lock();
+            this.ruleBase.removeEventListener( listener );
+        } finally {
+            this.lock.unlock();
+        }
+    }
+
     public FactHandleFactory getFactHandleFactory() {
         return this.handleFactory;
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -1,15 +1,11 @@
 package org.drools.reteoo;
 
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
-import org.drools.ObjectFilter;
 import org.drools.StatelessSession;
 import org.drools.StatelessSessionResult;
-import org.drools.WorkingMemory;
 import org.drools.base.MapGlobalResolver;
 import org.drools.common.InternalRuleBase;
 import org.drools.common.InternalWorkingMemory;
@@ -18,9 +14,9 @@
 import org.drools.concurrent.CommandExecutor;
 import org.drools.concurrent.ExecutorService;
 import org.drools.concurrent.FireAllRules;
-import org.drools.concurrent.Future;
 import org.drools.event.AgendaEventListener;
 import org.drools.event.AgendaEventSupport;
+import org.drools.event.RuleBaseEventListener;
 import org.drools.event.RuleFlowEventListener;
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventListener;
@@ -109,7 +105,19 @@
     public List getRuleFlowEventListeners() {
         return this.ruleFlowEventSupport.getEventListeners();
     }
+    
+    public void addEventListener(RuleBaseEventListener listener) {
+        this.ruleBase.addEventListener( listener );
+    }
 
+    public List getRuleBaseEventListeners() {
+        return this.ruleBase.getRuleBaseEventListeners();
+    }
+
+    public void removeEventListener(RuleBaseEventListener listener) {
+        this.ruleBase.removeEventListener( listener );
+    }
+
     public void setAgendaFilter(AgendaFilter agendaFilter) {
         this.agendaFilter = agendaFilter;
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -31,6 +31,7 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.WorkingMemoryAction;
+import org.drools.event.RuleBaseEventListener;
 import org.drools.rule.Query;
 import org.drools.rule.Rule;
 import org.drools.spi.Activation;
@@ -181,4 +182,5 @@
                                                             workingMemory );
         }
     }
+
 }

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java	2007-09-12 18:06:21 UTC (rev 15061)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java	2007-09-12 18:10:02 UTC (rev 15062)
@@ -18,6 +18,7 @@
 import org.drools.StatefulSession;
 import org.drools.concurrent.Future;
 import org.drools.event.AgendaEventListener;
+import org.drools.event.RuleBaseEventListener;
 import org.drools.event.RuleFlowEventListener;
 import org.drools.event.WorkingMemoryEventListener;
 import org.drools.rule.Rule;
@@ -106,8 +107,9 @@
 
 		public StatefulSession newStatefulSession() {
 			return new StatefulSession() {
+                private static final long serialVersionUID = 1L;
 
-				public void addEventListener(WorkingMemoryEventListener arg0) {
+                public void addEventListener(WorkingMemoryEventListener arg0) {
 
 				}
 
@@ -365,6 +367,21 @@
                     // TODO Auto-generated method stub
 
                 }
+
+                public void addEventListener(RuleBaseEventListener listener) {
+                    // TODO Auto-generated method stub
+                    
+                }
+
+                public List getRuleBaseEventListeners() {
+                    // TODO Auto-generated method stub
+                    return null;
+                }
+
+                public void removeEventListener(RuleBaseEventListener listener) {
+                    // TODO Auto-generated method stub
+                    
+                }
 			};
 		}
 	}




More information about the jboss-svn-commits mailing list