You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by pn...@apache.org on 2003/08/18 08:56:42 UTC

cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method DefaultMethodFactory.java OptionsMethod.java

pnever      2003/08/17 23:56:42

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        DefaultMethodFactory.java OptionsMethod.java
  Log:
  Prepare for binding
  
  Revision  Changes    Path
  1.5       +42 -28    jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DefaultMethodFactory.java
  
  Index: DefaultMethodFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DefaultMethodFactory.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultMethodFactory.java	23 May 2003 11:29:37 -0000	1.4
  +++ DefaultMethodFactory.java	18 Aug 2003 06:56:42 -0000	1.5
  @@ -77,33 +77,33 @@
    */
   public class DefaultMethodFactory
       extends WebdavMethodFactory {
  -
  -
  +    
  +    
       // ----------------------------------------------------- Instance Variables
  -
  -
  +    
  +    
       /**
        * Configuration of the WebDAV servlet.
        */
       private WebdavServletConfig config;
  -
  -
  +    
  +    
       /**
        * The token for accessing the namespace.
        */
       private NamespaceAccessToken token;
  -
  -
  +    
  +    
       // ------------------------------------- WebdavMethodFactory Implementation
  -
  -
  +    
  +    
       // inherit javadocs
       public WebdavMethod createMethod(String name) {
  -
  +        
           if ((config == null) || (token == null)) {
               throw new IllegalStateException();
           }
  -
  +        
           if (name.equals("GET")) {
               return new GetMethod(token, config);
           } else if (name.equals("PROPFIND")) {
  @@ -124,20 +124,12 @@
               return new PostMethod(token, config);
           } else if (name.equals("COPY")) {
               return new CopyMethod(token, config);
  -        } else if (name.equals("BIND")) {
  -            return new BindMethod(token, config);
  -        } else if (name.equals("UNBIND")) {
  -            return new UnbindMethod(token, config);
  -        } else if (name.equals("REBIND")) {
  -            return new RebindMethod(token, config);
           } else if (name.equals("MOVE")) {
               return new MoveMethod(token, config);
           } else if (name.equals("DELETE")) {
               return new DeleteMethod(token, config);
           } else if (name.equals("PROPPATCH")) {
               return new PropPatchMethod(token, config);
  -        } else if (name.equals("SEARCH")) {
  -            return new SearchMethod(token, config);
           } else if (name.equals("REPORT")) {
               return new ReportMethod(token, config);
           } else {
  @@ -146,6 +138,11 @@
                       return new AclMethod(token, config);
                   }
               }
  +            if (Configuration.useSearch()) {
  +                if (name.equals("SEARCH")) {
  +                    return new SearchMethod(token, config);
  +                }
  +            }
               if (Configuration.useVersionControl()) {
                   if (name.equals("VERSION-CONTROL")) {
                       return new VersionControlMethod(token, config);
  @@ -163,19 +160,36 @@
                       return new UpdateMethod(token, config);
                   }
               }
  +            if (Configuration.useGlobalBinding()) {
  +                if (name.equals("BIND")) {
  +                    return new BindMethod(token, config);
  +                } else if (name.equals("UNBIND")) {
  +                    return new UnbindMethod(token, config);
  +                } else if (name.equals("REBIND")) {
  +                    return new RebindMethod(token, config);
  +                }
  +            }
           }
  -
  +        
           return null;
       }
  -
  -
  +    
  +    /**
  +     * Returns the value of a boolean init parameter of the servlet.
  +     * Default value: true.
  +     */
  +    protected boolean getBooleanInitParameter( String name ) {
  +        return !"false".equalsIgnoreCase( config.getInitParameter(name) );
  +    }
  +    
  +    
       // inherit javadocs
       protected void setConfig(WebdavServletConfig config) {
  -
  +        
           this.config = config;
           token = (NamespaceAccessToken)config.getServletContext().getAttribute
               (WebdavServlet.ATTRIBUTE_NAME);
       }
  -
  +    
   }
   
  
  
  
  1.34      +25 -27    jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/OptionsMethod.java
  
  Index: OptionsMethod.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/OptionsMethod.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- OptionsMethod.java	21 May 2003 15:49:46 -0000	1.33
  +++ OptionsMethod.java	18 Aug 2003 06:56:42 -0000	1.34
  @@ -63,36 +63,31 @@
   
   package org.apache.slide.webdav.method;
   
  -import java.security.Principal;
  -import java.io.*;
  -import java.util.*;
  -import javax.servlet.*;
  -import javax.servlet.http.*;
  -import org.apache.util.WebdavStatus;
  -import org.apache.slide.authenticate.CredentialsToken;
  -import org.apache.slide.common.*;
  -import org.apache.slide.security.AccessDeniedException;
  -import org.apache.slide.webdav.*;
  -import org.apache.slide.structure.*;
  -import org.apache.slide.lock.*;
  -import org.apache.slide.search.*;
  -import org.apache.slide.content.*;
  +import java.io.IOException;
  +import java.util.Iterator;
  +import org.apache.slide.common.NamespaceAccessToken;
  +import org.apache.slide.common.SlideException;
   import org.apache.slide.content.NodeProperty.NamespaceCache;
  +import org.apache.slide.content.NodeRevisionDescriptor;
  +import org.apache.slide.content.NodeRevisionDescriptors;
  +import org.apache.slide.search.SearchLanguage;
   import org.apache.slide.util.Configuration;
  -import org.apache.slide.webdav.util.UriHandler;
  +import org.apache.slide.webdav.WebdavException;
  +import org.apache.slide.webdav.WebdavServletConfig;
  +import org.apache.slide.webdav.util.AclConstants;
  +import org.apache.slide.webdav.util.BindConstants;
  +import org.apache.slide.webdav.util.DeltavConstants;
   import org.apache.slide.webdav.util.HistoryPathHandler;
  -import org.apache.slide.webdav.util.WorkspacePathHandler;
  +import org.apache.slide.webdav.util.UriHandler;
   import org.apache.slide.webdav.util.WebdavUtils;
  -import org.apache.slide.webdav.util.DeltavConstants;
  -import org.apache.slide.webdav.util.AclConstants;
  -import org.apache.slide.webdav.util.resourcekind.ResourceKind;
  +import org.apache.slide.webdav.util.WorkspacePathHandler;
   import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
  -
  -import org.jdom.Element;
  +import org.apache.slide.webdav.util.resourcekind.ResourceKind;
  +import org.apache.util.WebdavStatus;
   import org.jdom.Document;
  -import org.jdom.Namespace;
  +import org.jdom.Element;
   import org.jdom.JDOMException;
  -import org.jdom.input.SAXBuilder;
  +import org.jdom.Namespace;
   import org.jdom.output.XMLOutputter;
   
   
  @@ -102,7 +97,7 @@
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
    */
   public class OptionsMethod extends AbstractWebdavMethod
  -    implements DeltavConstants, AclConstants {
  +    implements DeltavConstants, AclConstants, BindConstants {
       
       // An XML outputter
       private XMLOutputter xmlOut = new XMLOutputter(XML_REPONSE_INDENT, true, "UTF-8" );
  @@ -178,6 +173,9 @@
           
           if( Configuration.useIntegratedSecurity() )
               davHeader.append( ", " ).append( F_ACCESS_CONTROL );
  +        
  +        if( Configuration.useGlobalBinding() )
  +            davHeader.append( ", " ).append( F_BINDING );
           
           resp.addHeader( "DAV", davHeader.toString() );