[jboss-svn-commits] JBL Code SVN: r23468 - in labs/jbossrules/branches/drools-api-refactor-20080929: drools-api/src/main/java/org/drools/event and 14 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 16 01:32:58 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-10-16 01:32:57 -0400 (Thu, 16 Oct 2008)
New Revision: 23468

Added:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterFunctionRemovedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseLockedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseUnlockedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageAddedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageRemovedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleAddedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleRemovedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeFunctionRemovedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseLockedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseUnlockedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageAddedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageRemovedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleAddedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleRemovedEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEvent.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventListener.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventManager.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterFunctionRemovedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseLockedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseUnlockedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageAddedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageRemovedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleAddedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleRemovedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeFunctionRemovedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseLockedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseUnlockedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageAddedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageRemovedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleAddedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleRemovedEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeBaseEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/knowledgebase/
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java
Removed:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/impl/
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventListenerTest.java
Modified:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.classpath
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.project
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.classpath
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.project
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/AsyncFireAllRulesRuleBaseUpdateListener.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/FireAllRulesRuleBaseUpdateListener.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/DefaultRuleBaseEventListener.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventListener.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeRuntimeEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/process/impl/ProcessEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/rule/impl/ActivationEventImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
Log:
JBRULES-1734 Drools API
-KnowledgeBase events now work

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -2,10 +2,11 @@
 
 import java.util.Collection;
 
+import org.drools.event.knowledgebase.KnowledgeBaseEventManager;
 import org.drools.knowledge.definitions.KnowledgePackage;
 import org.drools.runtime.StatefulKnowledgeSession;
 
-public interface KnowledgeBase {    
+public interface KnowledgeBase extends KnowledgeBaseEventManager {    
     void addKnowledgePackage(KnowledgePackage knowledgePackage);
     
     void addKnowledgePackages(Collection<KnowledgePackage> knowledgePackage);
@@ -13,6 +14,8 @@
     Collection<KnowledgePackage> getKnowledgePackages();
     
     StatefulKnowledgeSession newStatefulKnowledgeSession();
+    
+    void removeKnowledgePackage(String packageName);
 
     void removeRule(String packageName,
                     String ruleName);

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterFunctionRemovedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterFunctionRemovedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterFunctionRemovedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,21 @@
+package org.drools.event.knowledgebase;
+
+/*
+ * 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.
+ */
+
+public interface AfterFunctionRemovedEvent extends KnowledgeBaseEvent {
+    public String getFunction();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseLockedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseLockedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseLockedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,23 @@
+package org.drools.event.knowledgebase;
+
+/*
+ * 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 org.drools.knowledge.definitions.rule.Rule;
+
+public interface AfterKnowledgeBaseLockedEvent extends KnowledgeBaseEvent {
+    Rule getRule();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseUnlockedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseUnlockedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgeBaseUnlockedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,22 @@
+package org.drools.event.knowledgebase;
+
+/*
+ * 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.
+ */
+
+
+public interface AfterKnowledgeBaseUnlockedEvent extends KnowledgeBaseEvent {
+
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageAddedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageAddedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageAddedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,25 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.KnowledgePackage;
+
+
+/*
+ * 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.
+ */
+
+public interface AfterKnowledgePackageAddedEvent extends KnowledgeBaseEvent {
+
+    public KnowledgePackage getKnowledgePackage();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageRemovedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageRemovedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterKnowledgePackageRemovedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,23 @@
+package org.drools.event.knowledgebase;
+
+/*
+ * 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 org.drools.knowledge.definitions.KnowledgePackage;
+
+public interface AfterKnowledgePackageRemovedEvent extends KnowledgeBaseEvent {
+    public KnowledgePackage getKnowledgePackage();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleAddedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleAddedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleAddedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,24 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.rule.Rule;
+
+/*
+ * 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.
+ */
+
+
+public interface AfterRuleAddedEvent extends KnowledgeBaseEvent {
+    Rule getRule();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleRemovedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleRemovedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/AfterRuleRemovedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,24 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.rule.Rule;
+
+/*
+ * 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.
+ */
+
+
+public interface AfterRuleRemovedEvent extends KnowledgeBaseEvent {
+    Rule getRule();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeFunctionRemovedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeFunctionRemovedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeFunctionRemovedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,21 @@
+package org.drools.event.knowledgebase;
+
+/*
+ * 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.
+ */
+
+public interface BeforeFunctionRemovedEvent extends KnowledgeBaseEvent {
+    String getFunction();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseLockedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseLockedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseLockedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,21 @@
+package org.drools.event.knowledgebase;
+
+/*
+ * 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.
+ */
+
+public interface BeforeKnowledgeBaseLockedEvent extends KnowledgeBaseEvent {
+
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseUnlockedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseUnlockedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgeBaseUnlockedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,23 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.KnowledgeBase;
+
+/*
+ * 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.
+ */
+
+public interface BeforeKnowledgeBaseUnlockedEvent extends KnowledgeBaseEvent {
+    KnowledgeBase getKnowledgeBase();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageAddedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageAddedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageAddedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,23 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.KnowledgePackage;
+
+/*
+ * 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.
+ */
+
+public interface BeforeKnowledgePackageAddedEvent extends KnowledgeBaseEvent {
+    KnowledgePackage getKnowledgePackage();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageRemovedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageRemovedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeKnowledgePackageRemovedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,24 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.KnowledgePackage;
+import org.drools.knowledge.definitions.rule.Rule;
+
+/*
+ * 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.
+ */
+
+public interface BeforeKnowledgePackageRemovedEvent extends KnowledgeBaseEvent {
+    KnowledgePackage getKnowledgePackage();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleAddedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleAddedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleAddedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,23 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.rule.Rule;
+
+/*
+ * 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.
+ */
+
+public interface BeforeRuleAddedEvent extends KnowledgeBaseEvent {
+    Rule getRule();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleRemovedEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleRemovedEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/BeforeRuleRemovedEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,23 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.knowledge.definitions.rule.Rule;
+
+/*
+ * 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.
+ */
+
+public interface BeforeRuleRemovedEvent extends KnowledgeBaseEvent {
+    Rule getRule();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEvent.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEvent.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,24 @@
+package org.drools.event.knowledgebase;
+
+import org.drools.KnowledgeBase;
+
+/*
+ * 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.
+ */
+
+
+public interface KnowledgeBaseEvent {
+    public KnowledgeBase getKnowledgeBase();
+}
\ No newline at end of file

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventListener.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventListener.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventListener.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,91 @@
+package org.drools.event.knowledgebase;
+
+import java.util.EventListener;
+
+public interface KnowledgeBaseEventListener
+    extends
+    EventListener {
+    /**
+     * Method called before a new package is added to the rule base
+     * @param event
+     */
+    void beforeKnowledgePackageAdded(BeforeKnowledgePackageAddedEvent event);
+
+    /**
+     * Method called after a new package is added to the rule base
+     * @param event
+     */
+    void afterKnowledgePackageAdded(AfterKnowledgePackageAddedEvent event);
+
+    /**
+     * Method called before a package is removed from the rule base
+     * @param event
+     */
+    void beforeKnowledgePackageRemoved(BeforeKnowledgePackageRemovedEvent event);
+
+    /**
+     * Method called after a package is removed from the rule base
+     * @param event
+     */
+    void afterKnowledgePackageRemoved(AfterKnowledgePackageRemovedEvent event);
+
+    /**
+     * Method called before a rule base is locked
+     * @param event
+     */
+    void beforeKnowledgeBaseLocked(BeforeKnowledgeBaseLockedEvent event);
+
+    /**
+     * Method called after a rule base is locked
+     * @param event
+     */
+    void afterKnowledgeBaseLocked(AfterKnowledgeBaseLockedEvent event);
+
+    /**
+     * Method called before a rule base is unlocked
+     * @param event
+     */
+    void beforeKnowledgeBaseUnlocked(BeforeKnowledgeBaseUnlockedEvent event);
+
+    /**
+     * Method called after a rule base is unlocked
+     * @param event
+     */
+    void afterKnowledgeBaseUnlocked(AfterKnowledgeBaseUnlockedEvent event);
+
+    /**
+     * Method called before a new rule is added to the rule base
+     * @param event
+     */
+    void beforeRuleAdded(BeforeRuleAddedEvent event);
+
+    /**
+     * Method called after a new rule is added to the rule base
+     * @param event
+     */
+    void afterRuleAdded(AfterRuleAddedEvent event);
+
+    /**
+     * Method called before a rule is removed from the rule base
+     * @param event
+     */
+    void beforeRuleRemoved(BeforeRuleRemovedEvent event);
+
+    /**
+     * Method called after a rule is removed from the rule base
+     * @param event
+     */
+    void afterRuleRemoved(AfterRuleRemovedEvent event);
+
+    /**
+     * Method called before a function is removed from the rule base
+     * @param event
+     */
+    void beforeFunctionRemoved(BeforeFunctionRemovedEvent event);
+
+    /**
+     * Method called after a function is removed from the rule base
+     * @param event
+     */
+    void afterFunctionRemoved(AfterFunctionRemovedEvent event);
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventManager.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventManager.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/event/knowledgebase/KnowledgeBaseEventManager.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,29 @@
+package org.drools.event.knowledgebase;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface KnowledgeBaseEventManager {
+    /**
+     * Add an event listener.
+     * 
+     * @param listener
+     *            The listener to add.
+     */
+    public void addEventListener(KnowledgeBaseEventListener listener);
+
+    /**
+     * Remove an event listener.
+     * 
+     * @param listener
+     *            The listener to remove.
+     */
+    public void removeEventListener(KnowledgeBaseEventListener listener);
+
+    /**
+     * Returns all event listeners.
+     * 
+     * @return listeners The listeners.
+     */
+    public Collection<KnowledgeBaseEventListener> getKnowledgeBaseEventListeners();
+}

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -6,11 +6,11 @@
     int STATE_ACTIVE    = 1;
     int STATE_COMPLETED = 2;
     int STATE_ABORTED   = 3;
-    int STATE_SUSPENDED = 4;    
-    
-    long getId();
+    int STATE_SUSPENDED = 4;       
 
     String getProcessId();
+    
+    long getId();    
 
     String getProcessName();
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.classpath
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.classpath	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.classpath	2008-10-16 05:32:57 UTC (rev 23468)
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
-	<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"/>
-	<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
-	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0.1/antlr-runtime-3.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/antlr/gunit/1.0.1/gunit-1.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0.1/antlr-3.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
-	<classpathentry kind="src" path="/drools-core"/>
-	<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/drools-api"/>
-	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-SNAPSHOT/mvel-2.0-SNAPSHOT.jar"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"/>
+	<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0.1/antlr-runtime-3.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/antlr/gunit/1.0.1/gunit-1.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0.1/antlr-3.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+	<classpathentry kind="src" path="/drools-core"/>
+	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-SNAPSHOT/mvel-2.0-SNAPSHOT.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/drools-api"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.project
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.project	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/.project	2008-10-16 05:32:57 UTC (rev 23468)
@@ -1,13 +1,15 @@
-<projectDescription>
-  <name>drools-compiler</name>
-  <comment>A rule production system</comment>
-  <projects/>
-  <buildSpec>
-    <buildCommand>
-      <name>org.eclipse.jdt.core.javabuilder</name>
-    </buildCommand>
-  </buildSpec>
-  <natures>
-    <nature>org.eclipse.jdt.core.javanature</nature>
-  </natures>
+<projectDescription>
+  <name>drools-compiler</name>
+  <comment>A rule production system</comment>
+  <projects>
+    <project>drools-core</project>
+  </projects>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
 </projectDescription>
\ No newline at end of file

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.classpath
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.classpath	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.classpath	2008-10-16 05:32:57 UTC (rev 23468)
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
-	<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"/>
-	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/drools-api"/>
-	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-SNAPSHOT/mvel-2.0-SNAPSHOT.jar"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-SNAPSHOT/mvel-2.0-SNAPSHOT.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/drools-api"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.project
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.project	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/.project	2008-10-16 05:32:57 UTC (rev 23468)
@@ -1,20 +1,20 @@
-<projectDescription>
-  <name>drools-core</name>
-  <comment>A rule production system</comment>
-  <projects/>
-  <buildSpec>
-    <buildCommand>
-      <name>org.eclipse.jdt.core.javabuilder</name>
-    </buildCommand>
-    <buildCommand>
-      <name>org.drools.eclipse.droolsbuilder</name>
-    </buildCommand>
-    <buildCommand>
-      <name>org.devzuz.q.maven.jdt.core.mavenIncrementalBuilder</name>
-    </buildCommand>
-  </buildSpec>
-  <natures>
-    <nature>org.eclipse.jdt.core.javanature</nature>
-    <nature>org.devzuz.q.maven.jdt.core.mavenNature</nature>
-  </natures>
+<projectDescription>
+  <name>drools-core</name>
+  <comment>A rule production system</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.drools.eclipse.droolsbuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.devzuz.q.maven.jdt.core.mavenIncrementalBuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+    <nature>org.devzuz.q.maven.jdt.core.mavenNature</nature>
+  </natures>
 </projectDescription>
\ No newline at end of file

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -39,24 +39,18 @@
 import org.drools.event.ActivationCancelledEvent;
 import org.drools.event.ActivationCreatedEvent;
 import org.drools.event.AfterActivationFiredEvent;
-import org.drools.event.AfterFunctionRemovedEvent;
 import org.drools.event.AfterPackageAddedEvent;
 import org.drools.event.AfterPackageRemovedEvent;
-import org.drools.event.AfterRuleAddedEvent;
 import org.drools.event.AfterRuleBaseLockedEvent;
 import org.drools.event.AfterRuleBaseUnlockedEvent;
-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.BeforeFunctionRemovedEvent;
 import org.drools.event.BeforePackageAddedEvent;
 import org.drools.event.BeforePackageRemovedEvent;
-import org.drools.event.BeforeRuleAddedEvent;
 import org.drools.event.BeforeRuleBaseLockedEvent;
 import org.drools.event.BeforeRuleBaseUnlockedEvent;
-import org.drools.event.BeforeRuleRemovedEvent;
 import org.drools.event.ObjectInsertedEvent;
 import org.drools.event.ObjectRetractedEvent;
 import org.drools.event.ObjectUpdatedEvent;
@@ -68,6 +62,12 @@
 import org.drools.event.RuleFlowNodeTriggeredEvent;
 import org.drools.event.RuleFlowStartedEvent;
 import org.drools.event.WorkingMemoryEventListener;
+import org.drools.event.AfterFunctionRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforeFunctionRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
 import org.drools.rule.Declaration;
 import org.drools.runtime.rule.FactHandle;
 import org.drools.spi.Activation;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/AsyncFireAllRulesRuleBaseUpdateListener.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/AsyncFireAllRulesRuleBaseUpdateListener.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/AsyncFireAllRulesRuleBaseUpdateListener.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -5,8 +5,8 @@
 
 import org.drools.StatefulSession;
 import org.drools.common.InternalWorkingMemory;
-import org.drools.event.BeforeRuleBaseUnlockedEvent;
 import org.drools.event.DefaultRuleBaseEventListener;
+import org.drools.event.knowledgebase.BeforeKnowledgeBaseUnlockedEvent;
 import org.drools.spi.RuleBaseUpdateListener;
 
 public class AsyncFireAllRulesRuleBaseUpdateListener extends DefaultRuleBaseEventListener 
@@ -21,7 +21,7 @@
         this.session = (StatefulSession) session;
     }
     
-    public void beforeRuleBaseUnlocked(BeforeRuleBaseUnlockedEvent event) {
+    public void beforeRuleBaseUnlocked(BeforeKnowledgeBaseUnlockedEvent event) {
         if ( session.getRuleBase().getAdditionsSinceLock() > 0 ) { 
             session.asyncFireAllRules();
         }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/FireAllRulesRuleBaseUpdateListener.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/FireAllRulesRuleBaseUpdateListener.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/FireAllRulesRuleBaseUpdateListener.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -9,8 +9,8 @@
 import java.io.IOException;
 
 import org.drools.StatefulSession;
-import org.drools.event.BeforeRuleBaseUnlockedEvent;
 import org.drools.event.DefaultRuleBaseEventListener;
+import org.drools.event.knowledgebase.BeforeKnowledgeBaseUnlockedEvent;
 import org.drools.spi.RuleBaseUpdateListener;
 
 public class FireAllRulesRuleBaseUpdateListener extends DefaultRuleBaseEventListener
@@ -36,7 +36,7 @@
         this.session = session;
     }
 
-    public void beforeRuleBaseUnlocked(BeforeRuleBaseUnlockedEvent event) {
+    public void beforeRuleBaseUnlocked(BeforeKnowledgeBaseUnlockedEvent event) {
         if ( session.getRuleBase().getAdditionsSinceLock() > 0 ) {
             session.fireAllRules();
         }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/DefaultRuleBaseEventListener.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/DefaultRuleBaseEventListener.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/DefaultRuleBaseEventListener.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -19,7 +19,14 @@
  * limitations under the License.
  */
 
+import org.drools.event.AfterFunctionRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforeFunctionRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
 
+
 public class DefaultRuleBaseEventListener
     implements
     RuleBaseEventListener {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventListener.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventListener.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventListener.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -3,6 +3,13 @@
 import java.util.EventListener;
 import java.io.Externalizable;
 
+import org.drools.event.AfterFunctionRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforeFunctionRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
+
 public interface RuleBaseEventListener
     extends
     EventListener, Externalizable {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -25,6 +25,12 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.drools.RuleBase;
+import org.drools.event.AfterFunctionRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforeFunctionRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
 import org.drools.rule.Rule;
 import org.drools.rule.Package;
 

Copied: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl (from rev 23354, labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/impl)


Property changes on: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl
___________________________________________________________________
Name: svn:mergeinfo
   + 

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterFunctionRemovedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterFunctionRemovedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterFunctionRemovedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,17 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterFunctionRemovedEvent;
+
+public class AfterFunctionRemovedEventImpl extends KnowledgeBaseEventImpl implements AfterFunctionRemovedEvent {
+    String function;
+    
+    public AfterFunctionRemovedEventImpl(KnowledgeBase knowledgeBase, String function) {
+        super( knowledgeBase );
+        this.function = function;
+    }
+
+    public String getFunction() {
+        return this.function;
+    }
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseLockedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseLockedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseLockedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,19 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterKnowledgeBaseLockedEvent;
+import org.drools.knowledge.definitions.rule.Rule;
+
+public class AfterKnowledgeBaseLockedEventImpl extends KnowledgeBaseEventImpl implements AfterKnowledgeBaseLockedEvent {
+
+    public AfterKnowledgeBaseLockedEventImpl(KnowledgeBase knowledgeBase) {
+        super( knowledgeBase );
+        // TODO Auto-generated constructor stub
+    }
+
+    public Rule getRule() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseUnlockedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseUnlockedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgeBaseUnlockedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,12 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterKnowledgeBaseUnlockedEvent;
+
+public class AfterKnowledgeBaseUnlockedEventImpl extends KnowledgeBaseEventImpl implements  AfterKnowledgeBaseUnlockedEvent {
+
+    public AfterKnowledgeBaseUnlockedEventImpl(KnowledgeBase knowledgeBase) {
+        super( knowledgeBase );
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageAddedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageAddedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageAddedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,18 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterKnowledgePackageAddedEvent;
+import org.drools.knowledge.definitions.KnowledgePackage;
+
+public class AfterKnowledgePackageAddedEventImpl extends KnowledgeBaseEventImpl implements AfterKnowledgePackageAddedEvent {
+    private KnowledgePackage knowledgePackage;
+    
+    public AfterKnowledgePackageAddedEventImpl(KnowledgeBase knowledgeBase, KnowledgePackage knowledgePackage) {
+        super( knowledgeBase );
+        this.knowledgePackage = knowledgePackage;
+    }
+
+    public KnowledgePackage getKnowledgePackage() {
+        return this.knowledgePackage;
+    }
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageRemovedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageRemovedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterKnowledgePackageRemovedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,18 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterKnowledgePackageRemovedEvent;
+import org.drools.knowledge.definitions.KnowledgePackage;
+
+public class AfterKnowledgePackageRemovedEventImpl extends KnowledgeBaseEventImpl implements AfterKnowledgePackageRemovedEvent {
+    private KnowledgePackage knowledgePackage;
+    
+    public AfterKnowledgePackageRemovedEventImpl(KnowledgeBase knowledgeBase, KnowledgePackage knowledgePackage) {
+        super( knowledgeBase );
+        this.knowledgePackage = knowledgePackage;
+    }
+
+    public KnowledgePackage getKnowledgePackage() {
+        return this.knowledgePackage;
+    }
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleAddedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleAddedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleAddedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,18 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterRuleAddedEvent;
+import org.drools.knowledge.definitions.rule.Rule;
+
+public class AfterRuleAddedEventImpl extends KnowledgeBaseEventImpl implements AfterRuleAddedEvent {
+    private Rule rule;
+    
+    public AfterRuleAddedEventImpl(KnowledgeBase knowledgeBase, Rule rule) {
+        super( knowledgeBase );
+        this.rule = rule;
+    }
+
+    public Rule getRule() {
+        return this.rule;
+    }
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleRemovedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleRemovedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/AfterRuleRemovedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,18 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.AfterRuleRemovedEvent;
+import org.drools.knowledge.definitions.rule.Rule;
+
+public class AfterRuleRemovedEventImpl extends KnowledgeBaseEventImpl implements AfterRuleRemovedEvent {
+    private Rule rule;
+    
+    public AfterRuleRemovedEventImpl(KnowledgeBase knowledgeBase, Rule rule) {
+        super( knowledgeBase );
+        this.rule = rule;
+    }
+
+    public Rule getRule() {
+        return this.rule;
+    }
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeFunctionRemovedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeFunctionRemovedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeFunctionRemovedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,17 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeFunctionRemovedEvent;
+
+public class BeforeFunctionRemovedEventImpl extends KnowledgeBaseEventImpl implements BeforeFunctionRemovedEvent {
+    String function;
+    
+    public BeforeFunctionRemovedEventImpl(KnowledgeBase knowledgeBase, String function) {
+        super( knowledgeBase );
+    }
+
+    public String getFunction() {
+        return this.function;
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseLockedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseLockedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseLockedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,12 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeKnowledgeBaseLockedEvent;
+
+public class BeforeKnowledgeBaseLockedEventImpl extends KnowledgeBaseEventImpl implements BeforeKnowledgeBaseLockedEvent {
+
+    public BeforeKnowledgeBaseLockedEventImpl(KnowledgeBase knowledgeBase) {
+        super( knowledgeBase );
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseUnlockedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseUnlockedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgeBaseUnlockedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,12 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeKnowledgeBaseUnlockedEvent;
+
+public class BeforeKnowledgeBaseUnlockedEventImpl extends KnowledgeBaseEventImpl implements BeforeKnowledgeBaseUnlockedEvent {
+
+    public BeforeKnowledgeBaseUnlockedEventImpl(KnowledgeBase knowledgeBase) {
+        super( knowledgeBase );
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageAddedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageAddedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageAddedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,18 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeKnowledgePackageAddedEvent;
+import org.drools.knowledge.definitions.KnowledgePackage;
+
+public class BeforeKnowledgePackageAddedEventImpl extends KnowledgeBaseEventImpl implements BeforeKnowledgePackageAddedEvent {
+    private KnowledgePackage knowledgePackage;
+    
+    public BeforeKnowledgePackageAddedEventImpl(KnowledgeBase knowledgeBase, KnowledgePackage knowledgePackage) {
+        super( knowledgeBase );
+    }
+
+    public KnowledgePackage getKnowledgePackage() {
+        return this.knowledgePackage;
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageRemovedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageRemovedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeKnowledgePackageRemovedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,20 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeKnowledgePackageRemovedEvent;
+import org.drools.knowledge.definitions.KnowledgePackage;
+
+
+public class BeforeKnowledgePackageRemovedEventImpl extends KnowledgeBaseEventImpl implements BeforeKnowledgePackageRemovedEvent {
+    private KnowledgePackage knowledgePackage;
+    
+    public BeforeKnowledgePackageRemovedEventImpl(KnowledgeBase knowledgeBase, KnowledgePackage knowledgePackage) {
+        super( knowledgeBase );
+        this.knowledgePackage = knowledgePackage;
+    }
+
+    public KnowledgePackage getKnowledgePackage() {
+        return this.knowledgePackage;
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleAddedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleAddedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleAddedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,19 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeRuleAddedEvent;
+import org.drools.knowledge.definitions.rule.Rule;
+
+public class BeforeRuleAddedEventImpl extends KnowledgeBaseEventImpl implements BeforeRuleAddedEvent {
+    private Rule rule;
+    
+    public BeforeRuleAddedEventImpl(KnowledgeBase knowledgeBase, Rule rule) {
+        super( knowledgeBase );
+        this.rule = rule;
+    }
+
+    public Rule getRule() {
+        return this.rule;
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleRemovedEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleRemovedEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/BeforeRuleRemovedEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,19 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.BeforeRuleRemovedEvent;
+import org.drools.knowledge.definitions.rule.Rule;
+
+public class BeforeRuleRemovedEventImpl extends KnowledgeBaseEventImpl implements BeforeRuleRemovedEvent {
+    private Rule rule;
+    
+    public BeforeRuleRemovedEventImpl(KnowledgeBase knowledgeBase, Rule rule) {
+        super( knowledgeBase );
+        this.rule = rule;
+    }
+
+    public Rule getRule() {
+        return this.rule;
+    }
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeBaseEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeBaseEventImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeBaseEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,17 @@
+package org.drools.event.knowlegebase.impl;
+
+import org.drools.KnowledgeBase;
+import org.drools.event.knowledgebase.KnowledgeBaseEvent;
+
+public class KnowledgeBaseEventImpl implements KnowledgeBaseEvent {
+    private KnowledgeBase knowledgeBase;
+    
+    public KnowledgeBaseEventImpl(KnowledgeBase knowledgeBase) {
+        this.knowledgeBase = knowledgeBase;
+    }
+    
+    public KnowledgeBase getKnowledgeBase() {
+        return this.knowledgeBase;
+    }
+
+}

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeRuntimeEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/impl/KnowledgeRuntimeEventImpl.java	2008-10-07 23:43:59 UTC (rev 23354)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/knowlegebase/impl/KnowledgeRuntimeEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -1,4 +1,4 @@
-package org.drools.event.impl;
+package org.drools.event.knowlegebase.impl;
 
 import java.io.Externalizable;
 import java.io.IOException;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/process/impl/ProcessEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/process/impl/ProcessEventImpl.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/process/impl/ProcessEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -5,7 +5,7 @@
 import java.io.ObjectOutput;
 
 import org.drools.WorkingMemory;
-import org.drools.event.impl.KnowledgeRuntimeEventImpl;
+import org.drools.event.knowlegebase.impl.KnowledgeRuntimeEventImpl;
 import org.drools.event.process.ProcessEvent;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.process.instance.ProcessInstance;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/rule/impl/ActivationEventImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/rule/impl/ActivationEventImpl.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/event/rule/impl/ActivationEventImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -16,11 +16,13 @@
  * limitations under the License.
  */
 
+import org.drools.event.rule.ActivationCancelledEvent;
+import org.drools.event.rule.ActivationCreatedEvent;
 import org.drools.event.rule.ActivationEvent;
 import org.drools.runtime.rule.Activation;
 
 
-public class ActivationEventImpl implements ActivationEvent {
+public class ActivationEventImpl implements ActivationEvent, ActivationCreatedEvent, ActivationCancelledEvent {
     private Activation activation;
     
     public ActivationEventImpl(Activation activation) {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -6,12 +6,55 @@
 import java.io.ObjectOutput;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.drools.KnowledgeBase;
 import org.drools.RuleBase;
+import org.drools.event.AfterFunctionRemovedEvent;
+import org.drools.event.AfterPackageAddedEvent;
+import org.drools.event.AfterPackageRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleBaseLockedEvent;
+import org.drools.event.AfterRuleBaseUnlockedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforeFunctionRemovedEvent;
+import org.drools.event.BeforePackageAddedEvent;
+import org.drools.event.BeforePackageRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleBaseLockedEvent;
+import org.drools.event.BeforeRuleBaseUnlockedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
+import org.drools.event.ObjectInsertedEvent;
+import org.drools.event.ObjectRetractedEvent;
+import org.drools.event.ObjectUpdatedEvent;
+import org.drools.event.RuleBaseEventListener;
+import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
+import org.drools.event.knowlegebase.impl.AfterFunctionRemovedEventImpl;
+import org.drools.event.knowlegebase.impl.AfterKnowledgeBaseLockedEventImpl;
+import org.drools.event.knowlegebase.impl.AfterKnowledgeBaseUnlockedEventImpl;
+import org.drools.event.knowlegebase.impl.AfterKnowledgePackageAddedEventImpl;
+import org.drools.event.knowlegebase.impl.AfterKnowledgePackageRemovedEventImpl;
+import org.drools.event.knowlegebase.impl.AfterRuleAddedEventImpl;
+import org.drools.event.knowlegebase.impl.AfterRuleRemovedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeFunctionRemovedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeKnowledgeBaseLockedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeKnowledgeBaseUnlockedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeKnowledgePackageAddedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeKnowledgePackageRemovedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeRuleAddedEventImpl;
+import org.drools.event.knowlegebase.impl.BeforeRuleRemovedEventImpl;
+import org.drools.event.rule.WorkingMemoryEventListener;
+import org.drools.event.rule.impl.ObjectInsertedEventImpl;
+import org.drools.event.rule.impl.ObjectRetractedEventImpl;
+import org.drools.event.rule.impl.ObjectUpdatedEventImpl;
+import org.drools.impl.StatefulKnowledgeSessionImpl.WorkingMemoryEventListenerWrapper;
 import org.drools.knowledge.definitions.KnowledgePackage;
+import org.drools.KnowledgeBase;
 import org.drools.knowledge.definitions.impl.KnowledgePackageImp;
+import org.drools.knowledge.definitions.rule.impl.RuleImpl;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.reteoo.ReteooStatefulSession;
 import org.drools.rule.Package;
@@ -21,14 +64,17 @@
     implements
     KnowledgeBase,
     Externalizable {
-    private RuleBase ruleBase;
-    
+    private RuleBase                                                          ruleBase;
+
+    public Map<KnowledgeBaseEventListener, KnowledgeBaseEventListenerWrapper> mappedKnowledgeBaseListeners;
+
     public KnowledgeBaseImpl() {
-        
+
     }
 
     public KnowledgeBaseImpl(RuleBase ruleBase) {
         this.ruleBase = ruleBase;
+        this.mappedKnowledgeBaseListeners = new HashMap<KnowledgeBaseEventListener, KnowledgeBaseEventListenerWrapper>();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -41,6 +87,24 @@
         ruleBase.readExternal( in );
     }
 
+    public void addEventListener(KnowledgeBaseEventListener listener) {
+        KnowledgeBaseEventListenerWrapper wrapper = new KnowledgeBaseEventListenerWrapper( this,
+                                                                                           listener );
+        this.mappedKnowledgeBaseListeners.put( listener,
+                                               wrapper );
+        this.ruleBase.addEventListener( wrapper );
+
+    }
+
+    public void removeEventListener(KnowledgeBaseEventListener listener) {
+        KnowledgeBaseEventListenerWrapper wrapper = this.mappedKnowledgeBaseListeners.remove( listener );
+        this.ruleBase.removeEventListener( wrapper );
+    }
+    
+    public Collection<KnowledgeBaseEventListener> getKnowledgeBaseEventListeners() {
+        return Collections.unmodifiableCollection( this.mappedKnowledgeBaseListeners.keySet() );
+    }
+
     public void addKnowledgePackage(KnowledgePackage knowledgePackage) {
         ruleBase.addPackage( ((KnowledgePackageImp) knowledgePackage).pkg );
     }
@@ -50,23 +114,116 @@
             ruleBase.addPackage( ((KnowledgePackageImp) knowledgePackage).pkg );
         }
     }
-    
+
     public Collection<KnowledgePackage> getKnowledgePackages() {
         Package[] pkgs = ruleBase.getPackages();
-        List< KnowledgePackage > list = new ArrayList< KnowledgePackage >( pkgs.length );
+        List<KnowledgePackage> list = new ArrayList<KnowledgePackage>( pkgs.length );
         for ( Package pkg : pkgs ) {
             list.add( new KnowledgePackageImp( pkg ) );
         }
         return list;
-    }    
+    }
 
     public StatefulKnowledgeSession newStatefulKnowledgeSession() {
         ReteooStatefulSession session = (ReteooStatefulSession) this.ruleBase.newStatefulSession();
-        return new StatefulKnowledgeSessionImpl( session , this );
+        return new StatefulKnowledgeSessionImpl( session,
+                                                 this );
     }
 
+    public void removeKnowledgePackage(String packageName) {
+        this.ruleBase.removePackage( packageName );
+    }
+
     public void removeRule(String packageName,
                            String ruleName) {
-        this.ruleBase.removeRule( packageName, ruleName );
+        this.ruleBase.removeRule( packageName,
+                                  ruleName );
     }
+
+    public static class KnowledgeBaseEventListenerWrapper
+        implements
+        org.drools.event.RuleBaseEventListener {
+        private KnowledgeBaseEventListener listener;
+        private KnowledgeBase              kbase;
+
+        public void readExternal(ObjectInput in) throws IOException,
+                                                ClassNotFoundException {
+        }
+
+        public void writeExternal(ObjectOutput out) throws IOException {
+            // TODO Auto-generated method stub
+
+        }
+
+        public KnowledgeBaseEventListenerWrapper(KnowledgeBase kbase,
+                                                 KnowledgeBaseEventListener listener) {
+            this.listener = listener;
+        }
+
+        public void afterFunctionRemoved(AfterFunctionRemovedEvent event) {
+            this.listener.afterFunctionRemoved( new AfterFunctionRemovedEventImpl( this.kbase,
+                                                                                   event.getFunction() ) );
+        }
+
+        public void afterPackageAdded(AfterPackageAddedEvent event) {
+            this.listener.afterKnowledgePackageAdded( new AfterKnowledgePackageAddedEventImpl( this.kbase,
+                                                                                               new KnowledgePackageImp( event.getPackage() ) ) );
+        }
+
+        public void afterPackageRemoved(AfterPackageRemovedEvent event) {
+            this.listener.afterKnowledgePackageRemoved( new AfterKnowledgePackageRemovedEventImpl( this.kbase,
+                                                                                                   new KnowledgePackageImp( event.getPackage() ) ) );
+        }
+
+        public void afterRuleAdded(AfterRuleAddedEvent event) {
+            this.listener.afterRuleAdded( new AfterRuleAddedEventImpl( this.kbase,
+                                                                       new RuleImpl( event.getRule() ) ) );
+        }
+
+        public void afterRuleBaseLocked(AfterRuleBaseLockedEvent event) {
+            this.listener.afterKnowledgeBaseLocked( new AfterKnowledgeBaseLockedEventImpl( this.kbase ) );
+        }
+
+        public void afterRuleBaseUnlocked(AfterRuleBaseUnlockedEvent event) {
+            this.listener.afterKnowledgeBaseUnlocked( new AfterKnowledgeBaseUnlockedEventImpl( this.kbase ) );
+        }
+
+        public void afterRuleRemoved(AfterRuleRemovedEvent event) {
+            this.listener.afterRuleRemoved( new AfterRuleRemovedEventImpl( this.kbase,
+                                                                           new RuleImpl( event.getRule() ) ) );
+        }
+
+        public void beforeFunctionRemoved(BeforeFunctionRemovedEvent event) {
+            this.listener.beforeFunctionRemoved( new BeforeFunctionRemovedEventImpl( this.kbase,
+                                                                                     event.getFunction() ) );
+        }
+
+        public void beforePackageAdded(BeforePackageAddedEvent event) {
+            this.listener.beforeKnowledgePackageAdded( new BeforeKnowledgePackageAddedEventImpl( this.kbase,
+                                                                                                 new KnowledgePackageImp( event.getPackage() ) ) );
+        }
+
+        public void beforePackageRemoved(BeforePackageRemovedEvent event) {
+            this.listener.beforeKnowledgePackageRemoved( new BeforeKnowledgePackageRemovedEventImpl( this.kbase,
+                                                                                                     new KnowledgePackageImp( event.getPackage() ) ) );
+        }
+
+        public void beforeRuleAdded(BeforeRuleAddedEvent event) {
+            this.listener.beforeRuleAdded( new BeforeRuleAddedEventImpl( this.kbase,
+                                                                         new RuleImpl( event.getRule() ) ) );
+        }
+
+        public void beforeRuleBaseLocked(BeforeRuleBaseLockedEvent event) {
+            this.listener.beforeKnowledgeBaseLocked( new BeforeKnowledgeBaseLockedEventImpl( this.kbase ) );
+        }
+
+        public void beforeRuleBaseUnlocked(BeforeRuleBaseUnlockedEvent event) {
+            this.listener.beforeKnowledgeBaseUnlocked( new BeforeKnowledgeBaseUnlockedEventImpl( this.kbase ) );
+        }
+
+        public void beforeRuleRemoved(BeforeRuleRemovedEvent event) {
+            this.listener.beforeRuleRemoved( new BeforeRuleRemovedEventImpl( this.kbase,
+                                                                             new RuleImpl( event.getRule() ) ) );
+        }
+    }
 }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -53,43 +53,47 @@
 public class StatefulKnowledgeSessionImpl
     implements
     StatefulKnowledgeSession {
-    public ReteooStatefulSession session;
-    public KnowledgeBaseImpl kbase;
-    
+    public ReteooStatefulSession                                              session;
+    public KnowledgeBaseImpl                                                  kbase;
+
     public Map<WorkingMemoryEventListener, WorkingMemoryEventListenerWrapper> mappedWorkingMemoryListeners;
-    public Map<AgendaEventListener, AgendaEventListenerWrapper> mappedAgendaListeners;
-    public Map<ProcessEventListener, ProcessEventListenerWrapper> mappedProcessListeners;
-    
+    public Map<AgendaEventListener, AgendaEventListenerWrapper>               mappedAgendaListeners;
+    public Map<ProcessEventListener, ProcessEventListenerWrapper>             mappedProcessListeners;
+
     public StatefulKnowledgeSessionImpl(ReteooStatefulSession session) {
-        this( session, null );
-    }    
+        this( session,
+              null );
+    }
 
-    public StatefulKnowledgeSessionImpl(ReteooStatefulSession session, KnowledgeBaseImpl kbase) {
+    public StatefulKnowledgeSessionImpl(ReteooStatefulSession session,
+                                        KnowledgeBaseImpl kbase) {
         this.session = session;
         this.kbase = kbase;
         this.mappedWorkingMemoryListeners = new IdentityHashMap<WorkingMemoryEventListener, WorkingMemoryEventListenerWrapper>();
         this.mappedAgendaListeners = new IdentityHashMap<AgendaEventListener, AgendaEventListenerWrapper>();
         this.mappedProcessListeners = new IdentityHashMap<ProcessEventListener, ProcessEventListenerWrapper>();
     }
-    
+
     public void addEventListener(WorkingMemoryEventListener listener) {
         WorkingMemoryEventListenerWrapper wrapper = new WorkingMemoryEventListenerWrapper( listener );
-        this.mappedWorkingMemoryListeners.put( listener, wrapper );
-        this.session.addEventListener( wrapper );        
-    } 
-    
+        this.mappedWorkingMemoryListeners.put( listener,
+                                               wrapper );
+        this.session.addEventListener( wrapper );
+    }
+
     public void removeEventListener(WorkingMemoryEventListener listener) {
-        WorkingMemoryEventListenerWrapper wrapper = this.mappedWorkingMemoryListeners.get( listener );
-        this.session.removeEventListener( wrapper );        
-    }      
-    
+        WorkingMemoryEventListenerWrapper wrapper = this.mappedWorkingMemoryListeners.remove( listener );
+        this.session.removeEventListener( wrapper );
+    }
+
     public Collection<WorkingMemoryEventListener> getWorkingMemoryEventListeners() {
         return Collections.unmodifiableCollection( this.mappedWorkingMemoryListeners.keySet() );
     }
-    
+
     public void addEventListener(AgendaEventListener listener) {
         AgendaEventListenerWrapper wrapper = new AgendaEventListenerWrapper( listener );
-        this.mappedAgendaListeners.put( listener, wrapper );
+        this.mappedAgendaListeners.put( listener,
+                                        wrapper );
         this.session.addEventListener( wrapper );
     }
 
@@ -98,13 +102,14 @@
     }
 
     public void removeEventListener(AgendaEventListener listener) {
-        AgendaEventListenerWrapper wrapper = this.mappedAgendaListeners.get( listener );
-        this.session.removeEventListener( wrapper );  
-    }    
-    
+        AgendaEventListenerWrapper wrapper = this.mappedAgendaListeners.remove( listener );
+        this.session.removeEventListener( wrapper );
+    }
+
     public void addEventListener(ProcessEventListener listener) {
-    	ProcessEventListenerWrapper wrapper = new ProcessEventListenerWrapper( listener );
-        this.mappedProcessListeners.put( listener, wrapper );
+        ProcessEventListenerWrapper wrapper = new ProcessEventListenerWrapper( listener );
+        this.mappedProcessListeners.put( listener,
+                                         wrapper );
         this.session.addEventListener( wrapper );
     }
 
@@ -114,9 +119,9 @@
 
     public void removeEventListener(ProcessEventListener listener) {
         ProcessEventListenerWrapper wrapper = this.mappedProcessListeners.get( listener );
-        this.session.removeEventListener( wrapper );  
-    }    
-    
+        this.session.removeEventListener( wrapper );
+    }
+
     public KnowledgeBase getKnowledgeBase() {
         if ( this.kbase == null ) {
             this.kbase = new KnowledgeBaseImpl( session.getRuleBase() );
@@ -135,7 +140,7 @@
     public void halt() {
         this.session.halt();
     }
-    
+
     public void setFocus(String agendaGroup) {
         this.session.setFocus( agendaGroup );
     }
@@ -163,7 +168,7 @@
     public FactHandle getFactHandle(Object object) {
         return this.session.getFactHandle( object );
     }
-    
+
     public ProcessInstance getProcessInstance(long id) {
         return this.session.getProcessInstance( id );
     }
@@ -185,9 +190,11 @@
         return this.session.startProcess( processId,
                                           parameters );
     }
-    
-    public void signalEvent(String type, Object event) {
-    	this.session.getSignalManager().signalEvent(type, event);
+
+    public void signalEvent(String type,
+                            Object event) {
+        this.session.getSignalManager().signalEvent( type,
+                                                     event );
     }
 
     public void setGlobal(String identifier,
@@ -204,7 +211,7 @@
         return new FutureAdapter( this.session.asyncInsert( array ) );
     }
 
-    public Future<Object> asyncInsert(Iterable<?> iterable) {
+    public Future<Object> asyncInsert(Iterable< ? > iterable) {
         return new FutureAdapter( this.session.asyncInsert( iterable ) );
     }
 
@@ -301,23 +308,23 @@
             if ( this.filter == null ) {
                 return this.store.isEmpty();
             }
-                                  
+
             return size() == 0;
         }
-        
+
         public int size() {
             if ( this.filter == null ) {
                 return this.store.size();
             }
-            
+
             int i = 0;
             for ( Iterator it = iterator(); it.hasNext(); ) {
                 it.next();
                 i++;
-            }  
-            
+            }
+
             return i;
-        }        
+        }
 
         public Iterator< ? > iterator() {
             Iterator it = null;
@@ -354,10 +361,12 @@
             return array;
         }
     }
-    
-    public static class WorkingMemoryEventListenerWrapper implements org.drools.event.WorkingMemoryEventListener {
+
+    public static class WorkingMemoryEventListenerWrapper
+        implements
+        org.drools.event.WorkingMemoryEventListener {
         private WorkingMemoryEventListener listener;
-        
+
         public WorkingMemoryEventListenerWrapper(WorkingMemoryEventListener listener) {
             this.listener = listener;
         }
@@ -367,17 +376,19 @@
         }
 
         public void objectRetracted(ObjectRetractedEvent event) {
-            listener.objectRetracted( new ObjectRetractedEventImpl( event ) );            
+            listener.objectRetracted( new ObjectRetractedEventImpl( event ) );
         }
 
         public void objectUpdated(ObjectUpdatedEvent event) {
             listener.objectUpdated( new ObjectUpdatedEventImpl( event ) );
-        }        
+        }
     }
-    
-    public static class AgendaEventListenerWrapper implements org.drools.event.AgendaEventListener {
-        private AgendaEventListener listener;                
-        
+
+    public static class AgendaEventListenerWrapper
+        implements
+        org.drools.event.AgendaEventListener {
+        private AgendaEventListener listener;
+
         public AgendaEventListenerWrapper(AgendaEventListener listener) {
             this.listener = listener;
         }
@@ -385,88 +396,116 @@
         public void activationCancelled(ActivationCancelledEvent event,
                                         WorkingMemory workingMemory) {
 
-            listener.activationCancelled( new ActivationCancelledEventImpl( event.getActivation() ), null );
-            
+            listener.activationCancelled( new ActivationCancelledEventImpl( event.getActivation() ),
+                                          null );
+
         }
 
         public void activationCreated(ActivationCreatedEvent event,
                                       WorkingMemory workingMemory) {
-            listener.activationCreated( new ActivationCreatedEventImpl( event.getActivation() ), null );            
+            listener.activationCreated( new ActivationCreatedEventImpl( event.getActivation() ),
+                                        null );
         }
-        
+
         public void beforeActivationFired(BeforeActivationFiredEvent event,
                                           WorkingMemory workingMemory) {
-            listener.beforeActivationFired( new BeforeActivationFiredEventImpl( event.getActivation() ), null );
-        }        
+            listener.beforeActivationFired( new BeforeActivationFiredEventImpl( event.getActivation() ),
+                                            null );
+        }
 
         public void afterActivationFired(AfterActivationFiredEvent event,
                                          WorkingMemory workingMemory) {
-            listener.afterActivationFired( new AfterActivationFiredEventImpl( event.getActivation() ), null );
+            listener.afterActivationFired( new AfterActivationFiredEventImpl( event.getActivation() ),
+                                           null );
         }
 
         public void agendaGroupPopped(AgendaGroupPoppedEvent event,
                                       WorkingMemory workingMemory) {
-            listener.agendaGroupPopped( new AgendaGroupPoppedEventImpl( event.getAgendaGroup() ), null );
+            listener.agendaGroupPopped( new AgendaGroupPoppedEventImpl( event.getAgendaGroup() ),
+                                        null );
         }
 
         public void agendaGroupPushed(AgendaGroupPushedEvent event,
                                       WorkingMemory workingMemory) {
-            listener.agendaGroupPushed( new AgendaGroupPushedEventImpl( event.getAgendaGroup() ), null );
+            listener.agendaGroupPushed( new AgendaGroupPushedEventImpl( event.getAgendaGroup() ),
+                                        null );
         }
-       
+
     }
 
-    public static class ProcessEventListenerWrapper implements org.drools.event.RuleFlowEventListener {
+    public static class ProcessEventListenerWrapper
+        implements
+        org.drools.event.RuleFlowEventListener {
         private ProcessEventListener listener;
-        
+
         public ProcessEventListenerWrapper(ProcessEventListener listener) {
             this.listener = listener;
         }
 
-		public void beforeRuleFlowCompleted(RuleFlowCompletedEvent event, WorkingMemory workingMemory) {
-			listener.beforeProcessCompleted(new ProcessCompletedEventImpl( event, workingMemory ));
-		}
+        public void beforeRuleFlowCompleted(RuleFlowCompletedEvent event,
+                                            WorkingMemory workingMemory) {
+            listener.beforeProcessCompleted( new ProcessCompletedEventImpl( event,
+                                                                            workingMemory ) );
+        }
 
-		public void beforeRuleFlowGroupActivated(RuleFlowGroupActivatedEvent event, WorkingMemory workingMemory) {
-		}
+        public void beforeRuleFlowGroupActivated(RuleFlowGroupActivatedEvent event,
+                                                 WorkingMemory workingMemory) {
+        }
 
-		public void beforeRuleFlowGroupDeactivated(RuleFlowGroupDeactivatedEvent event, WorkingMemory workingMemory) {
-		}
+        public void beforeRuleFlowGroupDeactivated(RuleFlowGroupDeactivatedEvent event,
+                                                   WorkingMemory workingMemory) {
+        }
 
-		public void beforeRuleFlowNodeLeft(RuleFlowNodeTriggeredEvent event, WorkingMemory workingMemory) {
-			listener.beforeNodeLeft(new ProcessNodeLeftEventImpl( event, workingMemory ));
-		}
+        public void beforeRuleFlowNodeLeft(RuleFlowNodeTriggeredEvent event,
+                                           WorkingMemory workingMemory) {
+            listener.beforeNodeLeft( new ProcessNodeLeftEventImpl( event,
+                                                                   workingMemory ) );
+        }
 
-		public void beforeRuleFlowNodeTriggered(RuleFlowNodeTriggeredEvent event, WorkingMemory workingMemory) {
-			listener.beforeNodeTriggered(new ProcessNodeTriggeredEventImpl( event, workingMemory ));
-		}
+        public void beforeRuleFlowNodeTriggered(RuleFlowNodeTriggeredEvent event,
+                                                WorkingMemory workingMemory) {
+            listener.beforeNodeTriggered( new ProcessNodeTriggeredEventImpl( event,
+                                                                             workingMemory ) );
+        }
 
-		public void beforeRuleFlowStarted(RuleFlowStartedEvent event, WorkingMemory workingMemory) {
-			listener.beforeProcessStarted(new ProcessStartedEventImpl( event, workingMemory ));
-		}        
+        public void beforeRuleFlowStarted(RuleFlowStartedEvent event,
+                                          WorkingMemory workingMemory) {
+            listener.beforeProcessStarted( new ProcessStartedEventImpl( event,
+                                                                        workingMemory ) );
+        }
 
-		public void afterRuleFlowCompleted(RuleFlowCompletedEvent event, WorkingMemory workingMemory) {
-			listener.afterProcessCompleted(new ProcessCompletedEventImpl( event, workingMemory ));
-		}
+        public void afterRuleFlowCompleted(RuleFlowCompletedEvent event,
+                                           WorkingMemory workingMemory) {
+            listener.afterProcessCompleted( new ProcessCompletedEventImpl( event,
+                                                                           workingMemory ) );
+        }
 
-		public void afterRuleFlowGroupActivated(RuleFlowGroupActivatedEvent event, WorkingMemory workingMemory) {
-		}
+        public void afterRuleFlowGroupActivated(RuleFlowGroupActivatedEvent event,
+                                                WorkingMemory workingMemory) {
+        }
 
-		public void afterRuleFlowGroupDeactivated(RuleFlowGroupDeactivatedEvent event, WorkingMemory workingMemory) {
-		}
+        public void afterRuleFlowGroupDeactivated(RuleFlowGroupDeactivatedEvent event,
+                                                  WorkingMemory workingMemory) {
+        }
 
-		public void afterRuleFlowNodeLeft(RuleFlowNodeTriggeredEvent event, WorkingMemory workingMemory) {
-			listener.afterNodeLeft(new ProcessNodeLeftEventImpl( event, workingMemory ));
-		}
+        public void afterRuleFlowNodeLeft(RuleFlowNodeTriggeredEvent event,
+                                          WorkingMemory workingMemory) {
+            listener.afterNodeLeft( new ProcessNodeLeftEventImpl( event,
+                                                                  workingMemory ) );
+        }
 
-		public void afterRuleFlowNodeTriggered(RuleFlowNodeTriggeredEvent event, WorkingMemory workingMemory) {
-			listener.afterNodeTriggered(new ProcessNodeTriggeredEventImpl( event, workingMemory ));
-		}
+        public void afterRuleFlowNodeTriggered(RuleFlowNodeTriggeredEvent event,
+                                               WorkingMemory workingMemory) {
+            listener.afterNodeTriggered( new ProcessNodeTriggeredEventImpl( event,
+                                                                            workingMemory ) );
+        }
 
-		public void afterRuleFlowStarted(RuleFlowStartedEvent event, WorkingMemory workingMemory) {
-			listener.afterProcessStarted(new ProcessStartedEventImpl( event, workingMemory ));
-		}
+        public void afterRuleFlowStarted(RuleFlowStartedEvent event,
+                                         WorkingMemory workingMemory) {
+            listener.afterProcessStarted( new ProcessStartedEventImpl( event,
+                                                                       workingMemory ) );
+        }
 
     }
-    
+
 }

Deleted: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventListenerTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventListenerTest.java	2008-10-16 03:54:39 UTC (rev 23467)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventListenerTest.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -1,389 +0,0 @@
-/*
- * Copyright 2007 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.
- *
- * Created on Sep 11, 2007
- */
-package org.drools.event;
-
-import junit.framework.TestCase;
-
-import org.drools.Cheese;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.base.ClassFieldAccessorStore;
-import org.drools.base.ClassFieldReader;
-import org.drools.base.ClassFieldAccessorCache;
-import org.drools.base.ClassObjectType;
-import org.drools.base.FieldFactory;
-import org.drools.base.ValueType;
-import org.drools.base.evaluators.EqualityEvaluatorsDefinition;
-import org.drools.base.evaluators.Operator;
-import org.drools.rule.LiteralConstraint;
-import org.drools.rule.Package;
-import org.drools.rule.Pattern;
-import org.drools.rule.Rule;
-import org.drools.WorkingMemory;
-import org.drools.spi.Consequence;
-import org.drools.spi.Evaluator;
-import org.drools.spi.FieldValue;
-import org.drools.spi.KnowledgeHelper;
-
-import java.io.ObjectOutput;
-import java.io.IOException;
-import java.io.ObjectInput;
-
-/**
- * @author etirelli
- *
- */
-public class RuleBaseEventListenerTest extends TestCase {
-
-    private RuleBase             ruleBase;
-    private TestRuleBaseListener listener1;
-    private TestRuleBaseListener listener2;
-    private Package              pkg;
-
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        ruleBase = RuleBaseFactory.newRuleBase();
-        listener1 = new TestRuleBaseListener( "(listener-1) " );
-        listener2 = new TestRuleBaseListener( "(listener-2) " );
-        ruleBase.addEventListener( listener1 );
-        ruleBase.addEventListener( listener2 );
-
-        final Rule rule1 = new Rule( "test1" );
-        final ClassObjectType cheeseObjectType = new ClassObjectType( Cheese.class );
-        final Pattern pattern = new Pattern( 0,
-                                             cheeseObjectType );
-
-        ClassFieldAccessorStore store = new ClassFieldAccessorStore();
-        store.setClassFieldAccessorCache( new ClassFieldAccessorCache( Thread.currentThread().getContextClassLoader() ) );
-        store.setEagerWire( true );
-
-        final ClassFieldReader extractor = store.getReader( Cheese.class,
-                                                            "type",
-                                                            getClass().getClassLoader() );
-
-        final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
-
-        final Evaluator evaluator = new EqualityEvaluatorsDefinition().getEvaluator( ValueType.STRING_TYPE,
-                                                                                     Operator.EQUAL,
-                                                                                     null );
-
-        final LiteralConstraint constraint = new LiteralConstraint( extractor,
-                                                                    evaluator,
-                                                                    field );
-        pattern.addConstraint( constraint );
-        rule1.addPattern( pattern );
-
-        rule1.setConsequence( new Consequence() {
-            private static final long serialVersionUID = 1L;
-
-            public void evaluate(final KnowledgeHelper knowledgeHelper,
-                                 final WorkingMemory workingMemory) throws Exception {
-            }
-
-            public void readExternal(ObjectInput in) throws IOException,
-                                                    ClassNotFoundException {
-
-            }
-
-            public void writeExternal(ObjectOutput out) throws IOException {
-
-            }
-        } );
-
-        final Rule rule2 = new Rule( "test2" );
-        final ClassObjectType cheeseObjectType2 = new ClassObjectType( Cheese.class );
-        final Pattern pattern2 = new Pattern( 0,
-                                              cheeseObjectType2 );
-
-        final FieldValue field2 = FieldFactory.getFieldValue( "stilton" );
-
-        final LiteralConstraint constraint2 = new LiteralConstraint( extractor,
-                                                                     evaluator,
-                                                                     field2 );
-        pattern2.addConstraint( constraint2 );
-        rule2.addPattern( pattern2 );
-
-        rule2.setConsequence( new Consequence() {
-            private static final long serialVersionUID = 1L;
-
-            public void evaluate(final KnowledgeHelper knowledgeHelper,
-                                 final WorkingMemory workingMemory) throws Exception {
-            }
-
-            public void readExternal(ObjectInput in) throws IOException,
-                                                    ClassNotFoundException {
-
-            }
-
-            public void writeExternal(ObjectOutput out) throws IOException {
-
-            }
-        } );
-
-        pkg = new Package( "org.drools.test1" );
-        pkg.addRule( rule1 );
-        pkg.addRule( rule2 );
-
-    }
-
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#tearDown()
-     */
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    public void testAddPackageEvents() throws Exception {
-        assertEquals( 0,
-                      listener1.getBeforePackageAdded() );
-        assertEquals( 0,
-                      listener1.getAfterPackageAdded() );
-        assertEquals( 0,
-                      listener2.getBeforePackageAdded() );
-        assertEquals( 0,
-                      listener2.getAfterPackageAdded() );
-        assertEquals( 0,
-                      listener1.getBeforeRuleAdded() );
-        assertEquals( 0,
-                      listener1.getAfterRuleAdded() );
-        assertEquals( 0,
-                      listener2.getBeforeRuleAdded() );
-        assertEquals( 0,
-                      listener2.getAfterRuleAdded() );
-
-        this.ruleBase.addPackage( pkg );
-
-        assertEquals( 1,
-                      listener1.getBeforePackageAdded() );
-        assertEquals( 1,
-                      listener1.getAfterPackageAdded() );
-        assertEquals( 1,
-                      listener2.getBeforePackageAdded() );
-        assertEquals( 1,
-                      listener2.getAfterPackageAdded() );
-        assertEquals( 2,
-                      listener1.getBeforeRuleAdded() );
-        assertEquals( 2,
-                      listener1.getAfterRuleAdded() );
-        assertEquals( 2,
-                      listener2.getBeforeRuleAdded() );
-        assertEquals( 2,
-                      listener2.getAfterRuleAdded() );
-    }
-
-    public void testRemovePackageEvents() throws Exception {
-        this.ruleBase.addPackage( pkg );
-
-        assertEquals( 0,
-                      listener1.getBeforePackageRemoved() );
-        assertEquals( 0,
-                      listener1.getAfterPackageRemoved() );
-        assertEquals( 0,
-                      listener2.getBeforePackageRemoved() );
-        assertEquals( 0,
-                      listener2.getAfterPackageRemoved() );
-
-        assertEquals( 0,
-                      listener1.getBeforeRuleRemoved() );
-        assertEquals( 0,
-                      listener1.getAfterRuleRemoved() );
-        assertEquals( 0,
-                      listener2.getBeforeRuleRemoved() );
-        assertEquals( 0,
-                      listener2.getAfterRuleRemoved() );
-
-        this.ruleBase.removePackage( "org.drools.test1" );
-
-        assertEquals( 1,
-                      listener1.getBeforePackageRemoved() );
-        assertEquals( 1,
-                      listener1.getAfterPackageRemoved() );
-        assertEquals( 1,
-                      listener2.getBeforePackageRemoved() );
-        assertEquals( 1,
-                      listener2.getAfterPackageRemoved() );
-        assertEquals( 2,
-                      listener1.getBeforeRuleRemoved() );
-        assertEquals( 2,
-                      listener1.getAfterRuleRemoved() );
-        assertEquals( 2,
-                      listener2.getBeforeRuleRemoved() );
-        assertEquals( 2,
-                      listener2.getAfterRuleRemoved() );
-
-    }
-
-    public static class TestRuleBaseListener
-        implements
-        RuleBaseEventListener {
-        private String id;
-        private int    beforePackageAdded   = 0;
-        private int    afterPackageAdded    = 0;
-        private int    beforePackageRemoved = 0;
-        private int    afterPackageRemoved  = 0;
-        private int    beforeRuleAdded      = 0;
-        private int    afterRuleAdded       = 0;
-        private int    beforeRuleRemoved    = 0;
-        private int    afterRuleRemoved     = 0;
-
-        public TestRuleBaseListener() {
-        }
-
-        public TestRuleBaseListener(String id) {
-            super();
-            this.id = id;
-        }
-
-        public void readExternal(ObjectInput in) throws IOException,
-                                                ClassNotFoundException {
-            id = (String) in.readObject();
-            beforePackageAdded = in.readInt();
-            afterPackageAdded = in.readInt();
-            beforePackageRemoved = in.readInt();
-            afterPackageRemoved = in.readInt();
-            beforeRuleAdded = in.readInt();
-            afterRuleAdded = in.readInt();
-            beforeRuleRemoved = in.readInt();
-            afterRuleRemoved = in.readInt();
-        }
-
-        public void writeExternal(ObjectOutput out) throws IOException {
-            out.writeObject( id );
-            out.writeInt( beforePackageAdded );
-            out.writeInt( afterPackageAdded );
-            out.writeInt( beforePackageRemoved );
-            out.writeInt( afterPackageRemoved );
-            out.writeInt( beforeRuleAdded );
-            out.writeInt( afterRuleAdded );
-            out.writeInt( beforeRuleRemoved );
-            out.writeInt( afterRuleRemoved );
-        }
-
-        public void afterPackageAdded(AfterPackageAddedEvent event) {
-            //            System.out.println( this.id + event );
-            this.afterPackageAdded++;
-        }
-
-        public void beforePackageAdded(BeforePackageAddedEvent event) {
-            //            System.out.println( this.id + event );
-            this.beforePackageAdded++;
-        }
-
-        protected int getAfterPackageAdded() {
-            return afterPackageAdded;
-        }
-
-        protected int getBeforePackageAdded() {
-            return beforePackageAdded;
-        }
-
-        protected String getId() {
-            return id;
-        }
-
-        public void afterPackageRemoved(AfterPackageRemovedEvent event) {
-            //            System.out.println( this.id + event );
-            this.afterPackageRemoved++;
-        }
-
-        public void beforePackageRemoved(BeforePackageRemovedEvent event) {
-            //            System.out.println( this.id + event );
-            this.beforePackageRemoved++;
-        }
-
-        protected int getAfterPackageRemoved() {
-            return afterPackageRemoved;
-        }
-
-        protected int getBeforePackageRemoved() {
-            return beforePackageRemoved;
-        }
-
-        public int getAfterRuleAdded() {
-            return afterRuleAdded;
-        }
-
-        public int getBeforeRuleAdded() {
-            return beforeRuleAdded;
-        }
-
-        public void afterRuleAdded(AfterRuleAddedEvent event) {
-            //            System.out.println( this.id + event );
-            this.afterRuleAdded++;
-        }
-
-        public void beforeRuleAdded(BeforeRuleAddedEvent event) {
-            //            System.out.println( this.id + event );
-            this.beforeRuleAdded++;
-        }
-
-        public int getAfterRuleRemoved() {
-            return afterRuleRemoved;
-        }
-
-        public int getBeforeRuleRemoved() {
-            return beforeRuleRemoved;
-        }
-
-        public void afterRuleRemoved(AfterRuleRemovedEvent event) {
-            //            System.out.println( this.id + event );
-            this.afterRuleRemoved++;
-        }
-
-        public void beforeRuleRemoved(BeforeRuleRemovedEvent event) {
-            //            System.out.println( this.id + event );
-            this.beforeRuleRemoved++;
-        }
-
-        public void afterFunctionRemoved(AfterFunctionRemovedEvent event) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public void afterRuleBaseLocked(AfterRuleBaseLockedEvent event) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public void afterRuleBaseUnlocked(AfterRuleBaseUnlockedEvent event) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public void beforeFunctionRemoved(BeforeFunctionRemovedEvent event) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public void beforeRuleBaseLocked(BeforeRuleBaseLockedEvent event) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public void beforeRuleBaseUnlocked(BeforeRuleBaseUnlockedEvent event) {
-            // TODO Auto-generated method stub
-
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java (from rev 23429, labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventListenerTest.java)
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,395 @@
+/*
+ * Copyright 2007 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.
+ *
+ * Created on Sep 11, 2007
+ */
+package org.drools.event;
+
+import junit.framework.TestCase;
+
+import org.drools.Cheese;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.base.ClassFieldAccessorStore;
+import org.drools.base.ClassFieldReader;
+import org.drools.base.ClassFieldAccessorCache;
+import org.drools.base.ClassObjectType;
+import org.drools.base.FieldFactory;
+import org.drools.base.ValueType;
+import org.drools.base.evaluators.EqualityEvaluatorsDefinition;
+import org.drools.base.evaluators.Operator;
+import org.drools.event.AfterFunctionRemovedEvent;
+import org.drools.event.AfterRuleAddedEvent;
+import org.drools.event.AfterRuleRemovedEvent;
+import org.drools.event.BeforeFunctionRemovedEvent;
+import org.drools.event.BeforeRuleAddedEvent;
+import org.drools.event.BeforeRuleRemovedEvent;
+import org.drools.rule.LiteralConstraint;
+import org.drools.rule.Package;
+import org.drools.rule.Pattern;
+import org.drools.rule.Rule;
+import org.drools.WorkingMemory;
+import org.drools.spi.Consequence;
+import org.drools.spi.Evaluator;
+import org.drools.spi.FieldValue;
+import org.drools.spi.KnowledgeHelper;
+
+import java.io.ObjectOutput;
+import java.io.IOException;
+import java.io.ObjectInput;
+
+/**
+ * @author etirelli
+ *
+ */
+public class RuleBaseEventSupportTest extends TestCase {
+
+    private RuleBase             ruleBase;
+    private TestRuleBaseListener listener1;
+    private TestRuleBaseListener listener2;
+    private Package              pkg;
+
+    /* (non-Javadoc)
+     * @see junit.framework.TestCase#setUp()
+     */
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        ruleBase = RuleBaseFactory.newRuleBase();
+        listener1 = new TestRuleBaseListener( "(listener-1) " );
+        listener2 = new TestRuleBaseListener( "(listener-2) " );
+        ruleBase.addEventListener( listener1 );
+        ruleBase.addEventListener( listener2 );
+
+        final Rule rule1 = new Rule( "test1" );
+        final ClassObjectType cheeseObjectType = new ClassObjectType( Cheese.class );
+        final Pattern pattern = new Pattern( 0,
+                                             cheeseObjectType );
+
+        ClassFieldAccessorStore store = new ClassFieldAccessorStore();
+        store.setClassFieldAccessorCache( new ClassFieldAccessorCache( Thread.currentThread().getContextClassLoader() ) );
+        store.setEagerWire( true );
+
+        final ClassFieldReader extractor = store.getReader( Cheese.class,
+                                                            "type",
+                                                            getClass().getClassLoader() );
+
+        final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
+
+        final Evaluator evaluator = new EqualityEvaluatorsDefinition().getEvaluator( ValueType.STRING_TYPE,
+                                                                                     Operator.EQUAL,
+                                                                                     null );
+
+        final LiteralConstraint constraint = new LiteralConstraint( extractor,
+                                                                    evaluator,
+                                                                    field );
+        pattern.addConstraint( constraint );
+        rule1.addPattern( pattern );
+
+        rule1.setConsequence( new Consequence() {
+            private static final long serialVersionUID = 1L;
+
+            public void evaluate(final KnowledgeHelper knowledgeHelper,
+                                 final WorkingMemory workingMemory) throws Exception {
+            }
+
+            public void readExternal(ObjectInput in) throws IOException,
+                                                    ClassNotFoundException {
+
+            }
+
+            public void writeExternal(ObjectOutput out) throws IOException {
+
+            }
+        } );
+
+        final Rule rule2 = new Rule( "test2" );
+        final ClassObjectType cheeseObjectType2 = new ClassObjectType( Cheese.class );
+        final Pattern pattern2 = new Pattern( 0,
+                                              cheeseObjectType2 );
+
+        final FieldValue field2 = FieldFactory.getFieldValue( "stilton" );
+
+        final LiteralConstraint constraint2 = new LiteralConstraint( extractor,
+                                                                     evaluator,
+                                                                     field2 );
+        pattern2.addConstraint( constraint2 );
+        rule2.addPattern( pattern2 );
+
+        rule2.setConsequence( new Consequence() {
+            private static final long serialVersionUID = 1L;
+
+            public void evaluate(final KnowledgeHelper knowledgeHelper,
+                                 final WorkingMemory workingMemory) throws Exception {
+            }
+
+            public void readExternal(ObjectInput in) throws IOException,
+                                                    ClassNotFoundException {
+
+            }
+
+            public void writeExternal(ObjectOutput out) throws IOException {
+
+            }
+        } );
+
+        pkg = new Package( "org.drools.test1" );
+        pkg.addRule( rule1 );
+        pkg.addRule( rule2 );
+
+    }
+
+    /* (non-Javadoc)
+     * @see junit.framework.TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testAddPackageEvents() throws Exception {
+        assertEquals( 0,
+                      listener1.getBeforePackageAdded() );
+        assertEquals( 0,
+                      listener1.getAfterPackageAdded() );
+        assertEquals( 0,
+                      listener2.getBeforePackageAdded() );
+        assertEquals( 0,
+                      listener2.getAfterPackageAdded() );
+        assertEquals( 0,
+                      listener1.getBeforeRuleAdded() );
+        assertEquals( 0,
+                      listener1.getAfterRuleAdded() );
+        assertEquals( 0,
+                      listener2.getBeforeRuleAdded() );
+        assertEquals( 0,
+                      listener2.getAfterRuleAdded() );
+
+        this.ruleBase.addPackage( pkg );
+
+        assertEquals( 1,
+                      listener1.getBeforePackageAdded() );
+        assertEquals( 1,
+                      listener1.getAfterPackageAdded() );
+        assertEquals( 1,
+                      listener2.getBeforePackageAdded() );
+        assertEquals( 1,
+                      listener2.getAfterPackageAdded() );
+        assertEquals( 2,
+                      listener1.getBeforeRuleAdded() );
+        assertEquals( 2,
+                      listener1.getAfterRuleAdded() );
+        assertEquals( 2,
+                      listener2.getBeforeRuleAdded() );
+        assertEquals( 2,
+                      listener2.getAfterRuleAdded() );
+    }
+
+    public void testRemovePackageEvents() throws Exception {
+        this.ruleBase.addPackage( pkg );
+
+        assertEquals( 0,
+                      listener1.getBeforePackageRemoved() );
+        assertEquals( 0,
+                      listener1.getAfterPackageRemoved() );
+        assertEquals( 0,
+                      listener2.getBeforePackageRemoved() );
+        assertEquals( 0,
+                      listener2.getAfterPackageRemoved() );
+
+        assertEquals( 0,
+                      listener1.getBeforeRuleRemoved() );
+        assertEquals( 0,
+                      listener1.getAfterRuleRemoved() );
+        assertEquals( 0,
+                      listener2.getBeforeRuleRemoved() );
+        assertEquals( 0,
+                      listener2.getAfterRuleRemoved() );
+
+        this.ruleBase.removePackage( "org.drools.test1" );
+
+        assertEquals( 1,
+                      listener1.getBeforePackageRemoved() );
+        assertEquals( 1,
+                      listener1.getAfterPackageRemoved() );
+        assertEquals( 1,
+                      listener2.getBeforePackageRemoved() );
+        assertEquals( 1,
+                      listener2.getAfterPackageRemoved() );
+        assertEquals( 2,
+                      listener1.getBeforeRuleRemoved() );
+        assertEquals( 2,
+                      listener1.getAfterRuleRemoved() );
+        assertEquals( 2,
+                      listener2.getBeforeRuleRemoved() );
+        assertEquals( 2,
+                      listener2.getAfterRuleRemoved() );
+
+    }
+
+    public static class TestRuleBaseListener
+        implements
+        RuleBaseEventListener {
+        private String id;
+        private int    beforePackageAdded   = 0;
+        private int    afterPackageAdded    = 0;
+        private int    beforePackageRemoved = 0;
+        private int    afterPackageRemoved  = 0;
+        private int    beforeRuleAdded      = 0;
+        private int    afterRuleAdded       = 0;
+        private int    beforeRuleRemoved    = 0;
+        private int    afterRuleRemoved     = 0;
+
+        public TestRuleBaseListener() {
+        }
+
+        public TestRuleBaseListener(String id) {
+            super();
+            this.id = id;
+        }
+
+        public void readExternal(ObjectInput in) throws IOException,
+                                                ClassNotFoundException {
+            id = (String) in.readObject();
+            beforePackageAdded = in.readInt();
+            afterPackageAdded = in.readInt();
+            beforePackageRemoved = in.readInt();
+            afterPackageRemoved = in.readInt();
+            beforeRuleAdded = in.readInt();
+            afterRuleAdded = in.readInt();
+            beforeRuleRemoved = in.readInt();
+            afterRuleRemoved = in.readInt();
+        }
+
+        public void writeExternal(ObjectOutput out) throws IOException {
+            out.writeObject( id );
+            out.writeInt( beforePackageAdded );
+            out.writeInt( afterPackageAdded );
+            out.writeInt( beforePackageRemoved );
+            out.writeInt( afterPackageRemoved );
+            out.writeInt( beforeRuleAdded );
+            out.writeInt( afterRuleAdded );
+            out.writeInt( beforeRuleRemoved );
+            out.writeInt( afterRuleRemoved );
+        }
+
+        public void afterPackageAdded(AfterPackageAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterPackageAdded++;
+        }
+
+        public void beforePackageAdded(BeforePackageAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforePackageAdded++;
+        }
+
+        protected int getAfterPackageAdded() {
+            return afterPackageAdded;
+        }
+
+        protected int getBeforePackageAdded() {
+            return beforePackageAdded;
+        }
+
+        protected String getId() {
+            return id;
+        }
+
+        public void afterPackageRemoved(AfterPackageRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterPackageRemoved++;
+        }
+
+        public void beforePackageRemoved(BeforePackageRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforePackageRemoved++;
+        }
+
+        protected int getAfterPackageRemoved() {
+            return afterPackageRemoved;
+        }
+
+        protected int getBeforePackageRemoved() {
+            return beforePackageRemoved;
+        }
+
+        public int getAfterRuleAdded() {
+            return afterRuleAdded;
+        }
+
+        public int getBeforeRuleAdded() {
+            return beforeRuleAdded;
+        }
+
+        public void afterRuleAdded(AfterRuleAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterRuleAdded++;
+        }
+
+        public void beforeRuleAdded(BeforeRuleAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforeRuleAdded++;
+        }
+
+        public int getAfterRuleRemoved() {
+            return afterRuleRemoved;
+        }
+
+        public int getBeforeRuleRemoved() {
+            return beforeRuleRemoved;
+        }
+
+        public void afterRuleRemoved(AfterRuleRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterRuleRemoved++;
+        }
+
+        public void beforeRuleRemoved(BeforeRuleRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforeRuleRemoved++;
+        }
+
+        public void afterFunctionRemoved(AfterFunctionRemovedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void afterRuleBaseLocked(AfterRuleBaseLockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void afterRuleBaseUnlocked(AfterRuleBaseUnlockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void beforeFunctionRemoved(BeforeFunctionRemovedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void beforeRuleBaseLocked(BeforeRuleBaseLockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void beforeRuleBaseUnlocked(BeforeRuleBaseUnlockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+    }
+
+}


Property changes on: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java	2008-10-16 05:32:57 UTC (rev 23468)
@@ -0,0 +1,389 @@
+/*
+ * Copyright 2007 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.
+ *
+ * Created on Sep 11, 2007
+ */
+package org.drools.event.knowledgebase;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+import junit.framework.TestCase;
+
+import org.drools.Cheese;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.base.ClassFieldAccessorCache;
+import org.drools.base.ClassFieldAccessorStore;
+import org.drools.base.ClassFieldReader;
+import org.drools.base.ClassObjectType;
+import org.drools.base.FieldFactory;
+import org.drools.base.ValueType;
+import org.drools.base.evaluators.EqualityEvaluatorsDefinition;
+import org.drools.base.evaluators.Operator;
+import org.drools.knowledge.definitions.impl.KnowledgePackageImp;
+import org.drools.rule.LiteralConstraint;
+import org.drools.rule.Package;
+import org.drools.rule.Pattern;
+import org.drools.rule.Rule;
+import org.drools.spi.Consequence;
+import org.drools.spi.Evaluator;
+import org.drools.spi.FieldValue;
+import org.drools.spi.KnowledgeHelper;
+
+/**
+ * @author etirelli
+ *
+ */
+public class KnowledgeBaseEventSupportTest extends TestCase {
+
+    private KnowledgeBase        kbase;
+    private TestRuleBaseListener listener1;
+    private TestRuleBaseListener listener2;
+    private KnowledgePackageImp  pkg;
+
+    /* (non-Javadoc)
+     * @see junit.framework.TestCase#setUp()
+     */
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        listener1 = new TestRuleBaseListener( "(listener-1) " );
+        listener2 = new TestRuleBaseListener( "(listener-2) " );
+        kbase.addEventListener( listener1 );
+        kbase.addEventListener( listener2 );
+
+        final Rule rule1 = new Rule( "test1" );
+        final ClassObjectType cheeseObjectType = new ClassObjectType( Cheese.class );
+        final Pattern pattern = new Pattern( 0,
+                                             cheeseObjectType );
+
+        ClassFieldAccessorStore store = new ClassFieldAccessorStore();
+        store.setClassFieldAccessorCache( new ClassFieldAccessorCache( Thread.currentThread().getContextClassLoader() ) );
+        store.setEagerWire( true );
+
+        final ClassFieldReader extractor = store.getReader( Cheese.class,
+                                                            "type",
+                                                            getClass().getClassLoader() );
+
+        final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
+
+        final Evaluator evaluator = new EqualityEvaluatorsDefinition().getEvaluator( ValueType.STRING_TYPE,
+                                                                                     Operator.EQUAL,
+                                                                                     null );
+
+        final LiteralConstraint constraint = new LiteralConstraint( extractor,
+                                                                    evaluator,
+                                                                    field );
+        pattern.addConstraint( constraint );
+        rule1.addPattern( pattern );
+
+        rule1.setConsequence( new Consequence() {
+            private static final long serialVersionUID = 1L;
+
+            public void evaluate(final KnowledgeHelper knowledgeHelper,
+                                 final WorkingMemory workingMemory) throws Exception {
+            }
+
+            public void readExternal(ObjectInput in) throws IOException,
+                                                    ClassNotFoundException {
+
+            }
+
+            public void writeExternal(ObjectOutput out) throws IOException {
+
+            }
+        } );
+
+        final Rule rule2 = new Rule( "test2" );
+        final ClassObjectType cheeseObjectType2 = new ClassObjectType( Cheese.class );
+        final Pattern pattern2 = new Pattern( 0,
+                                              cheeseObjectType2 );
+
+        final FieldValue field2 = FieldFactory.getFieldValue( "stilton" );
+
+        final LiteralConstraint constraint2 = new LiteralConstraint( extractor,
+                                                                     evaluator,
+                                                                     field2 );
+        pattern2.addConstraint( constraint2 );
+        rule2.addPattern( pattern2 );
+
+        rule2.setConsequence( new Consequence() {
+            private static final long serialVersionUID = 1L;
+
+            public void evaluate(final KnowledgeHelper knowledgeHelper,
+                                 final WorkingMemory workingMemory) throws Exception {
+            }
+
+            public void readExternal(ObjectInput in) throws IOException,
+                                                    ClassNotFoundException {
+
+            }
+
+            public void writeExternal(ObjectOutput out) throws IOException {
+
+            }
+        } );
+
+        pkg = new KnowledgePackageImp( new Package( "org.drools.test1" ) );
+        pkg.pkg.addRule( rule1 );
+        pkg.pkg.addRule( rule2 );
+    }
+
+    /* (non-Javadoc)
+     * @see junit.framework.TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testAddPackageEvents() throws Exception {
+        assertEquals( 0,
+                      listener1.getBeforePackageAdded() );
+        assertEquals( 0,
+                      listener1.getAfterPackageAdded() );
+        assertEquals( 0,
+                      listener2.getBeforePackageAdded() );
+        assertEquals( 0,
+                      listener2.getAfterPackageAdded() );
+        assertEquals( 0,
+                      listener1.getBeforeRuleAdded() );
+        assertEquals( 0,
+                      listener1.getAfterRuleAdded() );
+        assertEquals( 0,
+                      listener2.getBeforeRuleAdded() );
+        assertEquals( 0,
+                      listener2.getAfterRuleAdded() );
+
+        this.kbase.addKnowledgePackage( pkg );
+
+        assertEquals( 1,
+                      listener1.getBeforePackageAdded() );
+        assertEquals( 1,
+                      listener1.getAfterPackageAdded() );
+        assertEquals( 1,
+                      listener2.getBeforePackageAdded() );
+        assertEquals( 1,
+                      listener2.getAfterPackageAdded() );
+        assertEquals( 2,
+                      listener1.getBeforeRuleAdded() );
+        assertEquals( 2,
+                      listener1.getAfterRuleAdded() );
+        assertEquals( 2,
+                      listener2.getBeforeRuleAdded() );
+        assertEquals( 2,
+                      listener2.getAfterRuleAdded() );
+    }
+
+    public void testRemovePackageEvents() throws Exception {
+        this.kbase.addKnowledgePackage( pkg );
+
+        assertEquals( 0,
+                      listener1.getBeforeKnowledgePackageRemoved() );
+        assertEquals( 0,
+                      listener1.getAfterKnowledgePackageRemoved() );
+        assertEquals( 0,
+                      listener2.getBeforeKnowledgePackageRemoved() );
+        assertEquals( 0,
+                      listener2.getAfterKnowledgePackageRemoved() );
+
+        assertEquals( 0,
+                      listener1.getBeforeRuleRemoved() );
+        assertEquals( 0,
+                      listener1.getAfterRuleRemoved() );
+        assertEquals( 0,
+                      listener2.getBeforeRuleRemoved() );
+        assertEquals( 0,
+                      listener2.getAfterRuleRemoved() );
+
+        this.kbase.removeKnowledgePackage( "org.drools.test1" );
+
+        assertEquals( 1,
+                      listener1.getBeforeKnowledgePackageRemoved() );
+        assertEquals( 1,
+                      listener1.getAfterKnowledgePackageRemoved() );
+        assertEquals( 1,
+                      listener2.getBeforeKnowledgePackageRemoved() );
+        assertEquals( 1,
+                      listener2.getAfterKnowledgePackageRemoved() );
+        assertEquals( 2,
+                      listener1.getBeforeRuleRemoved() );
+        assertEquals( 2,
+                      listener1.getAfterRuleRemoved() );
+        assertEquals( 2,
+                      listener2.getBeforeRuleRemoved() );
+        assertEquals( 2,
+                      listener2.getAfterRuleRemoved() );
+
+    }
+
+    public static class TestRuleBaseListener
+        implements
+        KnowledgeBaseEventListener {
+        private String id;
+        private int    beforePackageAdded   = 0;
+        private int    afterPackageAdded    = 0;
+        private int    beforePackageRemoved = 0;
+        private int    afterPackageRemoved  = 0;
+        private int    beforeRuleAdded      = 0;
+        private int    afterRuleAdded       = 0;
+        private int    beforeRuleRemoved    = 0;
+        private int    afterRuleRemoved     = 0;
+
+        public TestRuleBaseListener() {
+        }
+
+        public TestRuleBaseListener(String id) {
+            super();
+            this.id = id;
+        }
+
+        public void readExternal(ObjectInput in) throws IOException,
+                                                ClassNotFoundException {
+            id = (String) in.readObject();
+            beforePackageAdded = in.readInt();
+            afterPackageAdded = in.readInt();
+            beforePackageRemoved = in.readInt();
+            afterPackageRemoved = in.readInt();
+            beforeRuleAdded = in.readInt();
+            afterRuleAdded = in.readInt();
+            beforeRuleRemoved = in.readInt();
+            afterRuleRemoved = in.readInt();
+        }
+
+        public void writeExternal(ObjectOutput out) throws IOException {
+            out.writeObject( id );
+            out.writeInt( beforePackageAdded );
+            out.writeInt( afterPackageAdded );
+            out.writeInt( beforePackageRemoved );
+            out.writeInt( afterPackageRemoved );
+            out.writeInt( beforeRuleAdded );
+            out.writeInt( afterRuleAdded );
+            out.writeInt( beforeRuleRemoved );
+            out.writeInt( afterRuleRemoved );
+        }
+
+        public void afterKnowledgePackageAdded(AfterKnowledgePackageAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterPackageAdded++;
+        }
+
+        public void beforeKnowledgePackageAdded(BeforeKnowledgePackageAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforePackageAdded++;
+        }
+
+        protected int getAfterPackageAdded() {
+            return afterPackageAdded;
+        }
+
+        protected int getBeforePackageAdded() {
+            return beforePackageAdded;
+        }
+
+        protected String getId() {
+            return id;
+        }
+
+        public void afterKnowledgePackageRemoved(AfterKnowledgePackageRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterPackageRemoved++;
+        }
+
+        public void beforeKnowledgePackageRemoved(BeforeKnowledgePackageRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforePackageRemoved++;
+        }
+
+        protected int getAfterKnowledgePackageRemoved() {
+            return afterPackageRemoved;
+        }
+
+        protected int getBeforeKnowledgePackageRemoved() {
+            return beforePackageRemoved;
+        }
+
+        public int getAfterRuleAdded() {
+            return afterRuleAdded;
+        }
+
+        public int getBeforeRuleAdded() {
+            return beforeRuleAdded;
+        }
+
+        public void afterRuleAdded(AfterRuleAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterRuleAdded++;
+        }
+
+        public void beforeRuleAdded(BeforeRuleAddedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforeRuleAdded++;
+        }
+
+        public int getAfterRuleRemoved() {
+            return afterRuleRemoved;
+        }
+
+        public int getBeforeRuleRemoved() {
+            return beforeRuleRemoved;
+        }
+
+        public void afterRuleRemoved(AfterRuleRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.afterRuleRemoved++;
+        }
+
+        public void beforeRuleRemoved(BeforeRuleRemovedEvent event) {
+            //            System.out.println( this.id + event );
+            this.beforeRuleRemoved++;
+        }
+
+        public void afterFunctionRemoved(AfterFunctionRemovedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void afterKnowledgeBaseLocked(AfterKnowledgeBaseLockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void afterKnowledgeBaseUnlocked(AfterKnowledgeBaseUnlockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void beforeFunctionRemoved(BeforeFunctionRemovedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void beforeKnowledgeBaseLocked(BeforeKnowledgeBaseLockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public void beforeKnowledgeBaseUnlocked(BeforeKnowledgeBaseUnlockedEvent event) {
+            // TODO Auto-generated method stub
+
+        }
+
+    }
+
+}




More information about the jboss-svn-commits mailing list