You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2004/04/13 16:20:36 UTC

cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java

stephan     2004/04/13 07:20:35

  Modified:    src/blocks/webdav/java/org/apache/cocoon/components/source/impl
                        WebDAVSource.java
  Log:
  Make getParent available for directories.
  tab2spaces
  
  Revision  Changes    Path
  1.27      +38 -57    cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java
  
  Index: WebDAVSource.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- WebDAVSource.java	29 Mar 2004 10:52:46 -0000	1.26
  +++ WebDAVSource.java	13 Apr 2004 14:20:35 -0000	1.27
  @@ -189,30 +189,27 @@
        * @throws SourceNotFoundException
        */
       private void initResource(int action, int depth) throws SourceException, SourceNotFoundException {
  -		try {
  +        try {
               boolean update = false;
               if (action != WebdavResource.NOACTION) {
                   if (action > this.action) {
                       this.action = action;
                       update = true;
  -                }
  -                else {
  +                } else {
                       action = this.action;
                   }
               }
               if (depth > this.depth) {
                   this.depth = depth;
                   update = true;
  -            }
  -            else {
  +            } else {
                   depth = this.depth;
               }
  -			if (this.resource == null) {
  -			    this.resource = new WebdavResource(this.url, action, depth);
  -			}
  -			else if (update) {
  -			    this.resource.setProperties(action, depth);
  -			}
  +            if (this.resource == null) {
  +                this.resource = new WebdavResource(this.url, action, depth);
  +            } else if (update) {
  +                this.resource.setProperties(action, depth);
  +            }
               if (this.action > WebdavResource.NOACTION) {
                   if (this.resource.isCollection()) {
                       String path = this.url.getPath();
  @@ -221,18 +218,16 @@
                       }
                   }
               }
  - 		}
  -		catch (HttpException e) {
  +       } catch (HttpException e) {
               if (e.getReasonCode() == HttpStatus.SC_NOT_FOUND) {
                   throw new SourceNotFoundException("Not found: " + getSecureURI(), e);
               }
               final String msg = "Could not initialize webdav resource. Server responded " 
                   + e.getReasonCode() + " (" + e.getReason() + ") - " + e.getMessage();
               throw new SourceException(msg, e);
  -		}
  -		catch (IOException e) {
  +       } catch (IOException e) {
               throw new SourceException("Could not initialize webdav resource", e);
  -		}
  +       }
       }
   
       /**
  @@ -282,8 +277,7 @@
               final String userinfo = this.url.getEscapedUserinfo();
               if (userinfo != null) {
                   uri = this.protocol + "://" + userinfo + "@" + uri;
  -            }
  -            else {
  +            } else {
                   uri = this.protocol + "://" + uri;
               }
               this.uri = uri;
  @@ -366,8 +360,7 @@
       public String getMimeType() {
           try {
               initResource(WebdavResource.BASIC, DepthSupport.DEPTH_0);
  -        }
  -        catch (IOException e) {
  +        } catch (IOException e) {
               return null;
           }
           return this.resource.getGetContentType();
  @@ -398,8 +391,7 @@
       public long getLastModified() {
           try {
               initResource(WebdavResource.BASIC, DepthSupport.DEPTH_0);
  -        }
  -        catch(IOException e) {
  +        } catch(IOException e) {
               return 0;
           }
           return this.resource.getGetLastModified();
  @@ -413,11 +405,9 @@
       public boolean exists() {
           try {
               initResource(WebdavResource.BASIC, DepthSupport.DEPTH_0);
  -        }
  -        catch (SourceNotFoundException e) {
  +        } catch (SourceNotFoundException e) {
               return false;
  -        }
  -        catch(IOException e) {
  +        } catch(IOException e) {
               return true;
           }
           return this.resource.getExistence();
  @@ -540,13 +530,11 @@
               HttpURL childURL;
               if (this.url instanceof HttpsURL) {
                   childURL = new HttpsURL((HttpsURL) this.url, childName);
  -            }
  -            else {
  +            } else {
                   childURL = new HttpURL(this.url, childName);
               }
               return WebDAVSource.newWebDAVSource(childURL, this.protocol, getLogger());
  -        }
  -        catch (URIException e) {
  +        } catch (URIException e) {
               throw new SourceException("Failed to create child", e);
           }        
       }
  @@ -565,8 +553,7 @@
                   HttpURL childURL;
                   if (this.url instanceof HttpsURL) {
                       childURL = new HttpsURL((HttpsURL) this.url,resources[i].getName());
  -                }
  -                else {
  +                } else {
                       childURL = new HttpURL(this.url,resources[i].getName());
                   }
                   WebDAVSource src = WebDAVSource.newWebDAVSource(resources[i],
  @@ -576,8 +563,7 @@
                   src.enableLogging(getLogger());
                   children.add(src);
               }
  -        }
  -        catch (HttpException e) {
  +        } catch (HttpException e) {
               if (getLogger().isDebugEnabled()) {
                   final String message =
                       "Unable to get WebDAV children. Server responded " +
  @@ -586,11 +572,9 @@
                   getLogger().debug(message);
               }
               throw new SourceException("Failed to get WebDAV collection children.", e);
  -        } 
  -        catch (SourceException e) {
  +        } catch (SourceException e) {
               throw e;
  -        }
  -        catch (IOException e) {
  +        } catch (IOException e) {
               throw new SourceException("Failed to get WebDAV collection children.", e);
           }
           return children;
  @@ -616,17 +600,17 @@
        * @see org.apache.excalibur.source.TraversableSource#getParent()
        */
       public Source getParent() throws SourceException {
  +        String path = isCollection()?"..":".";
  +      
           try {
               HttpURL parentURL;
               if (url instanceof HttpsURL) {
  -                parentURL = new HttpsURL((HttpsURL) this.url, ".");
  -            }
  -            else {
  -                parentURL = new HttpURL(this.url, ".");
  +                parentURL = new HttpsURL((HttpsURL) this.url, path);
  +            } else {
  +                parentURL = new HttpURL(this.url, path);
               }
               return WebDAVSource.newWebDAVSource(parentURL, this.protocol, getLogger());
  -        }
  -        catch (URIException e) {
  +        } catch (URIException e) {
               throw new SourceException("Failed to create parent", e);
           }
       }
  @@ -700,13 +684,13 @@
        * @see org.apache.excalibur.source.ModifiableSource#delete()
        */
       public void delete() throws SourceException {
  -    	initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0);
  +      initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0);
           try {
               this.resource.deleteMethod();
           } catch (HttpException e) {
  -        	throw new SourceException("Unable to delete source: " + getSecureURI(), e);
  +            throw new SourceException("Unable to delete source: " + getSecureURI(), e);
           } catch (IOException e) {
  -			throw new SourceException("Unable to delete source: " + getSecureURI(), e);
  +            throw new SourceException("Unable to delete source: " + getSecureURI(), e);
           }
       }
   
  @@ -760,7 +744,7 @@
       public void makeCollection() throws SourceException {
           initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0);
           if (this.resource.exists()) return;
  -    	try {
  +        try {
               if (!this.resource.mkcolMethod()) {
                   int status = this.resource.getStatusCode();
                   // Ignore status 405 - Not allowed: collection already exists
  @@ -772,15 +756,12 @@
                       throw new SourceException(msg);
                   }
               }
  -        }
  -    	catch (HttpException e) {
  +        } catch (HttpException e) {
               throw new SourceException("Unable to create collection(s) " + getSecureURI(), e);
  -        }
  -    	catch (SourceException e) {
  +        } catch (SourceException e) {
               throw e;
  -        }
  -        catch (IOException e) {
  -            throw new SourceException("Unable to create collection(s)"  + getSecureURI(), e);			
  +        } catch (IOException e) {
  +            throw new SourceException("Unable to create collection(s)"  + getSecureURI(), e);      
           }
       }
       
  @@ -890,7 +871,7 @@
           initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0);
           
           try {
  -			Node node = null;
  +            Node node = null;
               NodeList list = sourceproperty.getValue().getChildNodes();
               for (int i=0; i<list.getLength(); i++) {
                   if ((list.item(i) instanceof Text && !"".equals(list.item(i).getNodeValue()))