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/04/20 15:44:11 UTC

svn commit: r935918 - in /myfaces/extensions/scripting/trunk: ./ extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core...

Author: werpu
Date: Tue Apr 20 13:44:10 2010
New Revision: 935918

URL: http://svn.apache.org/viewvc?rev=935918&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-122
reduced one compile, still one call too much, but it is ok for 1.0 for me now I will work on the entire compile aspect post 1.0 to make it entirely switch offable, I added already preparation code for this.

Modified:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/BaseWeaver.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingConst.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingWeaver.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/CoreWeaver.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/DummyWeaver.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/util/WeavingContextInitializer.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/servlet/StartupServletContextPluginChainLoader.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockupScriptingWeaver.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/extensions/scripting/startup/IntialScanAnnotationListener.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/resources/META-INF/faces-config.xml
    myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean4.java
    myfaces/extensions/scripting/trunk/pom.xml

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/BaseWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/BaseWeaver.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/BaseWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/BaseWeaver.java Tue Apr 20 13:44:10 2010
@@ -383,7 +383,7 @@ public abstract class BaseWeaver impleme
         return context != null && context.getExternalContext().getRequestMap().containsKey(this.getClass().getName() + "_recompiled");
     }
 
-    protected void markAsFullyRecompiled() {
+    public void markAsFullyRecompiled() {
         FacesContext context = FacesContext.getCurrentInstance();
         if (context != null) {
             //mark the request as tainted with recompile

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingConst.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingConst.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingConst.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingConst.java Tue Apr 20 13:44:10 2010
@@ -38,6 +38,7 @@ public class ScriptingConst {
     public static final String INIT_PARAM_RESOURCE_PATH = "org.apache.myfaces.extensions.scripting.resources.LOADER_PATHS";
     public static final String INIT_PARAM_CUSTOM_GROOVY_LOADER_PATHS = "org.apache.myfaces.extensions.scripting.groovy.LOADER_PATHS";
     public static final String INIT_PARAM_CUSTOM_JAVA_LOADER_PATHS = "org.apache.myfaces.extensions.scripting.java.LOADER_PATHS";
+    public static final String INIT_PARAM_INITIAL_COMPILE="org.apache.myfaces.extensions.scripting.INITIAL_COMPILE_AND_SCAN";
     public static final String INIT_PARAM_MYFACES_PLUGIN = "org.apache.myfaces.FACES_INIT_PLUGINS";
 
     public static final String EXT_VAL_MARKER="org.apache.myfaces.extensions.validator";

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingWeaver.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/api/ScriptingWeaver.java Tue Apr 20 13:44:10 2010
@@ -111,6 +111,11 @@ public interface ScriptingWeaver {
     public void fullRecompile();
 
     /**
+     * allows to mark the current weaving state as fully recompiled
+     */
+    public void markAsFullyRecompiled();
+
+    /**
      * initiates all post startup actions which have to be performed
      * on the scripting subsystems after the entire scripting engine
      * configuration has been activated (in most cases

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/CoreWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/CoreWeaver.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/CoreWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/CoreWeaver.java Tue Apr 20 13:44:10 2010
@@ -75,6 +75,12 @@ public class CoreWeaver implements Seria
 
     }
 
+    public void markAsFullyRecompiled() {
+        for (ScriptingWeaver weaver : _weavers) {
+            weaver.markAsFullyRecompiled();
+        }
+    }
+
     public Class loadScriptingClassFromName(String className) {
         for (ScriptingWeaver weaver : _weavers) {
             Class retVal = weaver.loadScriptingClassFromName(className);

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/DummyWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/DummyWeaver.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/DummyWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/DummyWeaver.java Tue Apr 20 13:44:10 2010
@@ -72,6 +72,10 @@ public class DummyWeaver implements Seri
 
     }
 
+    public void markAsFullyRecompiled() {
+        
+    }
+
     public void postStartupActions() {
     }
 

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/util/WeavingContextInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/util/WeavingContextInitializer.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/util/WeavingContextInitializer.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/util/WeavingContextInitializer.java Tue Apr 20 13:44:10 2010
@@ -165,6 +165,10 @@ public class WeavingContextInitializer {
         applyEntries(servletContext.getInitParameter(ScriptingConst.INIT_PARAM_SCRIPTING_ADDITIONAL_CLASSPATH), addAdditionalClassPathStrategy);
         applyEntries(servletContext.getInitParameter(ScriptingConst.INIT_PARAM_SCRIPTING_PACKAGE_WHITELIST), addWhiteListPackageStrategy);
 
+        String initialCompile = servletContext.getInitParameter(ScriptingConst.INIT_PARAM_INITIAL_COMPILE);
+
+        configuration.setInitialCompile((initialCompile == null) || initialCompile.trim().toLowerCase().equals("true"));
+
     }
 
     private static void applyEntries(String val, Strategy strategy) {

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/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/extensions/scripting/servlet/StartupServletContextPluginChainLoader.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/servlet/StartupServletContextPluginChainLoader.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/servlet/StartupServletContextPluginChainLoader.java Tue Apr 20 13:44:10 2010
@@ -55,7 +55,12 @@ public class StartupServletContextPlugin
 
         initContext(servletContext);
         initChainLoader(servletContext);
-        initCompileAndScan();
+        String initialCompileAndScan = (String) servletContext.getInitParameter(ScriptingConst.INIT_PARAM_INITIAL_COMPILE);
+        if(WeavingContext.isScriptingEnabled() && WeavingContext.getConfiguration().isInitialCompile()) {
+            initCompileAndScan();
+        } else if(!WeavingContext.getConfiguration().isInitialCompile()) {
+            WeavingContext.getWeaver().markAsFullyRecompiled();
+        }
     }
 
     private void initCompileAndScan() {

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockupScriptingWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockupScriptingWeaver.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockupScriptingWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/support/MockupScriptingWeaver.java Tue Apr 20 13:44:10 2010
@@ -90,6 +90,10 @@ public class MockupScriptingWeaver imple
         _lastOp = "fullRecompile";
     }
 
+    public void markAsFullyRecompiled() {
+        
+    }
+
     public void postStartupActions() {
         _lastOp = "postStartupActions";
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/extensions/scripting/startup/IntialScanAnnotationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/extensions/scripting/startup/IntialScanAnnotationListener.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/extensions/scripting/startup/IntialScanAnnotationListener.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/java/org/apache/myfaces/extensions/scripting/startup/IntialScanAnnotationListener.java Tue Apr 20 13:44:10 2010
@@ -44,16 +44,18 @@ public class IntialScanAnnotationListene
     }
 
     public void processEvent(SystemEvent event) {
-            if (!event.getClass().equals(PostConstructApplicationEvent.class)) {
-                return;
-            }
-            //we can rely on being in the same thread as the original
-            //startup context listener, so the initial weaver still is activated
-            ScriptingWeaver weaver = WeavingContext.getWeaver();
+        if (!event.getClass().equals(PostConstructApplicationEvent.class)) {
+            return;
+        }
+        //we can rely on being in the same thread as the original
+        //startup context listener, so the initial weaver still is activated
+        ScriptingWeaver weaver = WeavingContext.getWeaver();
 
+        if (WeavingContext.isScriptingEnabled() && WeavingContext.getConfiguration().isInitialCompile()) {
             weaver.fullRecompile();
             //we now do a full source or precompiled annotation scan
             //the entire scripting subsystem should be initialized by now
             weaver.fullClassScan();
+        }
     }
 }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/resources/META-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/resources/META-INF/faces-config.xml?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/resources/META-INF/faces-config.xml (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/src/main/resources/META-INF/faces-config.xml Tue Apr 20 13:44:10 2010
@@ -77,6 +77,7 @@
 
     </factory>
 
+    <!--
     <application>
         <system-event-listener>
             <system-event-listener-class>org.apache.myfaces.extensions.scripting.startup.IntialScanAnnotationListener
@@ -85,5 +86,5 @@
         </system-event-listener>
 
     </application>
-
+   -->
 </faces-config>
\ No newline at end of file

Modified: myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean4.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/test/TestBean4.java?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean4.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean4.java Tue Apr 20 13:44:10 2010
@@ -25,7 +25,8 @@ import javax.faces.bean.SessionScoped;
 @SessionScoped
 
 public class TestBean4 {
-    private String hello = "hello world form bean 4";
+    
+    private String hello = "Hello world from test bean 4";
 
     public String getHello() {
         return hello;

Modified: myfaces/extensions/scripting/trunk/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/pom.xml?rev=935918&r1=935917&r2=935918&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/pom.xml (original)
+++ myfaces/extensions/scripting/trunk/pom.xml Tue Apr 20 13:44:10 2010
@@ -112,12 +112,12 @@
             <scope>test</scope>
         </dependency>
 
-         <dependency>
-              <groupId>org.apache.myfaces.test</groupId>
-              <artifactId>myfaces-test20</artifactId>
-              <version>1.0.0-beta</version>
-              <scope>test</scope>
-            </dependency>
+        <dependency>
+            <groupId>org.apache.myfaces.test</groupId>
+            <artifactId>myfaces-test20</artifactId>
+            <version>1.0.0-beta</version>
+            <scope>test</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.easymock</groupId>