remm 01/04/27 12:21:05
Modified: catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
Log:
- Some NPE could happen when calling getLastModified() or getHeaderField().
Revision Changes Path
1.8 +15 -4
jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java
Index: DirContextURLConnection.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DirContextURLConnection.java 2001/04/25 04:15:38 1.7
+++ DirContextURLConnection.java 2001/04/27 19:21:04 1.8
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
1.7 2001/04/25 04:15:38 glenn Exp $
- * $Revision: 1.7 $
- * $Date: 2001/04/25 04:15:38 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
1.8 2001/04/27 19:21:04 remm Exp $
+ * $Revision: 1.8 $
+ * $Date: 2001/04/27 19:21:04 $
*
* ====================================================================
*
@@ -91,7 +91,7 @@
* content is directly returned.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class DirContextURLConnection
extends URLConnection {
@@ -236,6 +236,7 @@
* Return the last modified date.
*/
public long getLastModified() {
+
if (!connected) {
// Try to connect (silently)
try {
@@ -243,6 +244,10 @@
} catch (IOException e) {
}
}
+
+ if (attributes == null)
+ return 0;
+
Attribute lastModified =
attributes.get(ResourceAttributes.LAST_MODIFIED);
if (lastModified != null) {
@@ -252,6 +257,7 @@
} catch (Exception e) {
}
}
+
return 0;
}
@@ -260,6 +266,7 @@
* Returns the name of the specified header field.
*/
public String getHeaderField(String name) {
+
if (!connected) {
// Try to connect (silently)
try {
@@ -268,12 +275,16 @@
}
}
+ if (attributes == null)
+ return (null);
+
Attribute attribute = attributes.get(name);
try {
return attribute.get().toString();
} catch (Exception e) {
// Shouldn't happen, unless the attribute has no value
}
+
return (null);
}