Author: rjung
Date: Thu Apr 22 15:14:11 2010
New Revision: 936892

URL: http://svn.apache.org/viewvc?rev=936892&view=rev
Log:
Respect configurable search order in getURLs().

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=936892&r1=936891&r2=936892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Thu Apr 
22 15:14:11 2010
@@ -1679,19 +1679,30 @@ public class WebappClassLoader
 
         int filesLength = files.length;
         int jarFilesLength = jarRealFiles.length;
-        int length = filesLength + jarFilesLength + external.length;
+        int externalsLength = external.length;
+        int off = 0;
         int i;
 
         try {
 
-            URL[] urls = new URL[length];
-            for (i = 0; i < length; i++) {
-                if (i < filesLength) {
-                    urls[i] = getURL(files[i], true);
-                } else if (i < filesLength + jarFilesLength) {
-                    urls[i] = getURL(jarRealFiles[i - filesLength], true);
-                } else {
-                    urls[i] = external[i - filesLength - jarFilesLength];
+            URL[] urls = new URL[filesLength + jarFilesLength + 
externalsLength];
+            if (searchExternalFirst) {
+                for (i = 0; i < externalsLength; i++) {
+                    urls[i] = external[i];
+                }
+                off = externalsLength;
+            }
+            for (i = 0; i < filesLength; i++) {
+                urls[off + i] = getURL(files[i], true);
+            }
+            off += filesLength;
+            for (i = 0; i < jarFilesLength; i++) {
+                urls[off + i] = getURL(jarRealFiles[i], true);
+            }
+            off += jarFilesLength;
+            if (!searchExternalFirst) {
+                for (i = 0; i < externalsLength; i++) {
+                    urls[off + i] = external[i];
                 }
             }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to