You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by so...@apache.org on 2009/04/22 02:11:40 UTC

svn commit: r767333 - in /myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad: resource/CachingResourceLoader.java resource/ResourceLoader.java webapp/ResourceServlet.java

Author: sobryan
Date: Wed Apr 22 00:11:39 2009
New Revision: 767333

URL: http://svn.apache.org/viewvc?rev=767333&view=rev
Log:
TRINIDAD-1457: Need the ability to bypass the Cache on ResourceServlet

* Added an isCachable() method to ResourceLoader
* Override isCachable() method in CachingResourceLoader to return false
* Added code in ResourceServlet to only Cache cachable resources

Modified:
    myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/CachingResourceLoader.java
    myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/ResourceLoader.java
    myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/ResourceServlet.java

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/CachingResourceLoader.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/CachingResourceLoader.java?rev=767333&r1=767332&r2=767333&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/CachingResourceLoader.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/CachingResourceLoader.java Wed Apr 22 00:11:39 2009
@@ -50,6 +50,8 @@
     _cache = new ConcurrentHashMap<String, URL>();
   }
 
+  
+
   /**
    * Returns the cached resource url if previously requested.  Otherwise,
    * fully reads the resource contents stores in the cache.
@@ -83,6 +85,12 @@
 
   private final ConcurrentMap<String, URL> _cache;
 
+  @Override
+  public boolean isCachable()
+  {
+    return false;
+  }
+
   /**
    * URLStreamHandler to cache URL contents and URLConnection headers.
    */

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/ResourceLoader.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/ResourceLoader.java?rev=767333&r1=767332&r2=767333&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/ResourceLoader.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/resource/ResourceLoader.java Wed Apr 22 00:11:39 2009
@@ -73,6 +73,15 @@
     
     return url;
   }
+  
+  /**
+   * Returns whether a resource is cachable.
+   * @return
+   */
+  public boolean isCachable()
+  {
+    return _parent == null || _parent.isCachable(); 
+  }
 
   /**
    * Finds the resource with the given name. Resource loader implementations

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/ResourceServlet.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/ResourceServlet.java?rev=767333&r1=767332&r2=767333&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/ResourceServlet.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/ResourceServlet.java Wed Apr 22 00:11:39 2009
@@ -342,8 +342,10 @@
         }
 
         // Enable resource caching, but only if we aren't debugging
-        if (!_debug)
+        if (!_debug && loader.isCachable())
+        {
           loader = new CachingResourceLoader(loader);
+        }
       }
       catch (IllegalAccessException e)
       {