You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2009/05/26 10:30:57 UTC

svn commit: r778617 - /myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java

Author: lofwyr
Date: Tue May 26 08:30:57 2009
New Revision: 778617

URL: http://svn.apache.org/viewvc?rev=778617&view=rev
Log:
TOBAGO-758: ResourceServlet should be able to load data from JAR files (META-INF/resources)

Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java?rev=778617&r1=778616&r2=778617&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/ResourceServlet.java Tue May 26 08:30:57 2009
@@ -22,8 +22,8 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.tobago.util.MimeTypeUtils;
 
-import javax.servlet.ServletException;
 import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -69,6 +69,7 @@
   private Long expires;
   private int bufferSize;
 
+  @Override
   public void init(ServletConfig servletConfig) throws ServletException {
     super.init(servletConfig);
     String expiresString = servletConfig.getInitParameter("expires");
@@ -117,7 +118,15 @@
     InputStream inputStream = null;
     try {
       ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-      inputStream = classLoader.getResourceAsStream(resource);
+
+      // meta inf (like in servlet 3.0)
+      inputStream = classLoader.getResourceAsStream("META-INF/resources/" + resource);
+
+      // "normal" classpath
+      if (inputStream == null) {
+        inputStream = classLoader.getResourceAsStream(resource);
+      }
+
       if (inputStream != null) {
         OutputStream outputStream = response.getOutputStream();
         copy(inputStream, outputStream);