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/01/15 17:29:24 UTC
svn commit: r899685 - in
/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces:
extensions/scripting/loader/ClassLoaderUtils.java
scripting/loaders/java/JavaDependencyScanner.java
scripting/refresh/RefreshContext.java
Author: werpu
Date: Fri Jan 15 16:29:23 2010
New Revision: 899685
URL: http://svn.apache.org/viewvc?rev=899685&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-43
ongoing works on the compiler integration
Modified:
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/extensions/scripting/loader/ClassLoaderUtils.java
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/RefreshContext.java
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/extensions/scripting/loader/ClassLoaderUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/extensions/scripting/loader/ClassLoaderUtils.java?rev=899685&r1=899684&r2=899685&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/extensions/scripting/loader/ClassLoaderUtils.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/extensions/scripting/loader/ClassLoaderUtils.java Fri Jan 15 16:29:23 2010
@@ -119,13 +119,16 @@
if (urls != null) {
classpath.addAll(Arrays.asList(urls));
}
- } else {
+ } /*else {
if (logger.isWarnEnabled()) {
logger.warn("Resolving the classpath of the classloader '" + parent + "' - One of its parent class"
+ " loaders is no URLClassLoader '" + classLoader + "', which means it's possible that"
+ " some classpath entries aren't in the final outcome of this method call.");
}
- }
+ } */
+
+ //we disable this warning entirely for now because our own url classloader
+ //can deal with this properly, due to extra startup context classpath determination
// Inspect the parent class loader next.
classLoader = classLoader.getParent();
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java?rev=899685&r1=899684&r2=899685&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java Fri Jan 15 16:29:23 2010
@@ -54,6 +54,14 @@
}
public synchronized void scanPaths() {
+ //only one dependency check per refresh makes sense in our case
+ if(WeavingContext.getRefreshContext().isDependencyScanned(ScriptingConst.ENGINE_TYPE_JAVA)) {
+ return;
+ } else {
+ WeavingContext.getRefreshContext().setDependencyScanned(ScriptingConst.ENGINE_TYPE_JAVA, true);
+ }
+
+
if (log.isInfoEnabled()) {
log.info("[EXT-SCRITPING] starting class dependency scan");
}
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/RefreshContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/RefreshContext.java?rev=899685&r1=899684&r2=899685&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/RefreshContext.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/RefreshContext.java Fri Jan 15 16:29:23 2010
@@ -20,6 +20,7 @@
import org.apache.myfaces.scripting.core.util.WeavingContext;
+import javax.faces.context.FacesContext;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
@@ -100,6 +101,25 @@
daemon.getSystemRecompileMap().put(scriptingEngine, recompileRecommended);
}
+ public boolean isDependencyScanned(int scriptingEngine) {
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ if(ctx == null) {
+ return false;
+ }
+ Map<String, Object> requestMap = (Map<String, Object>) ctx.getExternalContext().getRequestMap();
+ Boolean retVal = (Boolean) requestMap.get("isDependencyScanned_"+scriptingEngine);
+ return (retVal == null)? false: retVal;
+ }
+
+ public void setDependencyScanned(int scriptingEngine, Boolean val) {
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ if(ctx == null) {
+ return;
+ }
+ Map<String, Object> requestMap = (Map<String, Object>) ctx.getExternalContext().getRequestMap();
+ requestMap.put("isDependencyScanned_"+scriptingEngine, val);
+ }
+
public FileChangedDaemon getDaemon() {
return daemon;
}