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>