cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-06-22 Thread glenn

glenn   01/06/22 13:18:24

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  Add support for JndiPermission
  
  Revision  ChangesPath
  1.12  +8 -7  
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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- DirContextURLConnection.java  2001/06/03 19:52:00 1.11
  +++ DirContextURLConnection.java  2001/06/22 20:18:24 1.12
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.11 2001/06/03 19:52:00 remm Exp $
  - * $Revision: 1.11 $
  - * $Date: 2001/06/03 19:52:00 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.12 2001/06/22 20:18:24 glenn Exp $
  + * $Revision: 1.12 $
  + * $Date: 2001/06/22 20:18:24 $
*
* 
*
  @@ -68,7 +68,6 @@
   import java.io.IOException;
   import java.io.InputStream;
   import java.io.FileNotFoundException;
  -import java.io.FilePermission;
   import java.security.Permission;
   import java.util.Date;
   import java.util.Enumeration;
  @@ -79,6 +78,7 @@
   import javax.naming.directory.DirContext;
   import javax.naming.directory.Attribute;
   import javax.naming.directory.Attributes;
  +import org.apache.naming.JndiPermission;
   import org.apache.naming.resources.Resource;
   import org.apache.naming.resources.ResourceAttributes;
   
  @@ -91,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]";>Remy Maucherat
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -105,8 +105,9 @@
   if (context == null)
   throw new IllegalArgumentException
   ("Directory context can't be null");
  -if (System.getSecurityManager() != null)
  -this.permission = new FilePermission(url.toString(), "read");
  +if (System.getSecurityManager() != null) {
  +this.permission = new JndiPermission(url.toString());
  + }
   this.context = context;
   }
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-06-03 Thread remm

remm01/06/03 12:52:00

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  - Possible workaround for the perf problem reported by Jon : don't create
a FilePermission is there is no security manager defined.
  
  Revision  ChangesPath
  1.11  +6 -5  
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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DirContextURLConnection.java  2001/05/11 18:24:33 1.10
  +++ DirContextURLConnection.java  2001/06/03 19:52:00 1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.10 2001/05/11 18:24:33 remm Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/05/11 18:24:33 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.11 2001/06/03 19:52:00 remm Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/06/03 19:52:00 $
*
* 
*
  @@ -91,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]";>Remy Maucherat
  - * @version $Revision: 1.10 $
  + * @version $Revision: 1.11 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -105,7 +105,8 @@
   if (context == null)
   throw new IllegalArgumentException
   ("Directory context can't be null");
  -this.permission = new FilePermission(url.toString(), "read");
  +if (System.getSecurityManager() != null)
  +this.permission = new FilePermission(url.toString(), "read");
   this.context = context;
   }
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-05-11 Thread remm

remm01/05/11 11:24:41

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  - Revert the commit on URL connection.
  
  Revision  ChangesPath
  1.10  +4 -5  
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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DirContextURLConnection.java  2001/05/11 18:20:34 1.9
  +++ DirContextURLConnection.java  2001/05/11 18:24:33 1.10
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.9 2001/05/11 18:20:34 remm Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/05/11 18:20:34 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.10 2001/05/11 18:24:33 remm Exp $
  + * $Revision: 1.10 $
  + * $Date: 2001/05/11 18:24:33 $
*
* 
*
  @@ -91,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]";>Remy Maucherat
  - * @version $Revision: 1.9 $
  + * @version $Revision: 1.10 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -199,7 +199,6 @@
   collection = (DirContext) object;
   } catch (NamingException e) {
   // Object not found
  -throw new IOException("Resource not found");
   }
   
   connected = true;
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-05-11 Thread remm

remm01/05/11 11:20:42

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  - The resource existence check was incorrect when using a URL, which
was breaking reloading in some cases.
  
  Revision  ChangesPath
  1.9   +5 -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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DirContextURLConnection.java  2001/04/27 19:21:04 1.8
  +++ DirContextURLConnection.java  2001/05/11 18:20:34 1.9
  @@ -1,7 +1,7 @@
   /*
  - * $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 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.9 2001/05/11 18:20:34 remm Exp $
  + * $Revision: 1.9 $
  + * $Date: 2001/05/11 18:20:34 $
*
* 
*
  @@ -91,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]";>Remy Maucherat
  - * @version $Revision: 1.8 $
  + * @version $Revision: 1.9 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -199,6 +199,7 @@
   collection = (DirContext) object;
   } catch (NamingException e) {
   // Object not found
  +throw new IOException("Resource not found");
   }
   
   connected = true;
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-04-27 Thread remm

remm01/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  ChangesPath
  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 mailto:[EMAIL PROTECTED]";>Remy Maucherat
  - * @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);
   
   }
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-04-24 Thread glenn

glenn   01/04/24 21:15:39

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  Java SecurityManager implementation changes
  ---
  
  Changed the naming convention for JNDI DirContextURL to
  "jndi:/hostname/webappname/" and "jar:jndi:/hostname/webappname/...".
  This works better with java.io.FilePermission.
  
  Modified how permissions are granted to the codeBase for a
  web application so that different permissions can be granted.
  Permissions assigned to the root of a web application apply
  to JSP pages.  Different permissions can be assigned to the
  /WEB-INF/classes/ directory, the /WEB-INF/lib/ directory,
  or even to individual jar files in /WEB-INF/lib/.  This allows
  much finer control of permissions granted within a web
  application.
  
  Fixed Jasper so that it uses the correct codeBase for a
  web application, it had been using the work dir instead
  of the context dir for getting permissions from the
  policy file.
  
  Added more default read FilePermissions for classes
  loaded from within a web application so that getResources()
  works. Added:
  
  "jndi:/hostname/webappname/-"
  "jar:jndi:/hostname/webappname/WEB-INF/lib/-"
  "file:/realcontextpath/-"
  
  Revision  ChangesPath
  1.7   +7 -6  
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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DirContextURLConnection.java  2001/04/06 19:31:59 1.6
  +++ DirContextURLConnection.java  2001/04/25 04:15:38 1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.6 2001/04/06 19:31:59 remm Exp $
  - * $Revision: 1.6 $
  - * $Date: 2001/04/06 19:31:59 $
  + * $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 $
*
* 
*
  @@ -91,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]";>Remy Maucherat
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -179,11 +179,12 @@
   String hostName = proxyDirContext.getHostName();
   String contextName = proxyDirContext.getContextName();
   if (hostName != null) {
  -if (!url.getHost().equalsIgnoreCase(hostName))
  +if (!path.startsWith("/" + hostName + "/"))
   return;
  +path = path.substring(hostName.length()+ 1);
   }
   if (contextName != null) {
  -if (!path.startsWith(contextName)) {
  +if (!path.startsWith(contextName + "/")) {
   return;
   } else {
   path = path.substring(contextName.length());
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java ProxyDirContext.java

2001-04-06 Thread remm

remm01/04/06 12:32:03

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java ProxyDirContext.java
  Log:
  - Fix for bug 1219. It makes the URLs generated more unique, to avoid confusing
the JDK's JAR URL cache.
  
  Revision  ChangesPath
  1.6   +25 -7 
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DirContextURLConnection.java  2001/03/31 14:06:31 1.5
  +++ DirContextURLConnection.java  2001/04/06 19:31:59 1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.5 2001/03/31 14:06:31 glenn Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/03/31 14:06:31 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.6 2001/04/06 19:31:59 remm Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/04/06 19:31:59 $
*
* 
*
  @@ -91,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]">Remy Maucherat
  - * @version $Revision: 1.5 $
  + * @version $Revision: 1.6 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -105,7 +105,7 @@
   if (context == null)
   throw new IllegalArgumentException
   ("Directory context can't be null");
  -this.permission = new FilePermission(url.toString(),"read");
  +this.permission = new FilePermission(url.toString(), "read");
   this.context = context;
   }
   
  @@ -172,8 +172,26 @@
   
   try {
   date = System.currentTimeMillis();
  -object = context.lookup(getURL().getFile());
  -attributes = context.getAttributes(getURL().getFile());
  +String path = getURL().getFile();
  +if (context instanceof ProxyDirContext) {
  +ProxyDirContext proxyDirContext = 
  +(ProxyDirContext) context;
  +String hostName = proxyDirContext.getHostName();
  +String contextName = proxyDirContext.getContextName();
  +if (hostName != null) {
  +if (!url.getHost().equalsIgnoreCase(hostName))
  +return;
  +}
  +if (contextName != null) {
  +if (!path.startsWith(contextName)) {
  +return;
  +} else {
  +path = path.substring(contextName.length());
  +}
  +}
  +}
  +object = context.lookup(path);
  +attributes = context.getAttributes(path);
   if (object instanceof Resource)
   resource = (Resource) object;
   if (object instanceof DirContext)
  
  
  
  1.3   +49 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java
  
  Index: ProxyDirContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/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/02/05 05:10:00 1.2
  +++ ProxyDirContext.java  2001/04/06 19:32:00 1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java,v
 1.2 2001/02/05 05:10:00 remm Exp $
  - * $Revision: 1.2 $
  - * $Date: 2001/02/05 05:10:00 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java,v
 1.3 2001/04/06 19:32:00 remm Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/04/06 19:32:00 $
*
* 
*
  @@ -84,7 +84,7 @@
* Proxy Directory Context implementation.
*
* @author Remy Maucherat
  - * @version $Revision: 1.2 $ $Date: 2001/02/05 05:10:00 $
  + * @version $Revision: 1.3 $ $Date: 2001/04/06 19:32:00 $
*/
   
   public class ProxyDirContext implements DirContext {
  @@ -93,6 +93,10 @@
   // -- Constants
   
   
  +public static final String CONTEXT = "context";
  +public static 

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-03-31 Thread glenn

glenn   01/03/31 06:06:31

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  Implement getPermission so that a FilePermission used to enforce security instead of 
the default AllPermission
  
  Revision  ChangesPath
  1.5   +22 -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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DirContextURLConnection.java  2001/03/21 19:51:48 1.4
  +++ DirContextURLConnection.java  2001/03/31 14:06:31 1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.4 2001/03/21 19:51:48 remm Exp $
  - * $Revision: 1.4 $
  - * $Date: 2001/03/21 19:51:48 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.5 2001/03/31 14:06:31 glenn Exp $
  + * $Revision: 1.5 $
  + * $Date: 2001/03/31 14:06:31 $
*
* 
*
  @@ -68,6 +68,8 @@
   import java.io.IOException;
   import java.io.InputStream;
   import java.io.FileNotFoundException;
  +import java.io.FilePermission;
  +import java.security.Permission;
   import java.util.Date;
   import java.util.Enumeration;
   import java.util.Vector;
  @@ -89,7 +91,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]">Remy Maucherat
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -103,6 +105,7 @@
   if (context == null)
   throw new IllegalArgumentException
   ("Directory context can't be null");
  +this.permission = new FilePermission(url.toString(),"read");
   this.context = context;
   }
   
  @@ -146,6 +149,12 @@
   protected long date;
   
   
  +/**
  + * Permission
  + */
  +protected Permission permission;
  +
  +
   // - Properties
   
   
  @@ -314,6 +323,15 @@
   }
   
   
  +/**
  + * Get the Permission for this URL
  + */
  +public Permission getPermission() {
  +
  +return permission;
  +}
  +
  +
   // - Public Methods
   
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-03-21 Thread remm

remm01/03/21 11:51:55

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  - Throw an IllegalArgumentException if the context specified is null.
  
  Revision  ChangesPath
  1.4   +7 -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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DirContextURLConnection.java  2001/03/16 05:47:51 1.3
  +++ DirContextURLConnection.java  2001/03/21 19:51:48 1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.3 2001/03/16 05:47:51 remm Exp $
  - * $Revision: 1.3 $
  - * $Date: 2001/03/16 05:47:51 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.4 2001/03/21 19:51:48 remm Exp $
  + * $Revision: 1.4 $
  + * $Date: 2001/03/21 19:51:48 $
*
* 
*
  @@ -89,7 +89,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]">Remy Maucherat
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -100,6 +100,9 @@
   
   public DirContextURLConnection(DirContext context, URL url) {
   super(url);
  +if (context == null)
  +throw new IllegalArgumentException
  +("Directory context can't be null");
   this.context = context;
   }
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-03-15 Thread remm

remm01/03/15 21:47:52

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  - Add a new list call which returns an enumeration of names of the children of
a collection. Since that call isn't part of the URLConnection methods, the
URL connection returned by getResource(path).openConnection() needs
to be typecast.
  
  Revision  ChangesPath
  1.3   +46 -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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DirContextURLConnection.java  2001/01/26 01:04:25 1.2
  +++ DirContextURLConnection.java  2001/03/16 05:47:51 1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.2 2001/01/26 01:04:25 remm Exp $
  - * $Revision: 1.2 $
  - * $Date: 2001/01/26 01:04:25 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.3 2001/03/16 05:47:51 remm Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/03/16 05:47:51 $
*
* 
*
  @@ -69,7 +69,11 @@
   import java.io.InputStream;
   import java.io.FileNotFoundException;
   import java.util.Date;
  +import java.util.Enumeration;
  +import java.util.Vector;
   import javax.naming.NamingException;
  +import javax.naming.NamingEnumeration;
  +import javax.naming.NameClassPair;
   import javax.naming.directory.DirContext;
   import javax.naming.directory.Attribute;
   import javax.naming.directory.Attributes;
  @@ -85,7 +89,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]">Remy Maucherat
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -303,6 +307,44 @@
   }
   
   return (resource.streamContent());
  +
  +}
  +
  +
  +// - Public Methods
  +
  +
  +/**
  + * List children of this collection. The names given are relative to this
  + * URI's path. The full uri of the children is then : path + "/" + name.
  + */
  +public Enumeration list()
  +throws IOException {
  +
  +if (!connected) {
  +connect();
  +}
  +
  +if ((resource == null) && (collection == null)) {
  +throw new FileNotFoundException();
  +}
  +
  +Vector result = new Vector();
  +
  +if (collection != null) {
  +try {
  +NamingEnumeration enum = context.list(getURL().getFile());
  +while (enum.hasMoreElements()) {
  +NameClassPair ncp = (NameClassPair) enum.nextElement();
  +result.addElement(ncp.getName());
  +}
  +} catch (NamingException e) {
  +// Unexpected exception
  +throw new FileNotFoundException();
  +}
  +}
  +
  +return result.elements();
   
   }
   
  
  
  



cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources DirContextURLConnection.java

2001-01-25 Thread remm

remm01/01/25 17:04:25

  Modified:catalina/src/share/org/apache/naming/resources
DirContextURLConnection.java
  Log:
  - Last modified hadling looked broken. It should be fixed (and it should be
more efficient).
Thanks to Justyna for reporting (and debugging) the problem.
  
  Revision  ChangesPath
  1.2   +22 -5 
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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DirContextURLConnection.java  2001/01/23 03:41:28 1.1
  +++ DirContextURLConnection.java  2001/01/26 01:04:25 1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.1 2001/01/23 03:41:28 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/01/23 03:41:28 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java,v
 1.2 2001/01/26 01:04:25 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/01/26 01:04:25 $
*
* 
*
  @@ -68,6 +68,7 @@
   import java.io.IOException;
   import java.io.InputStream;
   import java.io.FileNotFoundException;
  +import java.util.Date;
   import javax.naming.NamingException;
   import javax.naming.directory.DirContext;
   import javax.naming.directory.Attribute;
  @@ -84,7 +85,7 @@
* content is directly returned.
* 
* @author mailto:[EMAIL PROTECTED]">Remy Maucherat
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
*/
   public class DirContextURLConnection 
   extends URLConnection {
  @@ -200,7 +201,23 @@
* Return the last modified date.
*/
   public long getLastModified() {
  -return getHeaderFieldDate(ResourceAttributes.LAST_MODIFIED, 0);
  +if (!connected) {
  +// Try to connect (silently)
  +try {
  +connect();
  +} catch (IOException e) {
  +}
  +}
  +Attribute lastModified = 
  +attributes.get(ResourceAttributes.LAST_MODIFIED);
  +if (lastModified != null) {
  +try {
  +Date lmDate = (Date) lastModified.get();
  +return lmDate.getTime();
  +} catch (Exception e) {
  +}
  +}
  +return 0;
   }
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]