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 re...@apache.org on 2001/01/22 19:47:18 UTC

cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method PropFindMethod.java PropPatchMethod.java

remm        01/01/22 10:47:18

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        PropFindMethod.java PropPatchMethod.java
  Log:
  - Fix for namespace prefix handling in PROPPATCH and PROPFIND.
    Thanks to Jintao Pan <ji...@labbook.com> for the fix for the
    problem in PROPPATCH, and for the code sample to reproduce the bug.
  
  Revision  Changes    Path
  1.3       +8 -5      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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PropFindMethod.java	2000/11/25 01:36:11	1.2
  +++ PropFindMethod.java	2001/01/22 18:47:17	1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v 1.2 2000/11/25 01:36:11 remm Exp $
  - * $Revision: 1.2 $
  - * $Date: 2000/11/25 01:36:11 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v 1.3 2001/01/22 18:47:17 remm Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/01/22 18:47:17 $
    *
    * ====================================================================
    *
  @@ -536,6 +536,7 @@
                       (NodeProperty) propertyList.nextElement();
                   if (currentProperty != null) {
                       String namespace = currentProperty.getNamespace();
  +                    generateNamespaceAbbreviation(namespace);
                       String namespaceAbbrev = 
                           (String) namespaceAbbrevs.get(namespace);
                       Object currentPropertyValue = currentProperty.getValue();
  @@ -774,7 +775,7 @@
           int colon = nodeName.indexOf(':');
           if (colon != -1) {
               property.name = nodeName.substring(colon + 1);
  -            property.namespaceAbbrev = nodeName.substring(0, colon - 1);
  +            property.namespaceAbbrev = nodeName.substring(0, colon);
               String namespace = 
                   (String) namespaces.get(property.namespaceAbbrev);
               if ((namespace) != null) {
  @@ -799,15 +800,17 @@
        */
       private void generateNamespaceAbbreviation(String namespaceName) {
           
  -        if (namespaces.get(namespaceName) != null)
  +        if (namespaceAbbrevs.get(namespaceName) != null)
               return;
           
           String namespaceAbbrev = "ns" + namespaceNumber++;
  +        // Make sure it doesn't already exist
           while (namespaces.get(namespaceAbbrev) != null) {
               namespaceAbbrev = "ns" + namespaceNumber++;
           }
           
           namespaces.put(namespaceAbbrev, namespaceName);
  +        namespaceAbbrevs.put(namespaceName, namespaceAbbrev);
           
       }
       
  
  
  
  1.4       +4 -4      jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java
  
  Index: PropPatchMethod.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PropPatchMethod.java	2001/01/17 16:49:02	1.3
  +++ PropPatchMethod.java	2001/01/22 18:47:17	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v 1.3 2001/01/17 16:49:02 juergen Exp $
  - * $Revision: 1.3 $
  - * $Date: 2001/01/17 16:49:02 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v 1.4 2001/01/22 18:47:17 remm Exp $
  + * $Revision: 1.4 $
  + * $Date: 2001/01/22 18:47:17 $
    *
    * ====================================================================
    *
  @@ -422,7 +422,7 @@
           int colon = nodeName.indexOf(':');
           if (colon != -1) {
               property.name = nodeName.substring(colon + 1);
  -            property.namespaceAbbrev = nodeName.substring(0, colon - 1);
  +            property.namespaceAbbrev = nodeName.substring(0, colon);
               String namespace =
                   (String) namespaces.get(property.namespaceAbbrev);
               if ((namespace) != null) {