juergen     02/01/02 07:17:12

  Modified:    src/webdav/client/src/org/apache/webdav/lib/methods
                        XMLResponseMethodBase.java
  Log:
  first version of the delta-v prototype (client part). The option command may return 
the Histories or Workspaces.
  
  Revision  Changes    Path
  1.26      +82 -3     
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java
  
  Index: XMLResponseMethodBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XMLResponseMethodBase.java        23 Sep 2001 11:25:20 -0000      1.25
  +++ XMLResponseMethodBase.java        2 Jan 2002 15:17:12 -0000       1.26
  @@ -1,4 +1,7 @@
   /*
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java,v
 1.26 2002/01/02 15:17:12 juergen Exp $
  + * $Revision: 1.26 $
  + * $Date: 2002/01/02 15:17:12 $
    *
    * ====================================================================
    *
  @@ -58,6 +61,7 @@
    *
    */
   
  +
   package org.apache.webdav.lib.methods;
   
   import java.io.InputStream;
  @@ -170,8 +174,8 @@
   
       /**
        * Return an enumeration containing the responses.
  -     * 
  -     * @return An enumeration containing objects implementing the 
  +     *
  +     * @return An enumeration containing objects implementing the
        * ResponseEntity interface
        */
       public Enumeration getResponses() {
  @@ -333,7 +337,7 @@
                   property = new GetLastModifiedProperty(response, element);
               } else if (CurrentUserPrivilegeSetProperty.TAG_NAME.equals
                          (localName)) {
  -                property = 
  +                property =
                       new CurrentUserPrivilegeSetProperty(response, element);
               } else if (LockDiscoveryProperty.TAG_NAME.equals(localName)) {
                   property = new LockDiscoveryProperty(response, element);
  @@ -374,6 +378,14 @@
           public abstract int getStatusCode();
           public abstract String getHref();
   
  +        public Enumeration getHistories(){
  +            Vector result = new Vector();
  +            return result.elements();
  +        }
  +        public Enumeration getWorkspaces(){
  +            Vector result = new Vector();
  +            return result.elements();
  +        }
           public Enumeration getProperties() {
               NodeList list =
                   DOMUtils.getElementsByTagNameNS(node, "prop", "DAV:");
  @@ -482,4 +494,71 @@
               return this.href;
           }
       }
  +        
  +        class OptionsResponse extends SingleResponse{
  +            
  +            OptionsResponse(Document document, String href, int statusCode) {
  +                super(document, href, statusCode);
  +            
  +            }
  +
  +            
  +            public Enumeration getWorkspaces(){
  +                
  +                
  +                Node root = responseDocument.cloneNode(true).getFirstChild();
  +                //System.out.println("Rootnode ws: "+ root.getNodeName());
  +                
  +                String sPrefix = root.getPrefix();
  +                Vector result = new Vector();
  +                
  +                Node child = root.getFirstChild();
  +                while (child!=null && 
!child.getNodeName().equalsIgnoreCase(sPrefix+":workspace-collection-set")){
  +                    child = child.getNextSibling();
  +                }
  +                
  +                if (child!=null && 
child.getNodeName().equalsIgnoreCase(sPrefix+":workspace-collection-set")){
  +                    child = child.getFirstChild();
  +                    while (child!=null){
  +                        result.add(child.getFirstChild().getNodeValue());
  +                        child = child.getNextSibling();
  +                    }
  +                }
  +                
  +                return result.elements();
  +            }
  +            
  +            public Enumeration getHistories(){
  +                Node root = responseDocument.cloneNode(true).getFirstChild();
  +                //System.out.println("Rootnode vh : " + root.getNodeName());
  +                
  +                String sPrefix = root.getPrefix();
  +                Vector result = new Vector();
  +                
  +                //System.out.println("Prefix : " + sPrefix);
  +                
  +                Node child = root.getFirstChild();
  +                while (child!=null && 
!child.getNodeName().equalsIgnoreCase(sPrefix+":version-history-collection-set")){
  +                    child = child.getNextSibling();
  +                }
  +                
  +                if (child!=null && 
child.getNodeName().equalsIgnoreCase(sPrefix+":version-history-collection-set")){
  +                    child = child.getFirstChild();
  +                    while (child!=null){
  +                        result.add(child.getFirstChild().getNodeValue());
  +                        child = child.getNextSibling();
  +                    }
  +                }
  +                            
  +                return result.elements();
  +            }
  +            
  +        }
  +        protected void setDocument(Document doc){
  +            responseDocument = doc;
  +        }
  +        protected void setResponseHashtable(Hashtable h){
  +            responseHashtable = h;
  +        }
   }
  +
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to