remm 01/01/24 11:23:12
Modified: catalina/src/share/org/apache/catalina/startup
ContextConfig.java
Log:
- Replace some FS spcific code with access through a directory context.
- I ran Watchdog 4 again, and everything was still running fine. Since Watchdog is
supposed to use that code (it's loading a TLD file from a JAR), I assume it's
working fine.
Revision Changes Path
1.40 +24 -25
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
Index: ContextConfig.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- ContextConfig.java 2001/01/24 02:35:00 1.39
+++ ContextConfig.java 2001/01/24 19:23:09 1.40
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
1.39 2001/01/24 02:35:00 remm Exp $
- * $Revision: 1.39 $
- * $Date: 2001/01/24 02:35:00 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
1.40 2001/01/24 19:23:09 remm Exp $
+ * $Revision: 1.40 $
+ * $Date: 2001/01/24 19:23:09 $
*
* ====================================================================
*
@@ -83,6 +83,10 @@
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import javax.servlet.ServletContext;
+import javax.naming.NamingException;
+import javax.naming.NameClassPair;
+import javax.naming.NamingEnumeration;
+import javax.naming.directory.DirContext;
import org.apache.naming.resources.DirContextURLStreamHandler;
import org.apache.catalina.Authenticator;
import org.apache.catalina.Context;
@@ -112,7 +116,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.39 $ $Date: 2001/01/24 02:35:00 $
+ * @version $Revision: 1.40 $ $Date: 2001/01/24 19:23:09 $
*/
public final class ContextConfig
@@ -861,29 +865,24 @@
// FIXME - Yet another dependence on files
if (debug >= 1)
log("Scanning library JAR files");
- ServletContext servletContext = context.getServletContext();
- URL libURL = null;
+ DirContext resources = context.getResources();
+ String libName = "/WEB-INF/lib";
+ DirContext libDir = null;
+ // Looking up directory /WEB-INF/lib in the context
try {
- libURL = servletContext.getResource("/WEB-INF/lib");
- } catch (MalformedURLException e) {
- ;
+ NamingEnumeration enum = resources.list(libName);
+ while (enum.hasMoreElements()) {
+ NameClassPair ncPair =
+ (NameClassPair) enum.nextElement();
+ String filename = libName + "/" + ncPair.getName();
+ if (!filename.endsWith(".jar"))
+ continue;
+ tldConfigJar(filename, mapper);
+ }
+ } catch (NamingException e) {
+ // Silent catch: it's valid that no /WEB-INF/lib directory
+ //exists
}
-
- if ((libURL != null) && "file".equals(libURL.getProtocol())) {
- File libFile = new File(libURL.getFile());
- if (libFile.exists() && libFile.canRead() &&
- libFile.isDirectory()) {
- String filenames[] = libFile.list();
- for (int i = 0; i < filenames.length; i++) {
- if (!filenames[i].endsWith(".jar"))
- continue;
- String resourcePath = "/WEB-INF/lib/" + filenames[i];
- if (debug >= 2)
- log(" Trying '" + resourcePath + "'");
- tldConfigJar("/WEB-INF/lib/" + filenames[i], mapper);
- }
- }
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]