WICKET-4388
o.a.w.util.file.WebApplicationPath duplicates the same logic as 
o.a.w.util.file.Path


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/69016338
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/69016338
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/69016338

Branch: refs/heads/master
Commit: 69016338dbd7a31709262064e2eb89ee83f702fb
Parents: bff7149
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Mon Feb 6 09:47:31 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Mon Feb 6 09:48:42 2012 +0200

----------------------------------------------------------------------
 .../wicket/util/file/WebApplicationPath.java       |   47 +++++++--------
 .../java/org/apache/wicket/util/file/Path.java     |    4 +-
 2 files changed, 25 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/69016338/wicket-core/src/main/java/org/apache/wicket/util/file/WebApplicationPath.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/file/WebApplicationPath.java 
b/wicket-core/src/main/java/org/apache/wicket/util/file/WebApplicationPath.java
index 6861618..5e2737d 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/util/file/WebApplicationPath.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/util/file/WebApplicationPath.java
@@ -22,7 +22,6 @@ import java.util.List;
 
 import javax.servlet.ServletContext;
 
-import org.apache.wicket.util.resource.FileResourceStream;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.UrlResourceStream;
 import org.apache.wicket.util.string.StringList;
@@ -36,16 +35,13 @@ import org.slf4j.LoggerFactory;
  * 
  * @author Johan Compagner
  */
-public final class WebApplicationPath implements IResourcePath
+public final class WebApplicationPath extends Path
 {
        private final static Logger log = 
LoggerFactory.getLogger(WebApplicationPath.class);
 
        /** The list of urls in the path */
        private final List<String> webappPaths = new ArrayList<String>();
 
-       /** The list of folders in the path */
-       private final List<Folder> folders = new ArrayList<Folder>();
-
        /** The web apps servlet context */
        private final ServletContext servletContext;
 
@@ -73,7 +69,7 @@ public final class WebApplicationPath implements IResourcePath
                final Folder folder = new Folder(path);
                if (folder.exists())
                {
-                       folders.add(folder);
+                       super.add(folder);
                }
                else
                {
@@ -96,41 +92,42 @@ public final class WebApplicationPath implements 
IResourcePath
        @Override
        public IResourceStream find(final Class<?> clazz, final String pathname)
        {
-               for (Folder folder : folders)
-               {
-                       final File file = new File(folder, pathname);
-                       if (file.exists())
-                       {
-                               return new FileResourceStream(file);
-                       }
-               }
+               IResourceStream resourceStream = super.find(clazz, pathname);
 
-               for (String path : webappPaths)
+               if (resourceStream == null)
                {
-                       try
+                       for (String path : webappPaths)
                        {
-                               final URL url = servletContext.getResource(path 
+ pathname);
-                               if (url != null)
+                               try
                                {
-                                       return new UrlResourceStream(url);
+                                       final URL url = 
servletContext.getResource(path + pathname);
+                                       if (url != null)
+                                       {
+                                               resourceStream = new 
UrlResourceStream(url);
+                                               break;
+                                       }
+                               }
+                               catch (Exception ex)
+                               {
+                                       // ignore, file couldn't be found
                                }
-                       }
-                       catch (Exception ex)
-                       {
-                               // ignore, file couldn't be found
                        }
                }
 
-               return null;
+               return resourceStream;
        }
 
+       public List<String> getWebappPaths()
+       {
+               return webappPaths;
+       }
        /**
         * @see java.lang.Object#toString()
         */
        @Override
        public String toString()
        {
-               return "[folders = " + StringList.valueOf(folders) + ", 
webapppaths: " +
+               return "[folders = " + StringList.valueOf(getFolders()) + ", 
webapppaths: " +
                        StringList.valueOf(webappPaths) + "]";
        }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/69016338/wicket-util/src/main/java/org/apache/wicket/util/file/Path.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/file/Path.java 
b/wicket-util/src/main/java/org/apache/wicket/util/file/Path.java
index a09fb4a..107acc6 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/file/Path.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/file/Path.java
@@ -29,7 +29,7 @@ import org.apache.wicket.util.string.StringList;
  * 
  * @author Jonathan Locke
  */
-public final class Path implements IResourcePath
+public class Path implements IResourcePath
 {
        /** The list of folders in the path */
        private final List<Folder> folders = new ArrayList<Folder>();
@@ -88,6 +88,7 @@ public final class Path implements IResourcePath
         *            Folder to add to path
         * @see org.apache.wicket.util.file.IResourcePath#add(java.lang.String)
         */
+       @Override
        public void add(final String path)
        {
                add(new Folder(path));
@@ -97,6 +98,7 @@ public final class Path implements IResourcePath
         * 
         * @see org.apache.wicket.util.file.IResourceFinder#find(Class, String)
         */
+       @Override
        public IResourceStream find(final Class<?> clazz, final String pathname)
        {
                for (Folder folder : folders)

Reply via email to