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;
     }