wam 2003/12/02 06:07:02
Modified: src/webdav/server/org/apache/slide/webdav/method/report
AbstractReport.java PrincipalMatchReport.java
PrincipalPropertySearchReport.java
src/webdav/server/org/apache/slide/webdav/util
PropertyHelper.java PropertyRetrieverImpl.java
WebdavUtils.java
src/webdav/server/org/apache/slide/webdav/method
SearchMethod.java UpdateMethod.java
Log:
get rid of calls to deprecated method PropertyHelper.getAbsoluteUrl,
use WebdavUtils.getAbsolutePath () instead.
Revision Changes Path
1.2 +7 -7
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/AbstractReport.java
Index: AbstractReport.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/AbstractReport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractReport.java 1 Dec 2003 12:10:50 -0000 1.1
+++ AbstractReport.java 2 Dec 2003 14:07:02 -0000 1.2
@@ -172,7 +172,9 @@
Element responseElm = new Element(E_RESPONSE, DNSP);
Element hrefElm = new Element(E_HREF, DNSP);
- hrefElm.setText(PropertyHelper.getAbsoluteURL(serverUrl, contextPath,
resourcePath));
+
+ String absUri = WebdavUtils.getAbsolutePath (resourcePath, contextPath,
serverUrl, config);
+ hrefElm.setText (absUri);
responseElm.addContent(hrefElm);
try {
@@ -198,9 +200,7 @@
Element responseElm = new Element(E_RESPONSE, DNSP);
Element hrefElm = new Element(E_HREF, DNSP);
- hrefElm.setText(PropertyHelper.getAbsoluteURL(serverUrl,
- contextPath,
- resourcePath));
+ hrefElm.setText(WebdavUtils.getAbsolutePath (resourcePath, contextPath,
serverUrl, config));
responseElm.addContent(hrefElm);
Element propStatElm = new Element(E_PROPSTAT, DNSP);
responseElm.addContent(propStatElm);
1.2 +15 -10
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/PrincipalMatchReport.java
Index: PrincipalMatchReport.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/PrincipalMatchReport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PrincipalMatchReport.java 1 Dec 2003 12:10:50 -0000 1.1
+++ PrincipalMatchReport.java 2 Dec 2003 14:07:02 -0000 1.2
@@ -84,6 +84,7 @@
import org.apache.slide.webdav.util.PreconditionViolationException;
import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
+import org.apache.slide.webdav.util.WebdavUtils;
import org.apache.util.WebdavStatus;
import org.jdom.Element;
import org.jdom.Namespace;
@@ -192,12 +193,16 @@
SubjectNode currentUserNode =
(SubjectNode)security.getPrincipal(slideToken);
Element queryElm = getQueryElement(resourcePath, currentUserNode);
new XMLOutputter(" ", true).output(queryElm, System.out);
+
+ String absUri = WebdavUtils.getAbsolutePath (resourcePath, contextPath,
serverUrl, config);
+
SearchQuery query =
search.createSearchQuery(queryElm.getNamespaceURI(),
queryElm,
slideToken,
config.getDepthLimit(),
- PropertyHelper.getAbsoluteURL(serverUrl,
contextPath, resourcePath));
+ absUri);
+
Iterator result = query.execute().iterator();
while (result.hasNext()) {
RequestedResource r = (RequestedResource)result.next();
@@ -240,9 +245,9 @@
Element scopeElm = new Element(Literals.SCOPE, DNSP);
fromElm.addContent(scopeElm);
Element hrefElm = new Element(E_HREF, DNSP);
- hrefElm.setText(PropertyHelper.getAbsoluteURL(serverUrl,
- contextPath,
- resourcePath));
+ hrefElm.setText(WebdavUtils.getAbsolutePath (resourcePath, contextPath,
+ serverUrl, config));
+
scopeElm.addContent(hrefElm);
// where
Element whereElm = new Element(Literals.WHERE, DNSP);
@@ -279,9 +284,9 @@
Element scopeElm = new Element(Literals.SCOPE, DNSP);
fromElm.addContent(scopeElm);
Element hrefElm = new Element(E_HREF, DNSP);
- hrefElm.setText(PropertyHelper.getAbsoluteURL(serverUrl,
- contextPath,
- resourcePath));
+ hrefElm.setText(WebdavUtils.getAbsolutePath (resourcePath, contextPath,
+ serverUrl, config));
+
scopeElm.addContent(hrefElm);
// where
Element whereElm = new Element(Literals.WHERE, DNSP);
1.2 +12 -6
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/PrincipalPropertySearchReport.java
Index: PrincipalPropertySearchReport.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/PrincipalPropertySearchReport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PrincipalPropertySearchReport.java 1 Dec 2003 12:10:50 -0000 1.1
+++ PrincipalPropertySearchReport.java 2 Dec 2003 14:07:02 -0000 1.2
@@ -85,6 +85,7 @@
import org.apache.slide.webdav.util.PreconditionViolationException;
import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
+import org.apache.slide.webdav.util.WebdavUtils;
import org.apache.util.WebdavStatus;
import org.jdom.Element;
import org.jdom.Namespace;
@@ -202,12 +203,17 @@
SubjectNode currentUserNode =
(SubjectNode)security.getPrincipal(slideToken);
Element queryElm = getQueryElement(resourcePath, currentUserNode);
new XMLOutputter(" ", true).output(queryElm, System.out);
+
+ String absUri = WebdavUtils.getAbsolutePath (resourcePath, contextPath,
+ serverUrl, config);
+
SearchQuery query =
search.createSearchQuery(queryElm.getNamespaceURI(),
queryElm,
slideToken,
config.getDepthLimit(),
- PropertyHelper.getAbsoluteURL(serverUrl,
contextPath, resourcePath));
+ absUri);
+
Iterator result = query.execute().iterator();
while (result.hasNext()) {
RequestedResource r = (RequestedResource)result.next();
@@ -237,9 +243,9 @@
Element scopeElm = new Element(Literals.SCOPE, DNSP);
fromElm.addContent(scopeElm);
Element hrefElm = new Element(E_HREF, DNSP);
- hrefElm.setText(PropertyHelper.getAbsoluteURL(serverUrl,
- contextPath,
- resourcePath));
+ hrefElm.setText(WebdavUtils.getAbsolutePath (resourcePath, contextPath,
+ serverUrl, config));
+
scopeElm.addContent(hrefElm);
// where
if (conditionList.size() > 0) {
1.59 +64 -20
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/PropertyHelper.java
Index: PropertyHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/PropertyHelper.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- PropertyHelper.java 1 Dec 2003 12:10:50 -0000 1.58
+++ PropertyHelper.java 2 Dec 2003 14:07:02 -0000 1.59
@@ -193,10 +193,10 @@
* Factory method.
* @deprecated
*/
- public static PropertyHelper
- getPropertyHelper( SlideToken sToken, NamespaceAccessToken nsaToken) {
- return new PropertyHelper( sToken, nsaToken, null );
- }
+// public static PropertyHelper
+// getPropertyHelper( SlideToken sToken, NamespaceAccessToken nsaToken) {
+// return new PropertyHelper( sToken, nsaToken, null );
+// }
/**
* Factory method.
@@ -705,7 +705,11 @@
buffer.append("/");
}
buffer.append(successorRevisionNumber.toString());
- hrefElement.setText(getAbsoluteURL(serverURL, contextPath,
buffer.toString()));
+
+ hrefElement.setText(WebdavUtils.getAbsolutePath (
+ buffer.toString(), contextPath,
+ serverURL, sConf));
+
xmlValue.add(hrefElement);
}
}
@@ -741,7 +745,11 @@
ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(nsaToken, revisionDescriptors,
revisionDescriptor);
if (resourceKind instanceof Version) {
Element element = new Element(E_HREF, DNSP);
- element.setText(getAbsoluteURL(serverURL, contextPath,
revisionDescriptors.getUri()));
+
+ element.setText(WebdavUtils.getAbsolutePath (
+ revisionDescriptors.getUri(), contextPath,
+ serverURL, sConf));
+
xmlValue.add(element);
}
else if (resourceKind instanceof CheckedInVersionControlled) {
@@ -749,7 +757,11 @@
String checkedInHref =
revisionDescriptor.getProperty(P_CHECKED_IN).getValue().toString();
String checkedInUri = ((Element)new
XMLValue(checkedInHref).iterator().next()).getText();
UriHandler uriHandler = UriHandler.getUriHandler(checkedInUri);
- element.setText(getAbsoluteURL(serverURL, contextPath,
uriHandler.getAssociatedHistoryUri()));
+
+ element.setText (WebdavUtils.getAbsolutePath (
+ uriHandler.getAssociatedHistoryUri(),
+ contextPath, serverURL, sConf));
+
xmlValue.add(element);
}
else if (resourceKind instanceof CheckedOutVersionControlled) {
@@ -757,7 +769,11 @@
String checkedOutHref =
revisionDescriptor.getProperty(P_CHECKED_OUT).getValue().toString();
String checkedOutUri = ((Element)new
XMLValue(checkedOutHref).iterator().next()).getText();
UriHandler uriHandler = UriHandler.getUriHandler(checkedOutUri);
- element.setText(getAbsoluteURL(serverURL, contextPath,
uriHandler.getAssociatedHistoryUri()));
+
+ element.setText(WebdavUtils.getAbsolutePath (
+ uriHandler.getAssociatedHistoryUri(),
+ contextPath, serverURL, sConf));
+
xmlValue.add(element);
}
@@ -798,7 +814,11 @@
buffer.append("/");
}
buffer.append(revisionDescriptors.getInitialRevision().toString());
- element.setText(getAbsoluteURL(serverURL, contextPath,
buffer.toString()));
+
+ element.setText(WebdavUtils.getAbsolutePath (
+ buffer.toString(),
+ contextPath, serverURL, sConf));
+
xmlValue.add(element);
}
@@ -1030,7 +1050,11 @@
while (queryResultIterator.hasNext()) {
requestedResource = (RequestedResource)queryResultIterator.next();
href = new Element(E_HREF, DNSP);
- href.setText(getAbsoluteURL(serverURL, contextPath,
requestedResource.getUri()));
+
+ href.setText (WebdavUtils.getAbsolutePath (
+ requestedResource.getUri(), contextPath,
+ serverURL, sConf));
+
xmlValue.add(href);
}
}
@@ -1273,7 +1297,12 @@
while (queryResultIterator.hasNext()) {
requestedResource = (RequestedResource)queryResultIterator.next();
hrefElement = new Element(E_HREF, DNSP);
- hrefElement.setText(getAbsoluteURL(serverURL, contextPath,
requestedResource.getUri()));
+
+
+ hrefElement.setText (WebdavUtils.getAbsolutePath (
+ requestedResource.getUri(), contextPath,
+ serverURL, sConf));
+
xmlValue.add(hrefElement);
}
}
@@ -1477,7 +1506,10 @@
activelock.addContent(principalUrl);
Element puhref = new Element(E_HREF, DNSP);
principalUrl.addContent(puhref);
- puhref.setText(getAbsoluteURL(serverURL, contextPath,
objectLockToken.getSubjectUri()));
+
+ puhref.setText(WebdavUtils.getAbsolutePath
+ (objectLockToken.getSubjectUri(),
+ contextPath, serverURL, sConf));
}
// <<<<<<<<<< end principal-URL <<<<<<<<<<<<<<
}
@@ -1871,7 +1903,9 @@
}
else {
Element href = new Element(E_HREF, DNSP);
- href.setText(getAbsoluteURL(null, contextPath, principalName));
+
+ href.setText(WebdavUtils.getAbsolutePath (principalName, contextPath,
+ null, sConf));
principal.addContent(href);
}
@@ -1904,12 +1938,18 @@
public XMLValue computePrincipalCollectionSet(NodeRevisionDescriptors
revisionDescriptors, NodeRevisionDescriptor revisionDescriptor, String contextPath,
String serverURL) throws ObjectLockedException, RevisionDescriptorNotFoundException,
ServiceAccessException, LinkedObjectNotFoundException, AccessDeniedException,
ObjectNotFoundException, LockTokenNotFoundException, JDOMException {
XMLValue xmlValue = new XMLValue();
NamespaceConfig namespaceConfig = nsaToken.getNamespaceConfig();
- xmlValue.addHref(getAbsoluteURL(null, contextPath,
namespaceConfig.getUsersPath()));
+
+ xmlValue.addHref(WebdavUtils.getAbsolutePath
(namespaceConfig.getUsersPath(),
+ contextPath, null, sConf));
+
if (namespaceConfig.getGroupsPath() != null) {
- xmlValue.addHref(getAbsoluteURL(null, contextPath,
namespaceConfig.getGroupsPath()));
+
+ xmlValue.addHref(WebdavUtils.getAbsolutePath
(namespaceConfig.getGroupsPath(),
+ contextPath, null,
sConf));
}
if (namespaceConfig.getRolesPath() != null) {
- xmlValue.addHref(getAbsoluteURL(null, contextPath,
namespaceConfig.getRolesPath()));
+ xmlValue.addHref(WebdavUtils.getAbsolutePath
(namespaceConfig.getRolesPath(),
+ contextPath, null,
sConf));
}
return xmlValue;
}
@@ -1918,7 +1958,11 @@
public XMLValue computePrivilegeCollectionSet(NodeRevisionDescriptors
revisionDescriptors, NodeRevisionDescriptor revisionDescriptor, String contextPath,
String serverURL) throws ObjectLockedException, RevisionDescriptorNotFoundException,
ServiceAccessException, LinkedObjectNotFoundException, AccessDeniedException,
ObjectNotFoundException, LockTokenNotFoundException, JDOMException {
XMLValue xmlValue = new XMLValue();
NamespaceConfig namespaceConfig = nsaToken.getNamespaceConfig();
- xmlValue.addHref(getAbsoluteURL(null, contextPath,
namespaceConfig.getActionsPath()));
+
+ String absUri = WebdavUtils.getAbsolutePath
(namespaceConfig.getActionsPath(),
+ contextPath, null, sConf);
+
+ xmlValue.addHref(absUri);
return xmlValue;
}
1.31 +35 -22
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/PropertyRetrieverImpl.java
Index: PropertyRetrieverImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/PropertyRetrieverImpl.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- PropertyRetrieverImpl.java 1 Dec 2003 12:10:50 -0000 1.30
+++ PropertyRetrieverImpl.java 2 Dec 2003 14:07:02 -0000 1.31
@@ -143,7 +143,10 @@
*/
protected PropertyHelper propertyHelper = null;
-
+ /**
+ * the webdavservlet configuration
+ */
+ protected WebdavServletConfig config = null;
/**
* Creates a PropertyRetriever from the given parameters.
*
@@ -157,20 +160,20 @@
this.content = token.getContentHelper();
this.security = token.getSecurityHelper();
this.lock = token.getLockHelper();
-
+ this.config = sConf;
propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token, sConf);
}
/** deprecated */
- public PropertyRetrieverImpl(NamespaceAccessToken token, SlideToken slideToken)
{
- super(slideToken, token);
- this.structure = token.getStructureHelper();
- this.content = token.getContentHelper();
- this.security = token.getSecurityHelper();
- this.lock = token.getLockHelper();
-
- propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token, null);
- }
+// public PropertyRetrieverImpl(NamespaceAccessToken token, SlideToken
slideToken) {
+// super(slideToken, token);
+// this.structure = token.getStructureHelper();
+// this.content = token.getContentHelper();
+// this.security = token.getSecurityHelper();
+// this.lock = token.getLockHelper();
+//
+// propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token,
null);
+// }
/**
* Returns the PropertyHelper used to access the (computed) properties.
@@ -634,7 +637,7 @@
try {
XMLValue xmlValue = new XMLValue(propertyValue.toString(),
valueDefaultNamespace);
if (AbstractResourceKind.isLiveProperty(propertyName)) {
- convertHrefValueToAbsoluteURL(xmlValue, contextPath,
serverURL);
+ convertHrefValueToAbsoluteURL (xmlValue, contextPath,
serverURL, config);
}
Iterator iterator = xmlValue.iterator();
while (iterator.hasNext()) {
@@ -678,8 +681,11 @@
* /<code>uri</code> gives the absolute URL of
the resource.
* @param serverURL the URL of the server (e.g.
<code>http://www.abc.com</code>).
*/
- protected static void convertHrefValueToAbsoluteURL(XMLValue xmlValue, String
contextPath, String serverURL) {
-
+ protected static void convertHrefValueToAbsoluteURL (XMLValue xmlValue,
+ String contextPath,
+ String serverURL,
+ WebdavServletConfig config)
+ {
if (xmlValue != null) {
Iterator iterator = xmlValue.iterator();
Element element = null;
@@ -687,23 +693,30 @@
Object o = iterator.next();
if( o instanceof Element ) {
element = (Element)o;
- convertHrefValueToAbsoluteURL(element, serverURL, contextPath);
+ convertHrefValueToAbsoluteURL(element, serverURL, contextPath,
config);
}
}
}
}
- private static void convertHrefValueToAbsoluteURL(Element element, String
serverURL, String contextPath) {
+ private static void convertHrefValueToAbsoluteURL (Element element,
+ String serverURL,
+ String contextPath,
+ WebdavServletConfig config)
+ {
if (element.getChildren().size() > 0) {
Iterator i = element.getChildren().iterator();
while (i.hasNext()) {
Element child = (Element)i.next();
- convertHrefValueToAbsoluteURL(child, serverURL, contextPath);
+ convertHrefValueToAbsoluteURL(child, serverURL, contextPath,
config);
}
}
if ( E_HREF.equals(element.getName()) && (element.getText() != null) ) {
if ( !PropertyHelper.isAbsoluteURL(serverURL, contextPath,
element.getText()) ) {
- element.setText(PropertyHelper.getAbsoluteURL(serverURL,
contextPath, element.getText()));
+
+ element.setText(WebdavUtils.getAbsolutePath (element.getText(),
+ contextPath,
+ serverURL, config));
}
}
}
1.13 +26 -12
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/WebdavUtils.java
Index: WebdavUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/WebdavUtils.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- WebdavUtils.java 1 Dec 2003 12:10:50 -0000 1.12
+++ WebdavUtils.java 2 Dec 2003 14:07:02 -0000 1.13
@@ -283,8 +283,28 @@
* @return the node's URI as absolute path
**/
public static String getAbsolutePath
- (String uri, HttpServletRequest req, WebdavServletConfig config) {
+ (String uri, HttpServletRequest req, WebdavServletConfig config)
+ {
+ return getAbsolutePath (uri, req.getContextPath(), req.getServletPath(),
config);
+ }
+ /**
+ * Maps the URI of a node in the Slide namespace to an external URI as seen
+ * by clients. This involves adding the context and servlet path to the
+ * URI.
+ *
+ * @param uri the node's URI
+ * @param contextPath contextPath
+ * @param servletPath servletPath
+ * @param config configuration of the WebdavServlet
+ *
+ * @return a String
+ *
+ */
+ public static String getAbsolutePath (String uri, String contextPath,
+ String servletPath,
+ WebdavServletConfig config)
+ {
String result = uri;
int scopeLength = config.getScope().length();
@@ -292,9 +312,8 @@
result = uri.substring(scopeLength);
}
- String contextPath = req.getContextPath();
if (!config.isDefaultServlet()) {
- contextPath += req.getServletPath();
+ contextPath += servletPath;
}
result = contextPath + result;
@@ -302,7 +321,6 @@
}
-
/**
* Maps the request URI of a HTTP request to a URI in the Slide namespace
* (this does not necessarily mean that a node exists at that URI).
@@ -389,10 +407,6 @@
} catch (Exception e) { e.printStackTrace(); }
return result;
}
-
-
-
-
/**
* Returns a SlideToken using the authentication information of an HTTP
1.34 +7 -6
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/SearchMethod.java
Index: SearchMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/SearchMethod.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- SearchMethod.java 5 Nov 2003 14:24:34 -0000 1.33
+++ SearchMethod.java 2 Dec 2003 14:07:02 -0000 1.34
@@ -457,10 +457,11 @@
RequestedResource resource = (RequestedResource)it.next();
String internalUri = resource.getUri();
-
//String absUri = resource.getExternalHref();
- String absUri = PropertyHelper.getAbsoluteURL
- (serverURL, req.getContextPath(), internalUri);
+// absUri = PropertyHelper.getAbsoluteURL
+// (serverURL, req.getContextPath(), internalUri);
+//
+ String absUri = WebdavUtils.getAbsolutePath (internalUri, req,
getConfig());
hrefElement.addContent(absUri);
1.22 +8 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UpdateMethod.java
Index: UpdateMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UpdateMethod.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- UpdateMethod.java 5 Nov 2003 14:24:35 -0000 1.21
+++ UpdateMethod.java 2 Dec 2003 14:07:02 -0000 1.22
@@ -91,6 +91,7 @@
import org.apache.slide.webdav.util.UriHandler;
import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
+import org.apache.slide.webdav.util.WebdavUtils;
import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
import org.apache.slide.webdav.util.resourcekind.CheckedInVersionControlled;
import org.apache.slide.webdav.util.resourcekind.ResourceKind;
@@ -354,8 +355,11 @@
Element responseElement = new Element(E_RESPONSE, DNSP);
multistatusElement.addContent(responseElement);
Element hrefElement = new Element(E_HREF, DNSP);
- hrefElement.setText(PropertyHelper.getAbsoluteURL(serverUri,
req.getContextPath(), resourcePath));
+
+ String absUri = WebdavUtils.getAbsolutePath (resourcePath, req,
getConfig());
+ hrefElement.setText(absUri);
responseElement.addContent(hrefElement);
+
Element statusElement = new Element(E_STATUS, DNSP);
responseElement.addContent(statusElement);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]