[prev in list] [next in list] [prev in thread] [next in thread] 

List:       slide-dev
Subject:    cvs commit: jakarta-slide/src/conf/dist dav.bat dav.sh
From:       remm () locus ! apache ! org
Date:       2000-08-31 22:08:54
[Download RAW message or body]

remm        00/08/31 15:08:54

  Modified:    .        build.xml
               src/conf/catalina/standalone/conf server.xml web.xml
               src/conf/dist dav.bat dav.sh
  Added:       src/clients/tomcat/org/apache/catalina/realm SlideRealm.java
               src/clients/tomcat/org/apache/catalina/resources
                        SlideResources.java
  Removed:     src/clients/tomcat/org/apache/tomcat/realm SlideRealm.java
               src/clients/tomcat/org/apache/tomcat/resources
                        SlideResources.java
               src/conf/catalina/standalone/conf web.dtd
  Log:
  - Updated to Tomcat 4.0 packaging (hopefully nothing is broken
    by the change)
  - Web application packaging (preliminary, since the configuration
    file has to be put in a separate directory, and cannot be included
    yet in the WAR archive)
  
  Revision  Changes    Path
  1.38      +36 -6     jakarta-slide/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/build.xml,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- build.xml	2000/08/29 18:55:00	1.37
  +++ build.xml	2000/08/31 22:08:50	1.38
  @@ -22,6 +22,7 @@
     <property name="slide.build"           value="../build/slide" />
     <property name="slide.dist"            value="../dist/slide" />
     <property name="dav.dist"              value="../dist/dav" />
  +  <property name="webapp.dist"           value="../dist/slide-webapp" />
     <property name="slide.release"         value="../dist/jakarta-slide" />
     <property name="webdavclient.build"    value="../build/webdavclient" />
     <property name="webdavclient.dist"     value="../dist/webdavclient" />
  @@ -47,6 +48,7 @@
       <echo message="--------------------" />
       <echo message="" />
       <echo message="cataliana-dist : Builds a Tomcat Catalina based DAV server" />
  +    <echo message="webapp-dist : Builds a Web Application Archive, compliant with \
                servlet 2.2 specification, with Slide" />
       <echo message="avalon-dist : Builds a content server running on top of Avalon" \
                />
       <echo message="jmx-dist : Builds a JMX ready content server (not implemented \
yet)" />  <echo message="" />
  @@ -351,6 +353,31 @@
     
     
     <!-- =================================================================== -->
  +  <!-- Build a Slide distribution packaged as a web application            -->
  +  <!-- =================================================================== -->
  +  <target name="webapp-dist" depends="dist">
  +    
  +    <echo message="Creating web application directories" />
  +    <mkdir dir="${webapp.dist}" />
  +    <mkdir dir="${webapp.dist}/WEB-INF" />
  +    <mkdir dir="${webapp.dist}/WEB-INF/lib" />
  +    
  +    <echo message="Copying libraries" />
  +    <copyfile src="${slide.dist}/lib/slide.jar" 
  +     dest="${webapp.dist}/WEB-INF/lib/slide.jar" />
  +    <copyfile src="${slide.dist}/lib/webdav.jar" 
  +     dest="${webapp.dist}/WEB-INF/lib/webdav.jar" />
  +
  +    <echo message="Copying configuration files" />
  +    <copyfile src="src/conf/catalina/standalone/Domain.xml" 
  +     dest="${webapp.dist}/Domain.xml" />
  +    <copyfile src="src/conf/catalina/standalone/conf/web.xml" 
  +     dest="${webapp.dist}/WEB-INF/web.xml" />
  +    
  +  </target>
  +
  +
  +  <!-- =================================================================== -->
     <!-- Build a standalone Slide server                                     -->
     <!-- This target requires Catalina                                       -->
     <!-- =================================================================== -->
  @@ -362,13 +389,13 @@
       <echo message="Building Catalina JARs" />
       <jar jarfile="${dav.dist}/lib/webserver.jar"
        basedir="${catalina.build}/classes"
  -     includes="org/apache/tomcat/**,**/*.properties" />
  +     includes="org/apache/catalina/**,**/*.properties" />
       <copyfile src="${ctalina.dist}/server/webserver.jar"
        dest="${dav.dist}/lib/webserver.jar" />
       <javac srcdir="src/clients/tomcat" 
        destdir="${slide.build}/classes"
        debug="off" deprecation="off" 
  -     includes="**/org/apache/tomcat/**"
  +     includes="**/org/apache/catalina/**"
        excludes="**/CVS/**"
        classpath="${slide.build}/classes:${catalina.build}/classes" />
       <copyfile src="src/etc/MANIFEST.MF" 
  @@ -386,7 +413,7 @@
       <jar jarfile="${dav.dist}/lib/catalinautil.jar" 
        basedir="${slide.build}/classes"
        manifest="${slide.build}/classes/MANIFEST.MF" 
  -     includes="LICENSE,README,CHANGELOG,org/apache/tomcat/**" />
  +     includes="LICENSE,README,CHANGELOG,org/apache/catalina/**" />
       
       <echo message="Building WebDAV Servlet JAR" />
       <jar jarfile="${dav.dist}/lib/webdav.jar" 
  @@ -442,7 +469,7 @@
        debug="off" 
        deprecation="off" 
        excludes="**/CVS/**,**/package.html"
  -     includes="**/tomcat/**"
  +     includes="**/catalina/**"
        classpath="${slide.build}/classes:${catalina.build}/classes:${avalon.dist}/lib/AvalonAware.jar" \
/>  <mkdir dir="${slide.build}/classes/conf" />
       <copyfile src="src/clients/avalon/conf/Slide.conf.xml"
  @@ -461,7 +488,7 @@
       <jar jarfile="${avalon.dist}/bin/blocks/Catalina.jar" 
        basedir="${slide.build}/classes/temp"
        manifest="${slide.build}/classes/MANIFEST.MF" 
  -     includes="LICENSE,README,CHANGELOG,conf/Catalina.conf.xml,org/apache/tomcat/**" \
/>  +     includes="LICENSE,README,CHANGELOG,conf/Catalina.conf.xml,org/apache/catalina/**" \
/>  <copydir src="src/conf/catalina/standalone" 
        dest="${avalon.dist}/bin" 
        excludes="**/bin/**,**/CVS/**" />
  @@ -526,6 +553,7 @@
       <mkdir dir="${slide.release}/slide" />
       <mkdir dir="${slide.release}/webdavclient" />
       <mkdir dir="${slide.release}/catalina" />
  +    <mkdir dir="${slide.release}/webapp" />
     </target>
     
     
  @@ -533,11 +561,13 @@
     <!-- Release                                                             -->
     <!-- =================================================================== -->
     <target name="release" depends="dist, doc, catalina-dist, 
  -   webdav-client-dist">
  +   webdav-client-dist, webapp-dist, release-prepare">
       <!--copydir src="${avalon.dist}" dest="${slide.release}/avalon" /-->
       <copydir src="${webdavclient.dist}" dest="${slide.release}/webdavclient" />
       <copydir src="${slide.dist}" dest="${slide.release}/slide" />
       <copydir src="${dav.dist}" dest="${slide.release}/catalina" />
  +    <jar jarfile="${slide.release}/webapp/slide.war" 
  +     basedir="${webapp.dist}" includes="**"/>
       <copydir src="." dest="${slide.release}" 
        includes="LICENSE,README,CHANGELOG,RELEASE-INFO,RELEASE-PLAN,STATUS.html" />
     </target>
  
  
  
  1.1                  \
jakarta-slide/src/clients/tomcat/org/apache/catalina/realm/SlideRealm.java  
  Index: SlideRealm.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/src/clients/tomcat/org/apache/catalina/realm/SlideRealm.java,v \
                1.1 2000/08/31 22:08:51 remm Exp $
   * $Revision: 1.1 $
   * $Date: 2000/08/31 22:08:51 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:  
   *       "This product includes software developed by the 
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written 
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * [Additional notices, if required by prior licensing conditions]
   *
   */ 
  
  
  package org.apache.catalina.realm;
  
  
  import java.security.Principal;
  import java.io.File;
  import java.util.Enumeration;
  import java.util.Hashtable;
  import java.util.Vector;
  import org.apache.catalina.Container;
  import org.apache.catalina.Logger;
  import org.apache.catalina.Realm;
  import org.apache.catalina.util.LifecycleSupport;
  import org.apache.catalina.util.StringManager;
  import org.apache.slide.common.NamespaceAccessToken;
  import org.apache.slide.common.Domain;
  import org.apache.slide.common.SlideException;
  import org.apache.slide.content.Content;
  import org.apache.slide.content.NodeRevisionDescriptors;
  import org.apache.slide.content.NodeRevisionDescriptor;
  import org.apache.slide.content.NodeProperty;
  import org.apache.slide.authenticate.CredentialsToken;
  import org.apache.slide.authenticate.SecurityToken;
  
  
  /**
   * Implemetation of a Catalina realm which authenticates users defined
   * in a Slide namespace.
   * <p>
   * The namespace used will have the same name as the container to which the
   * realm is associated. If such a namespace doesn't exist, it falls back
   * to tomcat, webdav or default.
   * 
   * @author Remy Maucherat
   * @version $Revision: 1.1 $ $Date: 2000/08/31 22:08:51 $
   */
  
  public final class SlideRealm
      extends RealmBase {
  
  
      // ----------------------------------------------------- Instance Variables
  
  
      /**
       * Descriptive information about this Realm implementation.
       */
      private static final String info =
  	"org.apache.catalina.realm.SlideRealm/1.0";
  
  
      /**
       * Set of access tokens.
       */
      private NamespaceAccessToken accessToken;
  
  
      /**
       * Content helper.
       */
      private Content contentHelper;
  
  
      /**
       * Users path.
       */
      private String usersPath;
  
  
      /**
       * Root credentials token.
       */
      private CredentialsToken rootCredentials;
  
  
      // ------------------------------------------------------------- Properties
  
  
      /**
       * Set the Container with which this Realm has been associated.
       *
       * @param container The associated Container
       */
      public void setContainer(Container container) {
  
          super.setContainer(container);
          accessToken = Domain.accessNamespace(new SecurityToken(container), 
                                               container.getName());
          if (accessToken == null)
              accessToken = Domain.accessNamespace(new SecurityToken(container),
                                                   "tomcat");
          if (accessToken == null)
              accessToken = Domain.accessNamespace(new SecurityToken(container),
                                                   "webdav");
          if (accessToken == null)
              accessToken = Domain.accessNamespace(new SecurityToken(container),
                                                   "default");
          contentHelper = accessToken.getContentHelper();
  
          usersPath = accessToken.getNamespaceConfig().getUsersPath();
  
      }
  
  
      // --------------------------------------------------------- Public Methods
  
  
      /**
       * Return <code>true</code> if the specified Principal has the specified
       * security role, within the context of this Realm; otherwise return
       * <code>false</code>.
       *
       * @param principal Principal for whom the role is to be checked
       * @param role Security role to be checked
       */
      public boolean hasRole(Principal principal, String role) {
  
          // FIXME !
          // Use role resolution ...
          if (principal.getName().equals(role))
              return true;
  	return (false);
  
      }
  
  
      // ------------------------------------------------------ Protected Methods
  
  
      /**
       * Return the password associated with the given principal's user name.
       */
      protected String getPassword(String username) {
          // Fetch the Slide object representing the user.
          try {
              Principal userPrincipal = getPrincipal(username);
              CredentialsToken credToken = new CredentialsToken(userPrincipal);
              
              NodeRevisionDescriptors revisionDescriptors =
                  contentHelper.retrieve(credToken, usersPath + "/" + username);
              NodeRevisionDescriptor revisionDescriptor =
                  contentHelper.retrieve(credToken, revisionDescriptors);
              NodeProperty password = 
                  revisionDescriptor.getProperty("password");
              if (password == null)
                  return username;
              else
                  return (String) password.getValue();
              
          } catch (SlideException e) {
              // Whatever happens doesn't really matter
              // The stack trace is displayed for now for debug purposes
              e.printStackTrace();
          }
          return null;
      }
  
  
      /**
       * Return the Principal associated with the given user name.
       */
      protected Principal getPrincipal(String username) {
  	return new SlideRealmPrincipal(username);
      }
  
  
  }
  
  
  /**
   * Private class representing an individual user's Principal object.
   */
  
  final class SlideRealmPrincipal implements Principal {
  
      /**
       * The username for this Principal.
       */
      private String username = null;
  
  
      /**
       * Construct a new MemoryRealmPrincipal instance.
       *
       * @param username The username for this Principal
       */
      public SlideRealmPrincipal(String username) {
  
  	this.username = username;
  
      }
  
  
      /**
       * Return the name of this Principal.
       */
      public String getName() {
  
  	return (username);
  
      }
  
  
  }
  
  
  
  
  
  1.1                  \
jakarta-slide/src/clients/tomcat/org/apache/catalina/resources/SlideResources.java  
  Index: SlideResources.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/src/clients/tomcat/org/apache/catalina/resources/SlideResources.java,v \
                1.1 2000/08/31 22:08:51 remm Exp $
   * $Revision: 1.1 $
   * $Date: 2000/08/31 22:08:51 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * [Additional notices, if required by prior licensing conditions]
   *
   */
  
  
  package org.apache.catalina.resources;
  
  
  import java.beans.PropertyChangeEvent;
  import java.beans.PropertyChangeListener;
  import java.beans.PropertyChangeSupport;
  import java.io.File;
  import java.io.FileInputStream;
  import java.io.InputStream;
  import java.io.IOException;
  import java.net.MalformedURLException;
  import java.net.URL;
  import java.util.Vector;
  import org.apache.catalina.Container;
  import org.apache.catalina.Context;
  import org.apache.catalina.Host;
  import org.apache.catalina.Lifecycle;
  import org.apache.catalina.LifecycleEvent;
  import org.apache.catalina.LifecycleException;
  import org.apache.catalina.LifecycleListener;
  import org.apache.catalina.Logger;
  import org.apache.catalina.Resources;
  import org.apache.catalina.util.LifecycleSupport;
  import org.apache.catalina.util.StringManager;
  
  
  /**
   * Slide implementation of the <b>Resources</b> interface.
   *
   * @author Remy Maucherat
   * @version $Revision: 1.1 $ $Date: 2000/08/31 22:08:51 $
   */
  public final class SlideResources extends ResourcesBase {
  
  
      // ----------------------------------------------------- Instance Variables
  
  
      /**
       * The descriptive information string for this implementation.
       */
      protected static final String info =
  	"org.apache.catalina.resources.SlideResources/1.0";
  
  
      // ------------------------------------------------------------- Properties
  
  
      /**
       * Set the document root for this component.
       *
       * @param docBase The new document root
       *
       * @exception IllegalArgumentException if this would create a
       *  malformed URL
       */
      public void setDocBase(String docBase) {
  
      }
  
  
      // --------------------------------------------------------- Public Methods
  
  
      /**
       * Return the real path for a given virtual path.  For example, the
       * virtual path <code>"/index.html"</code> has a real path of whatever
       * file on the server's filesystem would be served by a request for
       * <code>"/index.html"</code>.
       * <p>
       * The real path returned will be in a form appropriate to the computer
       * and operating system on which the servlet container is running,
       * including the proper path separators.  This method returns
       * <code>null</code> if the servlet container cannot translate the
       * virtual path to a real path for any reason (such as when the content
       * is being made available from a <code>.war</code> archive).
       *
       * @param path The virtual path to be translated
       */
      public String getRealPath(String path) {
  
          return null;
  
      }
  
  
      /**
       * Return a URL to the resource that is mapped to the specified path.
       * The path must begin with a "/" and is interpreted as relative to
       * the current context root.
       * <p>
       * This method allows the Container to make a resource available to
       * servlets from any source.  Resources can be located on a local or
       * remote file system, in a database, or in a <code>.war</code> file.
       * <p>
       * The servlet container must implement the URL handlers and
       * <code>URLConnection</code> objects that are necessary to access
       * the resource.
       * <p>
       * This method returns <code>null</code> if no resource is mapped to
       * the pathname.
       * <p>
       * Some Containers may allow writing to the URL returned by this method,
       * using the methods of the URL class.
       * <p>
       * The resource content is returned directly, so be aware that
       * requesting a <code>.jsp</code> page returns the JSP source code.
       * Use a <code>RequestDispatcher</code> instead to include results
       * of an execution.
       * <p>
       * This method has a different purpose than
       * <code>java.lang.Class.getResource()</code>, which looks up resources
       * based on a class loader.  This method does not use class loaders.
       *
       * @param path The path to the desired resource
       *
       * @exception MalformedURLException if the pathname is not given
       *  in the correct form
       */
      public URL getResource(String path) throws MalformedURLException {
  
          return null;
  
      }
  
  
      /**
       * Return the resource located at the named path as an
       * <code>InputStream</code> object.
       * <p>
       * The data in the <code>InputStream</code> can be of any type or length.
       * The path must be specified according to the rules given in
       * <code>getResource()</code>.  This method returns <code>null</code>
       * if no resource exists at the specified path.
       * <p>
       * Meta-information such as content length and content type that is
       * available via the <code>getResource()</code> method is lost when
       * using this method.
       * <p>
       * The servlet container must implement the URL handlers and
       * <code>URLConnection</code> objects that are necessary to access
       * the resource.
       * <p>
       * This method is different from
       * <code>java.lang.Class.getResourceAsStream()</code>, which uses a
       * class loader.  This method allows servlet containers to make a
       * resource available to a servlet from any location, without using
       * a class loader.
       *
       * @param path The path to the desired resource
       */
      public InputStream getResourceAsStream(String path) {
  
          return null;
  
      }
  
  
      /**
       * Returns true if a resource exists at the specified path, 
       * where <code>path</code> would be suitable for passing as an argument to
       * <code>getResource()</code> or <code>getResourceAsStream()</code>.  
       * If there is no resource at the specified location, return false.
       *
       * @param path The path to the desired resource
       */
      public boolean exists(String path) {
          
          return false;
          
      }
  
  
      /**
       * Return the last modified date/time of the resource at the specified
       * path, where <code>path</code> would be suitable for passing as an
       * argument to <code>getResource()</code> or
       * <code>getResourceAsStream()</code>.  If there is no resource at the
       * specified location, return -1.
       *
       * @param path The path to the desired resource
       */
      public long getResourceModified(String path) {
  
          return (-1);
  
      }
  
  
      /**
       * Return the creation date/time of the resource at the specified
       * path, where <code>path</code> would be suitable for passing as an
       * argument to <code>getResource()</code> or
       * <code>getResourceAsStream()</code>.  If there is no resource at the
       * specified location, return -1. If this time is unknown, the 
       * implementation should return getResourceModified(path).
       *
       * @param path The path to the desired resource
       */
      public long getResourceCreated(String path) {
          return 0;
      }
  
  
      /**
       * Return the content length of the resource at the specified
       * path, where <code>path</code> would be suitable for passing as an
       * argument to <code>getResource()</code> or
       * <code>getResourceAsStream()</code>.  If the content length
       * of the resource can't be determined, return -1. If no content is 
       * available (when for exemple, the resource is a collection), return 0.
       *
       * @param path The path to the desired resource
       */
      public long getResourceLength(String path) {
          return -1;
      }
  
  
      /**
       * Return true if the resource at the specified path is a collection. A
       * collection is a special type of resource which has no content but 
       * contains child resources.
       *
       * @param path The path to the desired resource
       */
      public boolean isCollection(String path) {
          return false;
      }
  
  
      /**
       * Return the children of the resource at the specified path, if any. This
       * will return null if the resource is not a collection, or if it is a 
       * collection but has no children.
       * 
       * @param path The path to the desired resource
       */
      public String[] getCollectionMembers(String path) {
          return null;
      }
  
  
      /**
       * Set the content of the resource at the specified path. If the resource
       * already exists, its previous content is overwritten. If the resource
       * doesn't exist, its immediate parent collection (according to the path 
       * given) exists, then its created, and the given content is associated
       * with it. Return false if either the resource is a collection, or
       * no parent collection exist.
       * 
       * @param path The path to the desired resource
       * @param content InputStream to the content to be set
       */
      public boolean setResource(String path, InputStream content) {
          return false;
      }
  
  
      /**
       * Create a collection at the specified path. A parent collection for this
       * collection must exist. Return false if a resource already exist at the
       * path specified, or if the parent collection doesn't exist.
       * 
       * @param path The path to the desired resource
       */
      public boolean createCollection(String path) {
          return false;
      }
  
  
      /**
       * Delete the specified resource. Non-empty collections cannot be deleted
       * before deleting all their member resources. Return false is deletion
       * fails because either the resource specified doesn't exist, or the 
       * resource is a non-empty collection.
       * 
       * @param path The path to the desired resource
       */
      public boolean deleteResource(String path) {
          return false;
      }
  
  
      // -------------------------------------------------------- Private Methods
  
  
  }
  
  
  
  1.5       +5 -5      jakarta-slide/src/conf/catalina/standalone/conf/server.xml
  
  Index: server.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/conf/catalina/standalone/conf/server.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- server.xml	2000/07/25 20:16:42	1.4
  +++ server.xml	2000/08/31 22:08:52	1.5
  @@ -6,7 +6,7 @@
   
     <!-- Define all the connectors to associate with the following container -->
   
  -  <Connector className="org.apache.tomcat.connector.http.HttpConnector"
  +  <Connector className="org.apache.catalina.connector.http.HttpConnector"
                port="80" minProcessors="5" maxProcessors="75"
   	     acceptCount="10" debug="0"/>
   
  @@ -15,22 +15,22 @@
     <Engine name="engine" defaultHost="localhost" debug="0">
   
       <!-- Global logger unless overridden at lower levels -->
  -    <Logger className="org.apache.tomcat.logger.FileLogger"
  +    <Logger className="org.apache.catalina.logger.FileLogger"
               prefix="tomcat_log." suffix=".txt"
   	    timestamp="true"/>
   
       <!-- Because this Realm is here, an instance will be shared globally -->
  -    <Realm className="org.apache.tomcat.realm.SlideRealm" />
  +    <Realm className="org.apache.catalina.realm.SlideRealm" />
   
       <Host name="localhost" debug="0" root="true" appBase="">
   
         <!-- Access log processes all requests for this virtual host -->
  -      <Valve className="org.apache.tomcat.valves.AccessLogValve"
  +      <Valve className="org.apache.catalina.valves.AccessLogValve"
                prefix="localhost_access_log." suffix=".txt"
                pattern="common"/>
   
         <!-- Logger shared by all Contexts related to this virtual host -->
  -      <Logger className="org.apache.tomcat.logger.FileLogger"
  +      <Logger className="org.apache.catalina.logger.FileLogger"
                 prefix="localhost_log." suffix=".txt"
   	      timestamp="true"/>
   
  
  
  
  1.4       +3 -3      jakarta-slide/src/conf/catalina/standalone/conf/web.xml
  
  Index: web.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/conf/catalina/standalone/conf/web.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- web.xml	2000/07/25 20:16:43	1.3
  +++ web.xml	2000/08/31 22:08:53	1.4
  @@ -7,7 +7,7 @@
   <web-app>
   
     <servlet>
  -    <servlet-name>default</servlet-name>
  +    <servlet-name>slide</servlet-name>
       <servlet-class>org.apache.slide.webdav.WebdavServlet</servlet-class>
       <load-on-startup>1</load-on-startup>
       <init-param>
  @@ -46,9 +46,9 @@
       <error-page>/error.html</error-page>
     </login-config>
   
  -  <!-- The mapping for the default servlet -->
  +  <!-- The mapping for the slide servlet -->
     <servlet-mapping>
  -    <servlet-name>default</servlet-name>
  +    <servlet-name>slide</servlet-name>
       <url-pattern>/</url-pattern>
     </servlet-mapping>
   
  
  
  
  1.3       +3 -3      jakarta-slide/src/conf/dist/dav.bat
  
  Index: dav.bat
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/conf/dist/dav.bat,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dav.bat	2000/05/16 23:07:33	1.2
  +++ dav.bat	2000/08/31 22:08:53	1.3
  @@ -19,15 +19,15 @@
   goto cleanup
   
   :doRun
  -java %JAVA_OPTS% -classpath %CP% -Dcatalina.home=%DAV_HOME% \
org.apache.tomcat.startup.Catalina start  +java %JAVA_OPTS% -classpath %CP% \
-Dcatalina.home=%DAV_HOME% org.apache.catalina.startup.Catalina start  goto cleanup
   
   :doStart
  -start java %JAVA_OPTS% -classpath %CP% -Dcatalina.home=%DAV_HOME% \
org.apache.tomcat.startup.Catalina start  +start java %JAVA_OPTS% -classpath %CP% \
-Dcatalina.home=%DAV_HOME% org.apache.catalina.startup.Catalina start  goto cleanup
   
   :doStop
  -java %JAVA_OPTS% -classpath %CP% -Dcatalina.home=%DAV_HOME% \
org.apache.tomcat.startup.Catalina stop  +java %JAVA_OPTS% -classpath %CP% \
-Dcatalina.home=%DAV_HOME% org.apache.catalina.startup.Catalina stop  goto cleanup
   
   :cleanup
  
  
  
  1.3       +4 -4      jakarta-slide/src/conf/dist/dav.sh
  
  Index: dav.sh
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/conf/dist/dav.sh,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dav.sh	2000/08/05 00:45:15	1.2
  +++ dav.sh	2000/08/31 22:08:53	1.3
  @@ -22,7 +22,7 @@
   #                 If not present, the directory "%DAV_HOME%\..\tomcat"
   #                 is assumed.
   #
  -# $Id: dav.sh,v 1.2 2000/08/05 00:45:15 remm Exp $
  +# $Id: dav.sh,v 1.3 2000/08/31 22:08:53 remm Exp $
   # -----------------------------------------------------------------------------
   
   
  @@ -77,15 +77,15 @@
   
   elif [ "$1" = "run" ] ; then
   
  -  java $CATALINA_OPTS -classpath $CP -Dcatalina.home=$DAV_HOME \
org.apache.tomcat.startup.Catalina "$@" start  +  java $CATALINA_OPTS -classpath $CP \
-Dcatalina.home=$DAV_HOME org.apache.catalina.startup.Catalina "$@" start  
   elif [ "$1" = "start" ] ; then
   
  -  java $CATALINA_OPTS -classpath $CP -Dcatalina.home=$DAV_HOME \
org.apache.tomcat.startup.Catalina "$@" start &  +  java $CATALINA_OPTS -classpath \
$CP -Dcatalina.home=$DAV_HOME org.apache.catalina.startup.Catalina "$@" start &  
   elif [ "$1" = "stop" ] ; then
   
  -  java $CATALINA_OPTS -classpath $CP -Dcatalina.home=$DAV_HOME \
org.apache.tomcat.startup.Catalina "$@" stop  +  java $CATALINA_OPTS -classpath $CP \
-Dcatalina.home=$DAV_HOME org.apache.catalina.startup.Catalina "$@" stop  
   else
   
  
  
  


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic