You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/03/26 15:48:58 UTC

svn commit: r927882 - in /myfaces/extensions/scripting/trunk: extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/ extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/ extscript-core...

Author: werpu
Date: Fri Mar 26 14:48:57 2010
New Revision: 927882

URL: http://svn.apache.org/viewvc?rev=927882&view=rev
Log:
http://issues.apache.org/jira/browse/EXTSCRIPT-101

Cleanup of the entire startup and improving the enabled check to something more sane
(but the issue is not done yet)

Added:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java   (contents, props changed)
      - copied, changed from r927428, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
Removed:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
Modified:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/ScriptingServletFilter.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/classIdentifier/JavaDynamicClassIdentifierTest.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java
    myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java Fri Mar 26 14:48:57 2010
@@ -30,6 +30,7 @@ import java.lang.reflect.InvocationHandl
 import java.lang.reflect.Proxy;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.logging.Logger;
 
 /**
@@ -78,6 +79,11 @@ public class WeavingContext {
 
     private static final Map<Integer, CompilationResult> _compilationResults = new ConcurrentHashMap<Integer, CompilationResult>();
 
+    /**
+     * per default the weaver is not set up
+     */
+    private static AtomicBoolean _enabled = new AtomicBoolean(false);
+
     public static void init() {
 
     }
@@ -155,7 +161,11 @@ public class WeavingContext {
      * @return true in case of being scriptable
      */
     public static boolean isScriptingEnabled() {
-        return _weaverHolder.get() != null;
+        return _enabled.get();
+    }
+
+    public static void setScriptingEnabled(boolean enabled) {
+        _enabled = new AtomicBoolean(enabled);
     }
 
     /**
@@ -166,7 +176,7 @@ public class WeavingContext {
      */
     public static ScriptingWeaver getWeaver() {
         //shutting down condition _weaverHolder == null due to separate thread
-        if(_weaverHolder == null) {
+        if (_weaverHolder == null) {
             return null;
         }
         ScriptingWeaver weaver = (ScriptingWeaver) _weaverHolder.get();
@@ -192,6 +202,9 @@ public class WeavingContext {
      * @return a proxied reloading object of type theInterface
      */
     public static Object createMethodReloadingProxyFromObject(Object o, Class theInterface, int artefactType) {
+        if (!isScriptingEnabled()) {
+            return o;
+        }
         return Proxy.newProxyInstance(o.getClass().getClassLoader(),
                 new Class[]{theInterface},
                 new MethodLevelReloadingHandler(o, artefactType));
@@ -207,6 +220,9 @@ public class WeavingContext {
      * @return
      */
     public static Object createConstructorReloadingProxyFromObject(Object o, Class theInterface, int artefactType) {
+        if (!isScriptingEnabled()) {
+            return o;
+        }
         return Proxy.newProxyInstance(o.getClass().getClassLoader(),
                 new Class[]{theInterface},
                 new MethodLevelReloadingHandler(o, artefactType));
@@ -241,8 +257,15 @@ public class WeavingContext {
         return o;
     }
 
+    /**
+     * checks if a class is dynamic
+     *
+     * @param clazz the class to be checked
+     * @return true if the class is of
+     *         dynamic nature and our scripting system is enabled
+     */
     public static boolean isDynamic(Class clazz) {
-        return getWeaver().isDynamic(clazz);
+        return isScriptingEnabled() && getWeaver().isDynamic(clazz);
     }
 
     /**

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/refresh/FileChangedDaemon.java Fri Mar 26 14:48:57 2010
@@ -79,7 +79,7 @@ public class FileChangedDaemon extends T
     public static synchronized FileChangedDaemon getInstance() {
         //we currently keep it as singleton but in the long run we will move it into the context
         //like everything else singleton-wise
-        if (instance == null) {
+        if (WeavingContext.isScriptingEnabled() && instance == null) {
             instance = new FileChangedDaemon();
             /**
              * daemon thread to allow forced
@@ -99,7 +99,7 @@ public class FileChangedDaemon extends T
      * which performs the entire scanning process
      */
     public void run() {
-        while (running) {
+        while (WeavingContext.isScriptingEnabled() && running) {
             if (externalContext != null && !contextInitialized) {
                 WeavingContext.initThread((ServletContext) externalContext.get());
                 contextInitialized = true;

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java Fri Mar 26 14:48:57 2010
@@ -24,10 +24,10 @@ import org.apache.myfaces.scripting.core
 import org.apache.myfaces.scripting.core.util.WeavingContext;
 import org.apache.myfaces.scripting.loaders.groovy.GroovyScriptingWeaver;
 import org.apache.myfaces.scripting.loaders.java.JavaScriptingWeaver;
+import org.apache.myfaces.scripting.refresh.RefreshContext;
 import org.apache.myfaces.shared_impl.util.ClassLoaderExtension;
 
 import javax.servlet.ServletContext;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
@@ -53,30 +53,67 @@ public class CustomChainLoader extends C
 
     Logger log = Logger.getLogger(CustomChainLoader.class.getName());
 
-    //TODO move the entire init code into the weavers
-    //every weaver should know itself how to initialize itself
-
     public CustomChainLoader(ServletContext servletContext) {
+        initWeavingContext();
+        initWeavers(servletContext);
+        initRefreshContext(servletContext);
+    }
+
+    private void initWeavingContext() {
+        log.fine("[EXT-SCRIPTING] initializing the base weaver");
+        WeavingContext.setScriptingEnabled(true);
+    }
+
+    private boolean initWeavers(ServletContext servletContext) {
+        log.fine("[EXT-SCRIPTING] initializing the weaving contexts");
+
         ScriptingWeaver groovyWeaver = new GroovyScriptingWeaver(servletContext);
         ScriptingWeaver javaWeaver = new JavaScriptingWeaver(servletContext);
 
         setupScriptingPaths(servletContext, groovyWeaver, GROOVY_SOURCE_ROOT, CUSTOM_LOADER_PATHS);
         setupScriptingPaths(servletContext, javaWeaver, JAVA_SOURCE_ROOT, CUSTOM_JAVA_LOADER_PATHS);
-
+        if (!WeavingContext.isScriptingEnabled()) {
+            return true;
+        }
         this.scriptingWeaver = new CoreWeaver(groovyWeaver, javaWeaver);
         //we have to store it because our filter
         //does not trigger upon initialisation
         WeavingContext.setWeaver(this.scriptingWeaver);
+        return false;
+    }
+
+    /**
+     * initialisation of the refresh context object
+     * the refresh context, is a context object which keeps
+     * the refresh information (refresh time, needs refresh) etc...
+     *
+     * @param servletContext the servlet context singleton which keeps
+     *                       the context for distribution
+     */
+    private void initRefreshContext(ServletContext servletContext) {
+        log.fine("[EXT-SCRIPTING] initializing the refresh context");
+
+        if (!WeavingContext.isScriptingEnabled()) {
+            return;
+        }
+        RefreshContext rContext = new RefreshContext();
+        servletContext.setAttribute("RefreshContext", rContext);
+        rContext.getDaemon().initWeavingContext(servletContext);
+        WeavingContext.setRefreshContext(rContext);
     }
 
     private void setupScriptingPaths(ServletContext servletContext, ScriptingWeaver weaver, String contextRootKey, String initParams) {
+        if (!WeavingContext.isScriptingEnabled()) {
+            return;
+        }
         String additionalLoaderPaths;
 
         String contextRoot = servletContext.getRealPath(contextRootKey);
-        if(contextRoot == null) {
+        if (contextRoot == null) {
             Logger logger = getLogger();
-            logger.warning("[EXT-SCRIPTING] one of the standard paths could not be resolved: "+ contextRootKey + " this is either due to the path is missing or due to a configuration error! You can bypass the problem by setting additional loader paths if they are not set already!");
-            contextRoot="";  
+            logger.warning("[EXT-SCRIPTING] one of the standard paths could not be resolved: " + contextRootKey + " this is either due to the path is missing or due to a configuration error! You can bypass the problem by setting additional loader paths if they are not set already!");
+            contextRoot = "";
+
         }
 
         contextRoot = contextRoot.trim();
@@ -85,9 +122,13 @@ public class CustomChainLoader extends C
         additionalLoaderPaths = servletContext.getInitParameter(initParams);
         appendAdditionalPaths(additionalLoaderPaths, weaver);
         if (additionalLoaderPaths == null || additionalLoaderPaths.trim().equals("")) {
-            if(contextRoot.equals("")) {
+            if (contextRoot.equals("")) {
                 Logger logger = getLogger();
                 logger.warning("[EXT-SCRIPTING] Standard paths (WEB-INF/groovy and WEB-INF/java could not be determined, also no additional loader paths are set, I cannot start properly, please set additional loader paths for Ext-Scripting to work correctly!");
+                logger.warning("[EXT-SCRIPTING] I am disabling Ext-Scripting!");
+
+                WeavingContext.setScriptingEnabled(false);
+                return;
             }
             weaver.appendCustomScriptPath(scriptingRoot);
             weaver.appendCustomScriptPath(classRoot);
@@ -126,7 +167,6 @@ public class CustomChainLoader extends C
         else if (name.startsWith("org.apache") && !name.startsWith("org.apache.myfaces")) {
             return null;
         }
-        
 
         return scriptingWeaver.loadScriptingClassFromName(name);
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/ScriptingServletFilter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/ScriptingServletFilter.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/ScriptingServletFilter.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/ScriptingServletFilter.java Fri Mar 26 14:48:57 2010
@@ -30,7 +30,6 @@ import java.util.logging.Logger;
 /**
  * Scripting servlet filter
  * 
- * TODO we have a concurrency problem here, what if a request
  * hits the filter while the
  * init system is not entirely finished yet
  *
@@ -66,6 +65,10 @@ public class ScriptingServletFilter impl
 
     /**
      * Checks for an initialized system and if not the filter will be deactivated
+     *
+     * the idea is to check the context in regular intervals
+     * whether the startup process has been finished and then
+     * allow the requests to pass through
      */
     private void assertInitialized() {
         if(active) return;

Copied: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java (from r927428, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java?p2=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java&p1=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java&r1=927428&r2=927882&rev=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java Fri Mar 26 14:48:57 2010
@@ -34,13 +34,12 @@ import java.util.concurrent.atomic.Atomi
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Logger;
 
-
 /**
  * @author werpu
  *         <p/>
  *         <p/>
  *         Startup context plugin chainloader
- *         for MyFaces 1.2.x,
+ *         for MyFaces
  *         we hook ourselves into the startup event
  *         system we have for MyFaces 1.2.x+ to do the initial
  *         configuration before the MyFaces init itself starts!
@@ -58,53 +57,16 @@ public class StartupServletContextPlugin
         servletContext.setAttribute(ScriptingConst.CTX_REQUEST_CNT, new AtomicInteger(0));
         servletContext.setAttribute(ScriptingConst.CTX_STARTUP, new AtomicBoolean(Boolean.TRUE));
 
-
         initConfig(servletContext);
-        CustomChainLoader loader = initChainLoader(servletContext);
-        ScriptingWeaver weaver = initScriptingWeaver(servletContext, loader);
-        initRefreshContext(servletContext);
-
-        initInitialCompileAndScan(weaver);
-    }
-
-    /**
-     * initiates the first compile and scan in the subsystem
-     *
-     * @param weaver our weaver which receives the trigger calls
-     */
-    private void initInitialCompileAndScan(ScriptingWeaver weaver) {
-        log.info("[EXT-SCRIPTING] Compiling all sources for the first time");
-        weaver.initiateStartup();
+        initChainLoader(servletContext);
+        initStartup();
     }
 
-    /**
-     * initialisation of the refresh context object
-     * the refresh context, is a context object which keeps
-     * the refresh information (refresh time, needs refresh) etc...
-     *
-     * @param servletContext the servlet context singleton which keeps
-     *                       the context for distribution
-     */
-    private void initRefreshContext(ServletContext servletContext) {
-        RefreshContext rContext = new RefreshContext();
-        servletContext.setAttribute("RefreshContext", rContext);
-        rContext.getDaemon().initWeavingContext(servletContext);
-        WeavingContext.setRefreshContext(rContext);
-    }
-
-    /**
-     * The initialisation of our global weaver chain
-     * which triggers the various subweavers depending
-     * on the scripting engine plugged in.
-     *
-     * @param servletContext the application scoped holder for our weaver
-     * @param loader         the chain loader which serves the weavers
-     * @return the weaver instance which is generated and stored
-     */
-    private ScriptingWeaver initScriptingWeaver(ServletContext servletContext, CustomChainLoader loader) {
-        ScriptingWeaver weaver = loader.getScriptingWeaver();
-        servletContext.setAttribute("ScriptingWeaver", weaver);
-        return weaver;
+    private void initStartup() {
+        if (WeavingContext.isScriptingEnabled()) {
+            log.info("[EXT-SCRIPTING] Compiling all sources for the first time");
+            WeavingContext.getWeaver().initiateStartup();
+        }
     }
 
     /**
@@ -172,10 +134,10 @@ public class StartupServletContextPlugin
 
     public void postInit(ServletContextEvent evt) {
         evt.getServletContext().setAttribute(ScriptingConst.CTX_STARTUP, new AtomicBoolean(Boolean.FALSE));
-
     }
 
     public void preDestroy(ServletContextEvent evt) {
+
     }
 
     public void postDestroy(ServletContextEvent evt) {

Propchange: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/classIdentifier/JavaDynamicClassIdentifierTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/classIdentifier/JavaDynamicClassIdentifierTest.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/classIdentifier/JavaDynamicClassIdentifierTest.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/classIdentifier/JavaDynamicClassIdentifierTest.java Fri Mar 26 14:48:57 2010
@@ -57,6 +57,7 @@ public class JavaDynamicClassIdentifierT
         }
 
         weaver = new CoreWeaver(new JavaScriptingWeaver());
+        TWeavingContext.setScriptingEnabled(true);
         TWeavingContext.setWeaverForTesting(weaver);
     }
 

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java Fri Mar 26 14:48:57 2010
@@ -47,20 +47,19 @@ public class ScriptingApplicationFactory
 
     public ScriptingApplicationFactory(ApplicationFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
     }
 
     public Application getApplication() {
         Application retVal = _delegate.getApplication();  //To change body of implemented methods use File | Settings | File Templates.
 
-        if (scriptingEnabled && !(retVal instanceof ApplicationProxy))
+        if (WeavingContext.isScriptingEnabled() && !(retVal instanceof ApplicationProxy))
             retVal = new ApplicationProxy(retVal);
 
         return retVal;
     }
 
     public void setApplication(Application application) {
-        if (scriptingEnabled && !(application instanceof ApplicationProxy))
+        if (WeavingContext.isScriptingEnabled() && !(application instanceof ApplicationProxy))
             application = new ApplicationProxy(application);
 
         _delegate.setApplication(application);

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java Fri Mar 26 14:48:57 2010
@@ -40,7 +40,6 @@ public class ScriptingFacesContextFactor
 
     public ScriptingFacesContextFactory(FacesContextFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
     }
 
     public void setDelegate(FacesContextFactory delegate) {
@@ -49,12 +48,8 @@ public class ScriptingFacesContextFactor
 
     public FacesContext getFacesContext(Object o, Object o1, Object o2, Lifecycle lifecycle) throws FacesException {
         FacesContext retVal = _delegate.getFacesContext(o, o1, o2, lifecycle);  //To change body of implemented methods use File | Settings | File Templates.
-        //TODO check if we weave thise around our original
-        //faces context to bypass our groovy dynamic reflection problems
-        //TODO this is not fully done yet, the faces context is not
-        //Woven around our method reloading weaver or our instantiation
-        //mechanism
-        if (scriptingEnabled && !(retVal instanceof FacesContextProxy))
+
+        if (WeavingContext.isScriptingEnabled() && !(retVal instanceof FacesContextProxy))
             return new FacesContextProxy(retVal);
         return retVal;
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java Fri Mar 26 14:48:57 2010
@@ -39,7 +39,6 @@ public class ScriptingLifecycleFactory e
 
     public ScriptingLifecycleFactory(LifecycleFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
     }
 
     public void addLifecycle(String s, Lifecycle lifecycle) {
@@ -50,7 +49,7 @@ public class ScriptingLifecycleFactory e
 
     public Lifecycle getLifecycle(String s) {
         Lifecycle retVal = _delegate.getLifecycle(s);
-        if (scriptingEnabled && !(retVal instanceof LifefcycleProxy))
+        if (WeavingContext.isScriptingEnabled() && !(retVal instanceof LifefcycleProxy))
             retVal = new LifefcycleProxy(retVal);
 
         return retVal;

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java Fri Mar 26 14:48:57 2010
@@ -38,11 +38,11 @@ public class ScriptingRenderkitFactory e
 
     public ScriptingRenderkitFactory(RenderKitFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
+       
     }
 
     public void addRenderKit(String s, RenderKit renderKit) {
-        if (renderKit != null && !(renderKit instanceof RenderkitProxy))
+        if (WeavingContext.isScriptingEnabled() && renderKit != null && !(renderKit instanceof RenderkitProxy))
             renderKit = new RenderkitProxy(renderKit);
 
         _delegate.addRenderKit(s, renderKit);
@@ -50,7 +50,7 @@ public class ScriptingRenderkitFactory e
 
     public RenderKit getRenderKit(FacesContext facesContext, String s) {
         RenderKit retVal = _delegate.getRenderKit(facesContext, s);
-        if (retVal != null && !(retVal instanceof RenderkitProxy))
+        if (WeavingContext.isScriptingEnabled() &&  retVal != null && !(retVal instanceof RenderkitProxy))
             retVal = new RenderkitProxy(retVal);
         return retVal;
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingApplicationFactory.java Fri Mar 26 14:48:57 2010
@@ -43,24 +43,24 @@ import javax.faces.application.Applicati
 public class ScriptingApplicationFactory extends ApplicationFactory implements Decorated {
 
     ApplicationFactory _delegate;
-    boolean scriptingEnabled = false;
+
 
     public ScriptingApplicationFactory(ApplicationFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
+
     }
 
     public Application getApplication() {
         Application retVal = _delegate.getApplication();  //To change body of implemented methods use File | Settings | File Templates.
 
-        if (scriptingEnabled && !(retVal instanceof ApplicationProxy))
+        if (WeavingContext.isScriptingEnabled()  && !(retVal instanceof ApplicationProxy))
             retVal = new ApplicationProxy(retVal);
 
         return retVal;
     }
 
     public void setApplication(Application application) {
-        if (scriptingEnabled && !(application instanceof ApplicationProxy))
+        if (WeavingContext.isScriptingEnabled() && !(application instanceof ApplicationProxy))
             application = new ApplicationProxy(application);
 
         _delegate.setApplication(application);

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingFacesContextFactory.java Fri Mar 26 14:48:57 2010
@@ -36,11 +36,9 @@ import javax.faces.FacesException;
 public class ScriptingFacesContextFactory extends javax.faces.context.FacesContextFactory implements Decorated {
 
     public FacesContextFactory _delegate;
-    boolean scriptingEnabled = false;
 
     public ScriptingFacesContextFactory(FacesContextFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
     }
 
     public void setDelegate(FacesContextFactory delegate) {
@@ -49,12 +47,8 @@ public class ScriptingFacesContextFactor
 
     public FacesContext getFacesContext(Object o, Object o1, Object o2, Lifecycle lifecycle) throws FacesException {
         FacesContext retVal = _delegate.getFacesContext(o, o1, o2, lifecycle);  //To change body of implemented methods use File | Settings | File Templates.
-        //TODO check if we weave thise around our original
-        //faces context to bypass our groovy dynamic reflection problems
-        //TODO this is not fully done yet, the faces context is not
-        //Woven around our method reloading weaver or our instantiation
-        //mechanism
-        if (scriptingEnabled && !(retVal instanceof FacesContextProxy))
+
+        if (WeavingContext.isScriptingEnabled()  && !(retVal instanceof FacesContextProxy))
             return new FacesContextProxy(retVal);
         return retVal;
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingLifecycleFactory.java Fri Mar 26 14:48:57 2010
@@ -35,22 +35,21 @@ import java.util.Iterator;
 public class ScriptingLifecycleFactory extends LifecycleFactory implements Decorated {
 
     LifecycleFactory _delegate;
-    boolean scriptingEnabled = false;
+
 
     public ScriptingLifecycleFactory(LifecycleFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
     }
 
     public void addLifecycle(String s, Lifecycle lifecycle) {
-        if (scriptingEnabled && !(lifecycle instanceof LifefcycleProxy))
+        if (WeavingContext.isScriptingEnabled()  && !(lifecycle instanceof LifefcycleProxy))
             lifecycle = new LifefcycleProxy(lifecycle);
         _delegate.addLifecycle(s, lifecycle);
     }
 
     public Lifecycle getLifecycle(String s) {
         Lifecycle retVal = _delegate.getLifecycle(s);
-        if (scriptingEnabled && !(retVal instanceof LifefcycleProxy))
+        if (WeavingContext.isScriptingEnabled()  && !(retVal instanceof LifefcycleProxy))
             retVal = new LifefcycleProxy(retVal);
 
         return retVal;

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/factories/ScriptingRenderkitFactory.java Fri Mar 26 14:48:57 2010
@@ -34,15 +34,13 @@ import java.util.Iterator;
  */
 public class ScriptingRenderkitFactory extends RenderKitFactory implements Decorated {
 
-    boolean scriptingEnabled = false;
 
     public ScriptingRenderkitFactory(RenderKitFactory delegate) {
         _delegate = delegate;
-        scriptingEnabled = WeavingContext.isScriptingEnabled();
     }
 
     public void addRenderKit(String s, RenderKit renderKit) {
-        if (renderKit != null && !(renderKit instanceof RenderkitProxy))
+        if (WeavingContext.isScriptingEnabled() && renderKit != null && !(renderKit instanceof RenderkitProxy))
             renderKit = new RenderkitProxy(renderKit);
 
         _delegate.addRenderKit(s, renderKit);
@@ -50,7 +48,7 @@ public class ScriptingRenderkitFactory e
 
     public RenderKit getRenderKit(FacesContext facesContext, String s) {
         RenderKit retVal = _delegate.getRenderKit(facesContext, s);
-        if (retVal != null && !(retVal instanceof RenderkitProxy))
+        if (WeavingContext.isScriptingEnabled() && retVal != null && !(retVal instanceof RenderkitProxy))
             retVal = new RenderkitProxy(retVal);
         return retVal;
     }

Modified: myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java?rev=927882&r1=927881&r2=927882&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/instantbean/HelloBean.java Fri Mar 26 14:48:57 2010
@@ -37,7 +37,7 @@ public class HelloBean {
     }
 
     public String getHello() {
-        return hello + addedMethod();
+        return hello ;
     }
 
     public void setHello(String hello) {