EXTSCRIPT-107: CDI Kickstarting in OWB, this works now as expected

git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@1325241 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/api/CdiContainer.java b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/api/CdiContainer.java
index facc216..ebd1188 100644
--- a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/api/CdiContainer.java
+++ b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/api/CdiContainer.java
@@ -23,6 +23,7 @@
 
 import javax.enterprise.inject.spi.BeanManager;
 import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
 import javax.servlet.http.HttpSession;
 
 /**
@@ -42,12 +43,12 @@
      * for Beans and extensions available.
      * The container might throw a DeploymentException or similar on startup.
      */
-    void boot();
+    void boot(ServletContextEvent context);
     
     /**
      * This will shutdown the underlying CDI container.
      */
-    void shutdown();
+    void shutdown(ServletContextEvent context);
     
 
     /**
diff --git a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
index b1a4a25..0cf5d77 100644
--- a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
+++ b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
@@ -28,6 +28,7 @@
 import org.apache.myfaces.extensions.scripting.core.engine.ThrowAwayClassloader;
 
 import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
 import javax.servlet.http.HttpServletRequest;
 
 /**
@@ -70,9 +71,9 @@
 
                     container.getContextControl(req.getServletContext(),
                             req.getSession()).stopContexts();
-                    //container.shutdown();
+                    container.shutdown(new ServletContextEvent(req.getServletContext()));
 
-                    //CdiContainerLoader.getCdiContainer().boot();
+                    CdiContainerLoader.getCdiContainer().boot(new ServletContextEvent(req.getServletContext()));
 
                     container.getContextControl(req.getServletContext(),
                             req.getSession()).startContexts();
diff --git a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/owb/OpenWebBeansContainerControl.java b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/owb/OpenWebBeansContainerControl.java
index d2766be..60f2bfb 100644
--- a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/owb/OpenWebBeansContainerControl.java
+++ b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/owb/OpenWebBeansContainerControl.java
@@ -28,6 +28,7 @@
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
 import javax.servlet.http.HttpSession;
 import java.util.Set;
 
@@ -54,15 +55,15 @@
     }
 
     @Override
-    public synchronized void boot()
+    public synchronized void boot(ServletContextEvent servletContext)
     {
 
         init();
-        lifecycle.startApplication(null);
+        lifecycle.startApplication(servletContext);
     }
 
     @Override
-    public synchronized void shutdown()
+    public synchronized void shutdown(ServletContextEvent servletContext)
     {
         if (ctxCtrl != null)
         {
@@ -72,7 +73,7 @@
 
         if (lifecycle != null) 
         {
-            lifecycle.stopApplication(null);
+            lifecycle.stopApplication(servletContext);
         }
     }
 
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/ThrowAwayClassloader.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/ThrowAwayClassloader.java
index 5f56a37..299973c 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/ThrowAwayClassloader.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/ThrowAwayClassloader.java
@@ -55,6 +55,18 @@
     }
 
     @Override
+    protected Class<?> findClass(String s) throws ClassNotFoundException
+    {
+        return super.findClass(s);
+    }
+
+    @Override
+    protected synchronized Class<?> loadClass(String s, boolean b) throws ClassNotFoundException
+    {
+        return super.loadClass(s, b);
+    }
+
+    @Override
     /**
      * load called either if the class is not loaded at all
      * or if the class has been recompiled (check upfront)
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 7620110..2855ff5 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
@@ -98,7 +98,7 @@
     public void setTainted(boolean value)
     {
         //if (isTainted()) return;
-        if (value && !tainted)
+        if (value)
         {
             WeavingContext.getInstance().markLastTaint();
             //TODO add logging event here
diff --git a/extscript-examples/cdi-example/src/main/java/org/apache/myfaces/extension/scripting/cdi/JavaHello.java b/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java
similarity index 95%
rename from extscript-examples/cdi-example/src/main/java/org/apache/myfaces/extension/scripting/cdi/JavaHello.java
rename to extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java
index 09810d3..72cc656 100644
--- a/extscript-examples/cdi-example/src/main/java/org/apache/myfaces/extension/scripting/cdi/JavaHello.java
+++ b/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extension.scripting.cdi;
+
 
 import javax.inject.Named;