https://issues.apache.org/jira/browse/EXTSCRIPT-136


git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@958531 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassScanRecommended.java
similarity index 70%
copy from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java
copy to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassScanRecommended.java
index ebdb94d..47dc311 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassScanRecommended.java
@@ -24,11 +24,23 @@
  * @version $Revision$ $Date$
  */
 
-public class ScanRecommended extends ExtensionEvent {
+public class ClassScanRecommended extends ExtensionEvent {
+    int engineType;
+    String className;
 
-    public ScanRecommended() {
-        super(0);
+    public int getEngineType() {
+        return engineType;
     }
 
-    
+    public void setEngineType(int engineType) {
+        this.engineType = engineType;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassTaintedEvent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassTaintedEvent.java
index fc853f7..47463fa 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassTaintedEvent.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ClassTaintedEvent.java
@@ -30,7 +30,6 @@
     ReloadingMetadata metaData;
 
     public ClassTaintedEvent( ReloadingMetadata metaData) {
-        super(4);
         this.metaData = metaData;
     }
 
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEvent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEvent.java
index d377104..15625df 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEvent.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEvent.java
@@ -39,17 +39,7 @@
 
 public class ExtensionEvent {
 
-    int eventIdentifier;
-
-    public ExtensionEvent(int eventIdentifier) {
-        this.eventIdentifier = eventIdentifier;
+    public ExtensionEvent() {
     }
 
-    public int getEventIdentifier() {
-        return eventIdentifier;
-    }
-
-    public void setEventIdentifier(int eventIdentifier) {
-        this.eventIdentifier = eventIdentifier;
-    }
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java
index b69b020..102ef5e 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ExtensionEventRegistry.java
@@ -20,6 +20,7 @@
 package org.apache.myfaces.extensions.scripting.sandbox.extensionevents;
 
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
@@ -40,6 +41,15 @@
         _listeners.remove(listener);
     }
 
+    public void removeAllListeners(Class eventType) {
+        Iterator<ExtensionEventListener> it = _listeners.iterator();
+        while(it.hasNext()) {
+            if(it.next().getClass() == eventType) {
+                it.remove();
+            }
+        }
+    }
+
     public void clear() {
         _listeners.clear();
     }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/FullRecompileRecommended.java
similarity index 89%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/FullRecompileRecommended.java
index ebdb94d..57c164f 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/FullRecompileRecommended.java
@@ -24,11 +24,7 @@
  * @version $Revision$ $Date$
  */
 
-public class ScanRecommended extends ExtensionEvent {
-
-    public ScanRecommended() {
-        super(0);
+public class FullRecompileRecommended extends ExtensionEvent {
+    public FullRecompileRecommended() {
     }
-
-    
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/FullScanRecommended.java
similarity index 78%
copy from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java
copy to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/FullScanRecommended.java
index ebdb94d..10b7e54 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/ScanRecommended.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/FullScanRecommended.java
@@ -24,11 +24,18 @@
  * @version $Revision$ $Date$
  */
 
-public class ScanRecommended extends ExtensionEvent {
+public class FullScanRecommended extends ExtensionEvent {
 
-    public ScanRecommended() {
-        super(0);
+    int engineType;
+
+    public FullScanRecommended() {
     }
 
-    
+    public int getEngineType() {
+        return engineType;
+    }
+
+    public void setEngineType(int engineType) {
+        this.engineType = engineType;
+    }
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/RecompileRecommended.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/RecompileRecommended.java
deleted file mode 100644
index fe31df4..0000000
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/RecompileRecommended.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-
-package org.apache.myfaces.extensions.scripting.sandbox.extensionevents;
-
-/**
- * @author Werner Punz (latest modification by $Author$)
- * @version $Revision$ $Date$
- */
-
-public class RecompileRecommended extends ExtensionEvent {
-    public RecompileRecommended() {
-        super(1);
-    }
-}
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/SystemInitializedEvent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/SystemInitializedEvent.java
index a719760..4ebb657 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/SystemInitializedEvent.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/SystemInitializedEvent.java
@@ -26,6 +26,5 @@
 
 public class SystemInitializedEvent extends ExtensionEvent {
     public SystemInitializedEvent(int eventIdentifier) {
-        super(5);
     }
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/UpdateConfigurationRecommended.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/UpdateConfigurationRecommended.java
index 9728cf8..0308664 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/UpdateConfigurationRecommended.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/sandbox/extensionevents/UpdateConfigurationRecommended.java
@@ -26,7 +26,6 @@
 
 public class UpdateConfigurationRecommended extends ExtensionEvent {
     public UpdateConfigurationRecommended() {
-        super(2);
     }
 }