juergen     2002/10/30 00:22:35

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        PropFindMethod.java
  Log:
  Fixed find prop names:
  - live properties were missing.
  - NullPointerException when security was enabled.
  (ralf)
  
  Revision  Changes    Path
  1.87      +19 -16    
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.86
  retrieving revision 1.87
  diff -u -r1.86 -r1.87
  --- PropFindMethod.java       23 Oct 2002 05:35:09 -0000      1.86
  +++ PropFindMethod.java       30 Oct 2002 08:22:34 -0000      1.87
  @@ -588,31 +588,34 @@
                                           + " " + WebdavStatus.getStatusText
                                           (WebdavStatus.SC_OK));
   
  -                Element propElement = new Element(E_PROPSTAT, 
NamespaceCache.DEFAULT_NAMESPACE);
  -                responseElement.addContent(propElement);
  +                Element propstatElement = new Element(E_PROPSTAT, 
NamespaceCache.DEFAULT_NAMESPACE);
  +                responseElement.addContent(propstatElement);
   
  +                // add the live properties
                   ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(token, object.getUri(), revisionDescriptor);
  -                String[] filter = null;
  +                String[] excludedFeatures = new String[0];
                   if ( ! Configuration.useIntegratedSecurity() ) {
  -                    filter = new String[] {F_ACCESS_CONTROL};
  +                    excludedFeatures = new String[] {F_ACCESS_CONTROL};
  +                }
  +                Set propertySet = resourceKind.getSupportedLiveProperties(null, 
excludedFeatures);
  +                Iterator iterator = propertySet.iterator();
  +                while (iterator.hasNext()) {
  +                    Element propertyElement = new 
Element(iterator.next().toString(), NamespaceCache.DEFAULT_NAMESPACE);
  +                    propstatElement.addContent(propertyElement);
                   }
  -                Set propertySet = resourceKind.getSupportedLiveProperties(null, 
filter);
   
  -                // Then, add this resource's custom properties
  +                // add this resource's properties
                   Enumeration propertyList = revisionDescriptor.enumerateProperties();
                   while (propertyList.hasMoreElements()) {
                       NodeProperty currentProperty =
                           (NodeProperty) propertyList.nextElement();
  -                    if (currentProperty != null) {
  -                        Element propertyElement = new Element(
  -                                currentProperty.getName(),
  -                                currentProperty.getNamespace());
  -                        propElement.addContent(propertyElement);
  -                    }
  +                    Element propertyElement = new Element(currentProperty.getName(),
  +                                                          
NamespaceCache.getNamespace(currentProperty.getNamespace()));
  +                    propstatElement.addContent(propertyElement);
                   }
   
                   Element statusElement = new Element(E_STATUS, 
NamespaceCache.DEFAULT_NAMESPACE);
  -                propElement.addContent(statusElement);
  +                propstatElement.addContent(statusElement);
                   break;
           }
   
  
  
  

--
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