msmith 2002/10/22 21:43:07
Modified: src/webdav/server/org/apache/slide/webdav/method
PropFindMethod.java
Log:
Propfind for <propname> (names of all properties) was returning a propstat
inside a propstat, which is wrong.
This was crashing openoffice. See bug report at
http://www.openoffice.org/issues/show_bug.cgi?id=8285
for full details.
Revision Changes Path
1.85 +7 -12
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java
Index: PropFindMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -r1.84 -r1.85
--- PropFindMethod.java 23 Sep 2002 13:29:57 -0000 1.84
+++ PropFindMethod.java 23 Oct 2002 04:43:07 -0000 1.85
@@ -568,7 +568,7 @@
case FIND_BY_PROPERTY :
try {
PropertyRetriever propertyRetriever = new
PropertyRetrieverImpl(token, slideToken);
- List propstatList=
propertyRetriever.getPropertiesOfObject(requestedProperties, revisionDescriptors,
revisionDescriptor, req.getContextPath(), serverURL, allpropIncludesDeltav);
+ List propstatList=
propertyRetriever.getPropertiesOfObject(requestedProperties, revisionDescriptors,
revisionDescriptor, req, getConfig(), serverURL, allpropIncludesDeltav);
Iterator iterator = propstatList.iterator();
while (iterator.hasNext()) {
responseElement.addContent((Element)iterator.next());
@@ -588,10 +588,8 @@
+ " " + WebdavStatus.getStatusText
(WebdavStatus.SC_OK));
- Element propstatElement = new Element(E_PROPSTAT,
NamespaceCache.DEFAULT_NAMESPACE);
- responseElement.addContent(propstatElement);
Element propElement = new Element(E_PROPSTAT,
NamespaceCache.DEFAULT_NAMESPACE);
- propstatElement.addContent(propElement);
+ responseElement.addContent(propElement);
ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(token, object.getUri(), revisionDescriptor);
String[] filter = null;
@@ -637,11 +635,8 @@
Element response = new Element(E_RESPONSE,
NamespaceCache.DEFAULT_NAMESPACE);
Element href = new Element(E_HREF, NamespaceCache.DEFAULT_NAMESPACE);
- href.setText(HTTP_PROTOCOL +
- req.getServerName()+ ":" +
- req.getServerPort() +
- req.getContextPath() +
- resourcePath);
+ String serverURL = HTTP_PROTOCOL + req.getServerName()+ ":" +
req.getServerPort();
+ href.setText(serverURL + WebdavUtils.getAbsolutePath(resourcePath, req,
getConfig()));
response.addContent(href);
Element propStat = new Element(E_PROPSTAT,
NamespaceCache.DEFAULT_NAMESPACE);
response.addContent(propStat);
--
To unsubscribe, e-mail: <mailto:slide-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:slide-dev-help@;jakarta.apache.org>