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() );