[jboss-cvs] JBossAS SVN: r89263 - projects/spring-int/trunk/vfs/src/main/java/org/jboss/spring/vfs.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 21 19:46:29 EDT 2009


Author: marius.bogoevici
Date: 2009-05-21 19:46:29 -0400 (Thu, 21 May 2009)
New Revision: 89263

Modified:
   projects/spring-int/trunk/vfs/src/main/java/org/jboss/spring/vfs/VFSResourceLoader.java
Log:
getResource() must always return a Resource, if it is not found in the classpath, existent() must be false.

Modified: projects/spring-int/trunk/vfs/src/main/java/org/jboss/spring/vfs/VFSResourceLoader.java
===================================================================
--- projects/spring-int/trunk/vfs/src/main/java/org/jboss/spring/vfs/VFSResourceLoader.java	2009-05-21 22:10:11 UTC (rev 89262)
+++ projects/spring-int/trunk/vfs/src/main/java/org/jboss/spring/vfs/VFSResourceLoader.java	2009-05-21 23:46:29 UTC (rev 89263)
@@ -23,8 +23,13 @@
 
 import org.springframework.core.io.DefaultResourceLoader;
 import org.springframework.core.io.Resource;
+import org.springframework.core.io.AbstractResource;
 import org.springframework.util.Assert;
 
+import java.net.URL;
+import java.io.InputStream;
+import java.io.IOException;
+
 /**
  * VFS based ResourceLoader.
  *
@@ -42,7 +47,11 @@
       Assert.notNull(location, "Location must not be null");
       if (location.startsWith(CLASSPATH_URL_PREFIX))
       {
-         return new VFSResource(getClassLoader().getResource(location.substring(CLASSPATH_URL_PREFIX.length())));
+         URL url = getClassLoader().getResource(location.substring(CLASSPATH_URL_PREFIX.length()));
+         if (url != null)
+            return new VFSResource(url);
+         else
+            return new InexistentResource();
       }
       else
       {
@@ -54,4 +63,20 @@
    {
       return new VFSResource(getClassLoader().getResource(path)); 
    }
+
+    private static class InexistentResource extends AbstractResource {
+
+        public String getDescription() {
+            return null;
+        }
+
+        public InputStream getInputStream() throws IOException {
+            throw new IOException("Resource does not exist");
+        }
+
+        @Override
+                public boolean exists() {
+            return false;
+        }
+    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list