You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2001/01/14 20:51:01 UTC
cvs commit: jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources FileDirContext.java ProxyDirContext.java
remm 01/01/14 11:51:01
Modified: catalina/src/share/org/apache/naming/resources
FileDirContext.java ProxyDirContext.java
Log:
- Added some extra checks to prevent exceptions when trying to list contents
of unreadable directories.
- Fix bug with type wrapping in the proxy context when doing a lookup.
Revision Changes Path
1.5 +8 -4 jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/FileDirContext.java
Index: FileDirContext.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FileDirContext.java 2001/01/13 21:17:05 1.4
+++ FileDirContext.java 2001/01/14 19:51:00 1.5
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v 1.4 2001/01/13 21:17:05 remm Exp $
- * $Revision: 1.4 $
- * $Date: 2001/01/13 21:17:05 $
+ * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v 1.5 2001/01/14 19:51:00 remm Exp $
+ * $Revision: 1.5 $
+ * $Date: 2001/01/14 19:51:00 $
*
* ====================================================================
*
@@ -98,7 +98,7 @@
* Filesystem Directory Context implementation helper class.
*
* @author Remy Maucherat
- * @version $Revision: 1.4 $ $Date: 2001/01/13 21:17:05 $
+ * @version $Revision: 1.5 $ $Date: 2001/01/14 19:51:00 $
*/
public class FileDirContext extends BaseDirContext {
@@ -884,7 +884,11 @@
protected Vector list(File file) {
Vector entries = new Vector();
+ if (!file.isDirectory())
+ return entries;
String[] names = file.list();
+ if (names == null)
+ return entries;
NamingEntry entry = null;
for (int i = 0; i < names.length; i++) {
1.3 +13 -6 jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java
Index: ProxyDirContext.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ProxyDirContext.java 2001/01/13 21:19:12 1.2
+++ ProxyDirContext.java 2001/01/14 19:51:00 1.3
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java,v 1.2 2001/01/13 21:19:12 remm Exp $
- * $Revision: 1.2 $
- * $Date: 2001/01/13 21:19:12 $
+ * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java,v 1.3 2001/01/14 19:51:00 remm Exp $
+ * $Revision: 1.3 $
+ * $Date: 2001/01/14 19:51:00 $
*
* ====================================================================
*
@@ -66,6 +66,7 @@
import java.util.Hashtable;
import java.io.InputStream;
+import java.io.ByteArrayInputStream;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.NameParser;
@@ -82,7 +83,7 @@
* Proxy Directory Context implementation.
*
* @author Remy Maucherat
- * @version $Revision: 1.2 $ $Date: 2001/01/13 21:19:12 $
+ * @version $Revision: 1.3 $ $Date: 2001/01/14 19:51:00 $
*/
public class ProxyDirContext implements DirContext {
@@ -164,10 +165,16 @@
public Object lookup(String name)
throws NamingException {
Object object = dirContext.lookup(parseName(name));
- if (object instanceof InputStream)
+ if (object instanceof InputStream) {
return new Resource((InputStream) object);
- else
+ } if (object instanceof DirContext) {
return object;
+ } if (object instanceof Resource) {
+ return object;
+ } else {
+ return new Resource(new ByteArrayInputStream
+ (object.toString().getBytes()));
+ }
}