working on testcases

git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@1309348 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ImplementationSPI.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ImplementationService.java
similarity index 96%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ImplementationSPI.java
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ImplementationService.java
index 0a4a98d..5daa42c 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ImplementationSPI.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ImplementationService.java
@@ -27,7 +27,7 @@
  * connector has to implement
  * This spi is mirrored into the WeavingContext
  */
-public interface ImplementationSPI
+public interface ImplementationService
 {
     public void registerClassloadingExtension(ServletContext context);
     public Class forName(String clazz);
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
index 2bbe122..489f6be 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
@@ -19,8 +19,10 @@
 
 package org.apache.myfaces.extensions.scripting.core.api;
 
-import org.apache.myfaces.extensions.scripting.core.api.events.WeavingEvent;
-import org.apache.myfaces.extensions.scripting.core.api.events.WeavingEventListener;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.events.BeginCompiling;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEventListener;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.events.EndCompiling;
 import org.apache.myfaces.extensions.scripting.core.common.util.ClassUtils;
 import org.apache.myfaces.extensions.scripting.core.common.util.ReflectUtil;
 import org.apache.myfaces.extensions.scripting.core.engine.FactoryEngines;
@@ -67,7 +69,7 @@
      * Service provider for the implementation under which this extension
      * runs
      */
-    ImplementationSPI _implementation = null;
+    ImplementationService _implementation = null;
     /**
      * the collection of reloading strategies depending on their artifact type
      */
@@ -323,13 +325,15 @@
         for (ScriptingEngine engine : getEngines())
         {
             if (!engine.needsRecompile()) continue;
+            sendWeavingEvent(new BeginCompiling());
+
             compile = true;
             log.info("[EXT-SCRIPTING] compiling " + engine.getEngineTypeAsStr() + " files");
             CompilationResult result = engine.compile();
             if(result != null) {
                 WeavingContext.getInstance().setCompilationResult(engine.getEngineType(), result);
             }
-            
+            sendWeavingEvent(new EndCompiling());
             log.info("[EXT-SCRIPTING] compiling " + engine.getEngineTypeAsStr() + " files done");
         }
         return compile;
@@ -397,6 +401,10 @@
                 new MethodLevelReloadingHandler(o, artifactType));
     }
 
+    public Class forName(String name) {
+        return _implementation.forName(name);
+    }
+    
     /**
      * reload the class dynamically
      */
@@ -471,7 +479,7 @@
         //TODO implement this tomorrow
     }
 
-    public ImplementationSPI getImplementationSPI() {
+    public ImplementationService getImplementationSPI() {
         return MyFacesSPI.getInstance();
     }
 
@@ -643,12 +651,12 @@
         return _instance;
     }
 
-    public ImplementationSPI getImplementation()
+    public ImplementationService getImplementation()
     {
         return _implementation;
     }
 
-    public void setImplementation(ImplementationSPI implementation)
+    public void setImplementation(ImplementationService implementation)
     {
         _implementation = implementation;
     }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/EndLifecycle.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/WeavingEvent.java
similarity index 89%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/EndLifecycle.java
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/WeavingEvent.java
index 483237d..ac3b13b 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/EndLifecycle.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/WeavingEvent.java
@@ -17,13 +17,12 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class EndLifecycle
+public interface WeavingEvent
 {
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/WeavingEventListener.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/WeavingEventListener.java
similarity index 93%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/WeavingEventListener.java
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/WeavingEventListener.java
index ee85604..cd03db7 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/WeavingEventListener.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/WeavingEventListener.java
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/BeginCompiling.java
similarity index 80%
copy from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
copy to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/BeginCompiling.java
index 4f5a745..220d16e 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/BeginCompiling.java
@@ -17,13 +17,15 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling.events;
+
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class BeginLifecycle
+
+public class BeginCompiling implements WeavingEvent
 {
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/BeginLifecycle.java
similarity index 80%
copy from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
copy to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/BeginLifecycle.java
index 4f5a745..d0ec618 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/BeginLifecycle.java
@@ -17,13 +17,15 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling.events;
+
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class BeginLifecycle
+
+public class BeginLifecycle  implements WeavingEvent
 {
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/ClassReloadedEvent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/ClassReloadedEvent.java
similarity index 80%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/ClassReloadedEvent.java
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/ClassReloadedEvent.java
index 7aa89de..526b3f3 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/ClassReloadedEvent.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/ClassReloadedEvent.java
@@ -17,13 +17,15 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling.events;
+
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class ClassReloadedEvent
+
+public class ClassReloadedEvent  implements WeavingEvent
 {
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/EndCompiling.java
similarity index 80%
copy from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
copy to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/EndCompiling.java
index 4f5a745..25fc1d9 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/EndCompiling.java
@@ -17,13 +17,15 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling.events;
+
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class BeginLifecycle
+
+public class EndCompiling  implements WeavingEvent
 {
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/EndLifecycle.java
similarity index 80%
copy from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
copy to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/EndLifecycle.java
index 4f5a745..8204103 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/EndLifecycle.java
@@ -17,13 +17,15 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling.events;
+
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class BeginLifecycle
+
+public class EndLifecycle  implements WeavingEvent
 {
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/TaintedEvent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/TaintedEvent.java
similarity index 86%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/TaintedEvent.java
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/TaintedEvent.java
index e942888..a7eb3e8 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/TaintedEvent.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/events/TaintedEvent.java
@@ -17,8 +17,9 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
+package org.apache.myfaces.extensions.scripting.core.api.eventhandling.events;
 
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;
 import org.apache.myfaces.extensions.scripting.core.monitor.ClassResource;
 
 /**
@@ -27,8 +28,8 @@
  *
  * event which is fired if a class resource is tainted
  */
-@WeavingEvent
-public class TaintedEvent
+
+public class TaintedEvent  implements WeavingEvent
 {
     ClassResource resource;
 
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/readme.txt b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/readme.txt
similarity index 100%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/readme.txt
rename to extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/eventhandling/readme.txt
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginCompiling.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginCompiling.java
deleted file mode 100644
index 8149892..0000000
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginCompiling.java
+++ /dev/null
@@ -1,29 +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.core.api.events;
-
-/**
- * @author Werner Punz (latest modification by $Author$)
- * @version $Revision$ $Date$
- */
-@WeavingEvent
-public class BeginCompiling
-{
-}
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/EndCompiling.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/EndCompiling.java
deleted file mode 100644
index 56f57fd..0000000
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/EndCompiling.java
+++ /dev/null
@@ -1,29 +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.core.api.events;
-
-/**
- * @author Werner Punz (latest modification by $Author$)
- * @version $Revision$ $Date$
- */
-@WeavingEvent
-public class EndCompiling
-{
-}
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/WeavingEvent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/WeavingEvent.java
deleted file mode 100644
index e51f741..0000000
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/WeavingEvent.java
+++ /dev/null
@@ -1,35 +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.core.api.events;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @author Werner Punz (latest modification by $Author$)
- * @version $Revision$ $Date$
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-public @interface WeavingEvent
-{
-}
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java
index e5634fe..05582a7 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java
@@ -41,7 +41,7 @@
 
 public abstract class BaseEngine
 {
-    CopyOnWriteArrayList<String> _sourcePaths = new CopyOnWriteArrayList<String>();
+    Set<String> _sourcePaths = Collections.synchronizedSet(new HashSet<String>());
     Map<String, ClassResource> _watchedResources = new ConcurrentHashMap<String, ClassResource>();
     //both belong together but the dependencyregistry is just
     //a wrapper for the dep map with additional functionality
@@ -61,7 +61,7 @@
         return _watchedResources;
     }
 
-    public List<String> getSourcePaths()
+    public Collection<String> getSourcePaths()
     {
         return _sourcePaths;
     }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java
index 3950082..3773101 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java
@@ -39,7 +39,7 @@
 
     public Collection<String> getPossibleDynamicClasses();
     
-    public List<String> getSourcePaths();
+    public Collection<String> getSourcePaths();
 
     public Map<String, ClassResource> getWatchedResources();
 
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
index f02489a..ad17d27 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
@@ -31,9 +31,13 @@
 import javax.tools.JavaFileObject;
 import javax.tools.ToolProvider;
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
+import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -81,12 +85,26 @@
             DiagnosticCollector<JavaFileObject> diagnosticCollector = new DiagnosticCollector<JavaFileObject>();
 
             getLog().info("[EXT-SCRIPTING] Doing a full recompile");
-
+            
             List<File> sourceFiles = FileUtils.fetchSourceFiles(configuration.getWhitelistedSourceDirs
                     (ENGINE_TYPE_JSF_JAVA), JAVA_WILDCARD);
+            
+            HashSet<String> alreadyProcessed = new HashSet<String>();
+            Iterator<File> sourceIt = sourceFiles.iterator();
+            while(sourceIt.hasNext()) {
+                File currentProcessed = sourceIt.next();
+                if(alreadyProcessed.contains(currentProcessed.getAbsolutePath())) {
+                    sourceIt.remove();
+                } else {
+                    alreadyProcessed.add(currentProcessed.getAbsolutePath());
+                }
 
+            }
+        
+        
             for (File sourceFile : sourceFiles)
             {
+                System.out.println("-----------------"+sourceFile.getAbsolutePath());
                 if (!sourceFile.exists())
                 {
                     getLog().log(Level.WARNING, "[EXT-SCRIPTING] Source file with path {0} does not exist it might cause an error in the compilation process", sourceFile.getAbsolutePath());
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ClassResource.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ClassResource.java
index 6138d7e..7620110 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ClassResource.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ClassResource.java
@@ -21,6 +21,7 @@
 
 import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.events.TaintedEvent;
 import org.apache.myfaces.extensions.scripting.core.common.util.ClassUtils;
 
 import java.io.File;
@@ -54,60 +55,6 @@
     volatile boolean changedForCompile = false;
 
 
-    //todo clean up the sourcepath and filename
-
-    //--- todo move this into a separate resource handling facility
-
-
-
-    @Override
-    /**
-     * returns the source file in this case
-     */
-    public File getFile()
-    {
-        try
-        {
-            return _sourceFile;
-        }
-        catch (NullPointerException ex)
-        {
-            return null;
-        }
-    }
-
-    public void setFile(File sourceFile)
-    {
-        _sourceFile = sourceFile;
-    }
-
-    public Class getAClass()
-    {
-        return _aClass;
-    }
-
-    public void setAClass(Class aClass)
-    {
-        this._aClass = aClass;
-    }
-
-    public int getScriptingEngine()
-    {
-        return _scriptingEngine;
-    }
-
-    public void setScriptingEngine(int scriptingEngine)
-    {
-        this._scriptingEngine = scriptingEngine;
-    }
-
-    @Override
-    protected Object clone() throws CloneNotSupportedException
-    {
-        ClassResource retVal = (ClassResource) super.clone();
-        return retVal;
-    }
-
     public String getSourceFile()
     {
         String sourceDir = getSourceDir();
@@ -158,6 +105,7 @@
             logger.info("[EXT-SCRIPTING] tainting " + getSourceFile());
             WeavingContext.getInstance().addTaintLogEntry(this);
             WeavingContext.getInstance().gcTaintLog();
+            WeavingContext.getInstance().sendWeavingEvent(new TaintedEvent(this));
         }
         tainted = value;
     }
@@ -197,4 +145,53 @@
     {
         this.changedForCompile = changedForCompile;
     }
+
+
+    @Override
+    /**
+     * returns the source file in this case
+     */
+    public File getFile()
+    {
+        try
+        {
+            return _sourceFile;
+        }
+        catch (NullPointerException ex)
+        {
+            return null;
+        }
+    }
+
+    public void setFile(File sourceFile)
+    {
+        _sourceFile = sourceFile;
+    }
+
+    public Class getAClass()
+    {
+        return _aClass;
+    }
+
+    public void setAClass(Class aClass)
+    {
+        this._aClass = aClass;
+    }
+
+    public int getScriptingEngine()
+    {
+        return _scriptingEngine;
+    }
+
+    public void setScriptingEngine(int scriptingEngine)
+    {
+        this._scriptingEngine = scriptingEngine;
+    }
+
+    @Override
+    protected Object clone() throws CloneNotSupportedException
+    {
+        ClassResource retVal = (ClassResource) super.clone();
+        return retVal;
+    }
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
index 88558e7..e4a1af0 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
@@ -20,6 +20,8 @@
 
 import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.events.BeginLifecycle;
+import org.apache.myfaces.extensions.scripting.core.api.eventhandling.events.EndLifecycle;
 
 import javax.servlet.ServletContext;
 import java.lang.ref.WeakReference;
@@ -124,9 +126,19 @@
 
     }
 
+    public void stopIt()
+    {
+        super.interrupt();
+        _instance = null;
+        ServletContext context = _externalContext.get();
+        context.setAttribute(CONTEXT_KEY, null);
+        _externalContext = null;
+    }
+
     public void performMonitoringTask()
     {
         synchronized(WeavingContext.getInstance().recompileLock) {
+            WeavingContext.getInstance().sendWeavingEvent(new BeginLifecycle());
             WeavingContext context = WeavingContext.getInstance();
             context.fullScan();
 
@@ -138,11 +150,14 @@
                 //we next retaint all classes according to our dependency graph
                 context.markTaintedDependends();
             }
+            WeavingContext.getInstance().sendWeavingEvent(new EndLifecycle());
         }
         //context.annotationScan();
 
     }
 
+
+
     private void sleep()
     {
         try
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java
index ad2291a..248957e 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.extensions.scripting.jsf.adapters;
 
-import org.apache.myfaces.extensions.scripting.core.api.ImplementationSPI;
+import org.apache.myfaces.extensions.scripting.core.api.ImplementationService;
 import org.apache.myfaces.extensions.scripting.core.common.util.ClassUtils;
 import org.apache.myfaces.extensions.scripting.jsf.adapters.handlers.MyFacesBeanHandler;
 
@@ -30,7 +30,7 @@
  *
  * SPI for various myfaces related tasks
  */
-public class MyFacesSPI implements ImplementationSPI
+public class MyFacesSPI implements ImplementationService
 {
     CustomChainLoader _loader = null;
     MyFacesBeanHandler beanHandler = new MyFacesBeanHandler();
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/context/InitialFullScanTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/InitialFullScanTest.java
similarity index 78%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/context/InitialFullScanTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/InitialFullScanTest.java
index a7ce6a9..82093e1 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/context/InitialFullScanTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/InitialFullScanTest.java
@@ -17,9 +17,10 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.context;
+package org.apache.myfaces.extensions.scripting.core.context;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
@@ -57,26 +58,31 @@
             {
                 ScriptingEngine javaEngine = factory.getEngine(ScriptingConst.ENGINE_TYPE_JSF_JAVA);
                 ScriptingEngine groovyEngine = factory.getEngine(ScriptingConst.ENGINE_TYPE_JSF_GROOVY);
-                ClassLoader loader = this.getClass().getClassLoader();
-                String canonicalPackageName = this.getClass().getPackage().getName().replaceAll("\\.", File.separator);
+                ScriptingEngine scalaEngine = factory.getEngine(ScriptingConst.ENGINE_TYPE_JSF_SCALA);
 
-                Enumeration<URL> enumeration = loader.getResources(canonicalPackageName);
+                ClassLoader loader = this.getClass().getClassLoader();
+                String canonicalPackageName = this.getClass().getPackage().getName().replaceAll("\\.", File.separator);                Enumeration<URL> enumeration = loader.getResources(canonicalPackageName);
                 javaEngine.getSourcePaths().clear();
                 groovyEngine.getSourcePaths().clear();
                 //TODO source not binary dirs
                 while(enumeration.hasMoreElements()) {
                     URL currentDir = enumeration.nextElement();
                     String currentDirStr = currentDir.getFile();
-                    currentDirStr = currentDirStr.replaceAll("target\\"+File.separatorChar+"test\\-classes",
+                    currentDirStr = currentDirStr.replaceAll("target"+File.separatorChar+"test\\-classes",
                             "src/main/java");
-                    currentDirStr = currentDirStr.replaceAll("target\\"+File.separatorChar+"classes",
+                    currentDirStr = currentDirStr.replaceAll("target"+File.separatorChar+"classes",
                                                 "src/main/java");
+                    currentDirStr = currentDirStr.replaceAll("context", "api");
                     javaEngine.getSourcePaths().add(currentDirStr);
                     groovyEngine.getSourcePaths().add(currentDirStr);
+                    scalaEngine.getSourcePaths().add(currentDirStr);
                 }
                 //we now scan for the files
                 WeavingContext.getInstance().fullScan();
-
+                assertTrue("watched resources must have java files", javaEngine.getWatchedResources().size() > 0);
+                javaEngine.getSourcePaths().clear();;
+                groovyEngine.getSourcePaths().clear();
+                scalaEngine.getSourcePaths().clear();
             }
             catch (IOException e)
             {
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/context/TaintHistoryTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/context/TaintHistoryTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java
index ad8b9f9..5223791 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/context/TaintHistoryTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java
@@ -17,15 +17,14 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.context;
+package org.apache.myfaces.extensions.scripting.core.context;
 
 import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
 import org.apache.myfaces.extensions.scripting.core.monitor.ClassResource;
-import org.apache.myfaces.extensions.scripting.jsf.components.RendererConst;
 import org.apache.myfaces.extensions.scripting.jsf.components.TaintHistory;
 import org.apache.myfaces.extensions.scripting.jsf.components.TaintHistoryRenderer;
-import org.apache.myfaces.extensions.scripting.scanningcore.support.ContextUtils;
+import org.apache.myfaces.extensions.scripting.core.support.ContextUtils;
 import org.apache.myfaces.renderkit.html.HtmlFormRenderer;
 import org.apache.myfaces.test.base.AbstractJsfTestCase;
 import org.apache.myfaces.test.mock.MockRenderKitFactory;
@@ -45,7 +44,7 @@
  *          we try to test here a simple mechanism, the taint history under
  *          JSF Testing conditions.
  */
-@Ignore
+
 public class TaintHistoryTest extends AbstractJsfTestCase
 {
 
@@ -69,7 +68,7 @@
     public void setUp() throws Exception
     {
         super.setUp();
-       context = ContextUtils.startupSystem();
+        context = ContextUtils.startupSystem();
         _writer = new MockResponseWriter(new StringWriter(), null, null);
 
         facesContext.setResponseWriter(_writer);
@@ -88,6 +87,13 @@
                 new HtmlFormRenderer());
     }
 
+    @Override
+    protected void tearDown() throws Exception
+    {
+        super.tearDown();
+        ContextUtils.stopSystem();
+    }
+
     public void testBooga() {
         assertTrue(true);
     }
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintTest.java
new file mode 100644
index 0000000..f6e90b0
--- /dev/null
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.core.context;
+
+import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
+import org.apache.myfaces.extensions.scripting.core.engine.FactoryEngines;
+import org.apache.myfaces.extensions.scripting.core.support.ContextUtils;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.io.IOException;
+
+/**
+ * @author Werner Punz (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+@Ignore
+public class TaintTest
+{
+    FactoryEngines factory = null;
+
+    public TaintTest(FactoryEngines factory)
+    {
+        this.factory = factory;
+
+    }
+
+    public void init() throws IOException
+    {
+        ContextUtils.startupSystem();
+    }
+
+    @Test
+    public void taintTest()
+    {
+        //we sleep 1000 to let the system play catchup
+        try
+        {
+            Thread.sleep(1000);
+        }
+        catch (InterruptedException e)
+        {
+
+        }
+        WeavingContext.getInstance().forName("Test");
+        WeavingContext.getInstance().forName("TestJava");
+    }
+
+}
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/EngineFactoryTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/EngineFactoryTest.java
similarity index 91%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/EngineFactoryTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/EngineFactoryTest.java
index a98f5d5..e2e6b0e 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/EngineFactoryTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/EngineFactoryTest.java
@@ -17,11 +17,10 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.engine;
+package org.apache.myfaces.extensions.scripting.core.engine;
 
 import org.junit.Before;
 import org.junit.Test;
-import org.apache.myfaces.extensions.scripting.core.engine.FactoryEngines;
 import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
 
 import static org.junit.Assert.assertFalse;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/CompilationExceptionTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/CompilationExceptionTest.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/CompilationExceptionTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/CompilationExceptionTest.java
index cd297bb..cff74d8 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/CompilationExceptionTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/CompilationExceptionTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.engine.compiler;
+package org.apache.myfaces.extensions.scripting.core.engine.compiler;
 
 import org.junit.Test;
 import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationException;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/CompilationResultTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/CompilationResultTest.java
similarity index 97%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/CompilationResultTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/CompilationResultTest.java
index de63fec..028bba6 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/CompilationResultTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/CompilationResultTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.engine.compiler;
+package org.apache.myfaces.extensions.scripting.core.engine.compiler;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/GroovyCompilerTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompilerTest.java
similarity index 97%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/GroovyCompilerTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompilerTest.java
index f7657c4..3237677 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/GroovyCompilerTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompilerTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.engine.compiler;
+package org.apache.myfaces.extensions.scripting.core.engine.compiler;
 
 import org.apache.commons.io.FilenameUtils;
 import org.junit.Test;
@@ -26,7 +26,6 @@
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
 import org.apache.myfaces.extensions.scripting.core.engine.FactoryEngines;
 import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationResult;
-import org.apache.myfaces.extensions.scripting.core.engine.compiler.GroovyCompiler;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/JavaCompilerTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JavaCompilerTest.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/JavaCompilerTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JavaCompilerTest.java
index 66c535c..a463676 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/JavaCompilerTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JavaCompilerTest.java
@@ -17,18 +17,17 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.engine.compiler;
+package org.apache.myfaces.extensions.scripting.core.engine.compiler;
 
 import org.apache.commons.io.FilenameUtils;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.apache.myfaces.extensions.scripting.core.api.Configuration;
 import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
 import org.apache.myfaces.extensions.scripting.core.common.util.FileUtils;
 import org.apache.myfaces.extensions.scripting.core.engine.FactoryEngines;
-import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationException;
 import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationResult;
-import org.apache.myfaces.extensions.scripting.core.engine.compiler.JSR199Compiler;
 
 import java.io.File;
 import java.io.IOException;
@@ -139,7 +138,7 @@
         result = compiler.compile(root, target, loader);
 
         assertTrue(RESULT_HAS_NO_ERRORS, !result.hasErrors());
-
+        System.out.println(result.getCompilerOutput());
         assertTrue(TARGET_DIR_EXISTS, target != null);
         File classFile1 = new File(target.getAbsolutePath() + "/compiler/TestProbe1.class");
         File classFile2 = new File(target.getAbsolutePath() + "/compiler/TestProbe2.class");
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/ScalaCompilerTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/ScalaCompilerTest.java
similarity index 96%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/ScalaCompilerTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/ScalaCompilerTest.java
index 342c4ff..a29e65c 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/engine/compiler/ScalaCompilerTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/ScalaCompilerTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.engine.compiler;
+package org.apache.myfaces.extensions.scripting.core.engine.compiler;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.myfaces.extensions.scripting.core.api.Configuration;
@@ -26,7 +26,6 @@
 import org.apache.myfaces.extensions.scripting.core.common.util.FileUtils;
 import org.apache.myfaces.extensions.scripting.core.engine.FactoryEngines;
 import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationResult;
-import org.apache.myfaces.extensions.scripting.core.engine.compiler.JSR199Compiler;
 import org.apache.myfaces.extensions.scripting.core.engine.compiler.ScalaCompiler;
 import org.junit.Test;
 
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/MethodReloadingProbe.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/MethodReloadingProbe.java
similarity index 84%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/MethodReloadingProbe.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/MethodReloadingProbe.java
index c2bab21..3549fcf 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/MethodReloadingProbe.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/MethodReloadingProbe.java
@@ -1,4 +1,4 @@
-package org.apache.myfaces.extensions.scripting.scanningcore.probes;
+package org.apache.myfaces.extensions.scripting.core.probes;
 
 /**
  * Interface which will allow the proxying of our probe
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/Probe.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/Probe.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java
index b6af8b4..8cee277 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/Probe.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.scripting.scanningcore.probes;
+package org.apache.myfaces.extensions.scripting.core.probes;
 
 import org.junit.Ignore;
 
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/Probe2.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe2.java
similarity index 93%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/Probe2.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe2.java
index 7987cb6..e9d2d2b 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/probes/Probe2.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe2.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.probes;
+package org.apache.myfaces.extensions.scripting.core.probes;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/AbstractGeneratorTestCase.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/AbstractGeneratorTestCase.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/AbstractGeneratorTestCase.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/AbstractGeneratorTestCase.java
index dfc1772..cfc20a3 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/AbstractGeneratorTestCase.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/AbstractGeneratorTestCase.java
@@ -16,13 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.extensions.scripting.scanningcore.support;
+package org.apache.myfaces.extensions.scripting.core.support;
 
 import junit.framework.TestCase;
-import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationException;
-import org.apache.myfaces.extensions.scripting.core.engine.api.CompilationResult;
-import org.apache.myfaces.extensions.scripting.core.engine.compiler.JSR199Compiler;
-import org.apache.myfaces.extensions.scripting.core.engine.api.Compiler;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/Consts.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/Consts.java
similarity index 96%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/Consts.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/Consts.java
index a943542..c47a1c0 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/Consts.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/Consts.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.support;
+package org.apache.myfaces.extensions.scripting.core.support;
 
 import static org.apache.myfaces.extensions.scripting.core.api.ScriptingConst.*;
 
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/ContextUtils.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/ContextUtils.java
similarity index 80%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/ContextUtils.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/ContextUtils.java
index 358bed5..0726dd0 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/ContextUtils.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/ContextUtils.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.support;
+package org.apache.myfaces.extensions.scripting.core.support;
 
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
 import org.apache.myfaces.extensions.scripting.core.monitor.ResourceMonitor;
-import org.apache.myfaces.extensions.scripting.scanningcore.support.MockServletContext;
+import org.apache.myfaces.extensions.scripting.jsf.adapters.MyFacesSPI;
 
 import java.io.IOException;
 
@@ -32,6 +32,12 @@
 
 public class ContextUtils
 {
+
+        public static void stopSystem() {
+            //I know we should not
+           ResourceMonitor.getInstance().stopIt();
+        }
+
     /**
          * A startup routine shared by many tests
          * to do the basic weaving initialization
@@ -39,7 +45,7 @@
          * @return the mockup servlet context
          */
         public static MockServletContext startupSystem() {
-            MockServletContext context = new org.apache.myfaces.extensions.scripting.scanningcore.support.MockServletContext();
+            MockServletContext context = new org.apache.myfaces.extensions.scripting.core.support.MockServletContext();
 
             WeavingContext wcontext = WeavingContext.getInstance();
             try
@@ -47,8 +53,11 @@
                 wcontext.initEngines();
                 wcontext.getConfiguration().init(context);
                 ResourceMonitor.init(context);
-                //TODO ??
+
                 ResourceMonitor.getInstance().performMonitoringTask();
+                ResourceMonitor.getInstance().start();
+
+                WeavingContext.getInstance().setImplementation(MyFacesSPI.getInstance());
             }
             catch (IOException e)
             {
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/LoggingHandler.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/LoggingHandler.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/LoggingHandler.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/LoggingHandler.java
index 56b35cf..0f0a066 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/LoggingHandler.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/LoggingHandler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.support;
+package org.apache.myfaces.extensions.scripting.core.support;
 
 import java.util.logging.Handler;
 import java.util.logging.LogRecord;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockServletContext.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockServletContext.java
new file mode 100644
index 0000000..67d6824
--- /dev/null
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockServletContext.java
@@ -0,0 +1,106 @@
+/*
+ * 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.core.support;
+
+import org.apache.commons.io.FilenameUtils;
+import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
+import org.apache.myfaces.extensions.scripting.jsf.startup.StartupServletContextPluginChainLoader;
+
+import java.io.File;
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Basic unit testing servlet context mock
+ *
+ * @author Werner Punz (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+
+public class MockServletContext extends org.apache.myfaces.test.mock.MockServletContext
+{
+
+    Map<String, Object> _attributes = new HashMap<String, Object>();
+    Map<String, String> _initParameters = new HashMap<String, String>();
+    String _resourceRoot = "../../src/test/resources/webapp";
+
+    public MockServletContext()
+    {
+        setResourceRoot(_resourceRoot);
+        addInitParameter(ScriptingConst.INIT_PARAM_MYFACES_PLUGIN, StartupServletContextPluginChainLoader.class.getName());
+        //TODO we reroute the init params to
+        //our logical groovy and java dirs relative
+        //to our classpath
+        //ClassLoader loader = Thread.currentThread().getContextClassLoader();
+        //URL rootDir = loader.getResource("/");
+        //String sRootDir = rootDir.getPath();
+        //String resourceDir = sRootDir+File.separator+"webapp";
+        String resourceDir = getResourceDir();
+
+        String javaDir = resourceDir    + File.separator + "WEB-INF" + File.separator + "java";
+        String groovyDir = resourceDir  + File.separator + "WEB-INF" + File.separator + "groovy";
+        String scalaDir = resourceDir   + File.separator + "WEB-INF" + File.separator + "scala";
+
+        addInitParameter(ScriptingConst.INIT_PARAM_CUSTOM_JAVA_LOADER_PATHS, javaDir);
+        addInitParameter(ScriptingConst.INIT_PARAM_CUSTOM_SCALA_LOADER_PATHS, scalaDir);
+        addInitParameter(ScriptingConst.INIT_PARAM_CUSTOM_GROOVY_LOADER_PATHS, groovyDir);
+        addInitParameter(ScriptingConst.INIT_PARAM_RESOURCE_PATH, resourceDir);
+
+    }
+
+    private String getResourceDir()
+    {
+        //private field access
+        Field f = null;
+        String resourceDir = null;
+        try
+        {
+            f = org.apache.myfaces.test.mock.MockServletContext.class.getDeclaredField("documentRoot");
+            f.setAccessible(true);
+            File docRoot = (File) f.get(this);
+            resourceDir = docRoot.getAbsolutePath();
+        }
+        catch (NoSuchFieldException e)
+        {
+            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+        }
+        catch (IllegalAccessException e)
+        {
+            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+        }
+        return resourceDir;
+    }
+
+    public MockServletContext(String resourceRoot)
+    {
+        setResourceRoot(resourceRoot);
+        addInitParameter(ScriptingConst.INIT_PARAM_MYFACES_PLUGIN, StartupServletContextPluginChainLoader.class.getName());
+    }
+
+    public void setResourceRoot(String newRoot)
+    {
+        _resourceRoot = newRoot;
+        super.setDocumentRoot(new File(FilenameUtils.normalize(Thread.currentThread().getContextClassLoader().getResource("./")
+                .getPath() +
+                _resourceRoot)));
+    }
+
+}
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/PathUtils.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/PathUtils.java
similarity index 97%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/PathUtils.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/PathUtils.java
index e84b8ca..d2b2e1d 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/PathUtils.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/PathUtils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.support;
+package org.apache.myfaces.extensions.scripting.core.support;
 
 import java.io.File;
 
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/utilstest/FileUtilsTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/utilstest/FileUtilsTest.java
similarity index 95%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/utilstest/FileUtilsTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/utilstest/FileUtilsTest.java
index 14f8588..43bd943 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/utilstest/FileUtilsTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/utilstest/FileUtilsTest.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.utilstest;
+package org.apache.myfaces.extensions.scripting.core.utilstest;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.apache.myfaces.extensions.scripting.core.common.util.FileUtils;
-import org.apache.myfaces.extensions.scripting.scanningcore.support.PathUtils;
+import org.apache.myfaces.extensions.scripting.core.support.PathUtils;
 
 import java.io.File;
 import java.util.List;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/utilstest/ReflectUtilTest.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/utilstest/ReflectUtilTest.java
similarity index 97%
rename from extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/utilstest/ReflectUtilTest.java
rename to extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/utilstest/ReflectUtilTest.java
index ebf37d3..e1bcb40 100644
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/utilstest/ReflectUtilTest.java
+++ b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/utilstest/ReflectUtilTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.scanningcore.utilstest;
+package org.apache.myfaces.extensions.scripting.core.utilstest;
 
 import org.junit.After;
 import org.junit.Before;
@@ -25,7 +25,7 @@
 import org.apache.myfaces.extensions.scripting.core.common.util.Cast;
 import org.apache.myfaces.extensions.scripting.core.common.util.Null;
 import org.apache.myfaces.extensions.scripting.core.common.util.ReflectUtil;
-import org.apache.myfaces.extensions.scripting.scanningcore.probes.Probe;
+import org.apache.myfaces.extensions.scripting.core.probes.Probe;
 
 import java.lang.reflect.Method;
 import java.util.Collection;
diff --git a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/MockServletContext.java b/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/MockServletContext.java
deleted file mode 100644
index 9df2b17..0000000
--- a/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/scanningcore/support/MockServletContext.java
+++ /dev/null
@@ -1,58 +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.scanningcore.support;
-
-
-import org.apache.myfaces.extensions.scripting.core.api.ScriptingConst;
-import org.apache.myfaces.extensions.scripting.jsf.startup.StartupServletContextPluginChainLoader;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Basic unit testing servlet context mock
- *
- * @author Werner Punz (latest modification by $Author$)
- * @version $Revision$ $Date$
- */
-
-public class MockServletContext extends org.apache.myfaces.test.mock.MockServletContext {
-
-    Map<String, Object> _attributes = new HashMap<String, Object>();
-    Map<String, String> _initParameters = new HashMap<String, String>();
-    String _resourceRoot = "../../src/test/resources/webapp";
-
-    public MockServletContext() {
-        setResourceRoot(_resourceRoot);
-        addInitParameter(ScriptingConst.INIT_PARAM_MYFACES_PLUGIN, StartupServletContextPluginChainLoader.class.getName());
-    }
-
-    public MockServletContext(String resourceRoot) {
-        setResourceRoot(resourceRoot);
-        addInitParameter(ScriptingConst.INIT_PARAM_MYFACES_PLUGIN, StartupServletContextPluginChainLoader.class.getName());
-    }
-
-    public void setResourceRoot(String newRoot) {
-        _resourceRoot = newRoot;
-        super.setDocumentRoot(new File(Thread.currentThread().getContextClassLoader().getResource("./").getPath() + _resourceRoot));
-    }
-
-}
diff --git a/extscript-core-root/extscript-core/src/test/resources/webapp/WEB-INF/groovy/Test1.groovy b/extscript-core-root/extscript-core/src/test/resources/webapp/WEB-INF/groovy/Test1.groovy
new file mode 100644
index 0000000..5c826fb
--- /dev/null
+++ b/extscript-core-root/extscript-core/src/test/resources/webapp/WEB-INF/groovy/Test1.groovy
@@ -0,0 +1,8 @@
+
+/**
+ *
+ * @author Werner Punz (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+class Test1 {
+}
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java b/extscript-core-root/extscript-core/src/test/resources/webapp/WEB-INF/java/Test2.java
similarity index 88%
rename from extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
rename to extscript-core-root/extscript-core/src/test/resources/webapp/WEB-INF/java/Test2.java
index 4f5a745..58d5cfd 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/events/BeginLifecycle.java
+++ b/extscript-core-root/extscript-core/src/test/resources/webapp/WEB-INF/java/Test2.java
@@ -17,13 +17,11 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.core.api.events;
-
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@WeavingEvent
-public class BeginLifecycle
+
+public class Test2
 {
 }