Author: dkulp
Date: Fri Jan 7 20:18:26 2011
New Revision: 1056486
URL: http://svn.apache.org/viewvc?rev=1056486&view=rev
Log:
Make sure file URL's returned form the ServletContextResourceResolver
actually resolve to a file.
Modified:
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletContextResourceResolver.java
Modified:
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletContextResourceResolver.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletContextResourceResolver.java?rev=1056486&r1=1056485&r2=1056486&view=diff
==============================================================================
---
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletContextResourceResolver.java
(original)
+++
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletContextResourceResolver.java
Fri Jan 7 20:18:26 2011
@@ -19,9 +19,11 @@
package org.apache.cxf.transport.servlet;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -80,21 +82,35 @@ public class ServletContextResourceResol
}
try {
URL url = servletContext.getResource(entryName);
+ if (url != null
+ && "file".equals(url.getProtocol())
+ && !(new File(url.toURI()).exists())) {
+ url = null;
+ }
if (url != null) {
urlMap.put(url.toString(), url);
return clz.cast(url);
}
} catch (MalformedURLException e) {
//fallthrough
+ } catch (URISyntaxException e) {
+ //ignore
}
try {
URL url = servletContext.getResource("/" + entryName);
+ if (url != null
+ && "file".equals(url.getProtocol())
+ && !(new File(url.toURI()).exists())) {
+ url = null;
+ }
if (url != null) {
urlMap.put(url.toString(), url);
return clz.cast(url);
}
} catch (MalformedURLException e1) {
//ignore
+ } catch (URISyntaxException e) {
+ //ignore
}
} else if (clz.isAssignableFrom(InputStream.class)) {
return clz.cast(getAsStream(entryName));