[jboss-svn-commits] JBL Code SVN: r15794 - labs/shotoku/trunk/shotoku-web/src/java/org/jboss/shotoku/web.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 12 03:46:28 EDT 2007


Author: adamw
Date: 2007-10-12 03:46:28 -0400 (Fri, 12 Oct 2007)
New Revision: 15794

Modified:
   labs/shotoku/trunk/shotoku-web/src/java/org/jboss/shotoku/web/ResourcesFilter.java
Log:
Seam support cntd

Modified: labs/shotoku/trunk/shotoku-web/src/java/org/jboss/shotoku/web/ResourcesFilter.java
===================================================================
--- labs/shotoku/trunk/shotoku-web/src/java/org/jboss/shotoku/web/ResourcesFilter.java	2007-10-12 07:34:50 UTC (rev 15793)
+++ labs/shotoku/trunk/shotoku-web/src/java/org/jboss/shotoku/web/ResourcesFilter.java	2007-10-12 07:46:28 UTC (rev 15794)
@@ -22,23 +22,13 @@
  ******************************************************************************/
 package org.jboss.shotoku.web;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import java.io.*;
 import java.util.HashSet;
 import java.util.Set;
+import java.util.logging.Logger;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * A filter, which reads resources from the filesystem and makes them visible to the
  * application as deployed files --- useful for development. Specifically,
@@ -51,7 +41,9 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 public class ResourcesFilter implements Filter {
-	/**
+    private final static Logger log = Logger.getLogger(ResourcesFilter.class.getName());
+
+    /**
 	 * A list of extensions, which are filtered by default, if nothing is
 	 * specified in the filter configuration.
 	 */
@@ -74,7 +66,7 @@
 	 */
 	private Set extensions;
 
-	/**
+    /**
 	 * Transfers all bytes from the given input stream to the given output
 	 * stream.
 	 *
@@ -152,13 +144,13 @@
 				realRequestedResource = realRequestedResource.replace(".seam", ".xhtml");
 			}
 
-			// Filtering only some file extensions.
-			if (!checkExtension(realRequestedResource)) {
+			// Filtering only some file extensions. Not filtering Seam's debug.xhtml.
+			if ((!checkExtension(realRequestedResource)) || (realRequestedResource.indexOf("debug.xhtml") != -1)) {
 				chain.doFilter(request, response);
 				return;
 			}
 
-			File sourceFile = new File(sourceBasePath + realRequestedResource);
+            File sourceFile = new File(sourceBasePath + realRequestedResource);
 			File destFile = new File(destBasePath + realRequestedResource);
 
 			InputStream in = null;
@@ -172,7 +164,9 @@
 				out = new FileOutputStream(destFile);
 
 				transfer(in, out);
-			} finally {
+			} catch (Exception e) {
+                log.warning("Cannot copy resource: " + sourceFile);
+            } finally {
 				if (in != null) {
 					in.close();
 				}




More information about the jboss-svn-commits mailing list