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>

Reply via email to