cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gian...@apache.org
Subject cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java
Date Sun, 27 Jul 2003 12:56:16 GMT
gianugo     2003/07/27 05:56:16

  Modified:    src/blocks/webdav/java/org/apache/cocoon/components/source/impl
                        WebDAVSource.java
  Log:
  Implemented ModifiableTraversable + small fixes on getURI()
  
  Revision  Changes    Path
  1.3       +30 -7     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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- WebDAVSource.java	14 Jul 2003 16:06:21 -0000	1.2
  +++ WebDAVSource.java	27 Jul 2003 12:56:16 -0000	1.3
  @@ -69,11 +69,10 @@
   import org.apache.cocoon.components.source.helpers.SourceCredential;
   import org.apache.cocoon.components.source.helpers.SourcePermission;
   import org.apache.commons.httpclient.HttpException;
  -import org.apache.excalibur.source.ModifiableSource;
  +import org.apache.excalibur.source.ModifiableTraversableSource;
   import org.apache.excalibur.source.Source;
   import org.apache.excalibur.source.SourceException;
   import org.apache.excalibur.source.SourceValidity;
  -import org.apache.excalibur.source.TraversableSource;
   import org.apache.excalibur.source.impl.validity.TimeStampValidity;
   import org.apache.util.HttpURL;
   import org.apache.webdav.lib.WebdavResource;
  @@ -92,7 +91,7 @@
    *  @version $Id$
   */
   public class WebDAVSource
  -    implements Source, RestrictableSource, ModifiableSource, TraversableSource {
  +    implements Source, RestrictableSource, ModifiableTraversableSource {
   
   
       private final String NAMESPACE = "http://apache.org/cocoon/webdav/1.0";
  @@ -173,8 +172,10 @@
                try { 
                    return new WebDAVSource(location, principal, password, protocol, true);
           
                } catch (HttpException finalHe) {
  +             	finalHe.printStackTrace(System.err);
                   throw new SourceException("Error creating the source: ", finalHe);   
                } catch (IOException e) {
  +				e.printStackTrace(System.err);
                   throw new SourceException("Error creating the source: ", e);          
     	
                }    
             } catch (IOException e) {
  @@ -219,9 +220,9 @@
                   return bi;
               }
           } catch (HttpException he) {
  -            throw new SourceException("Could get WebDAV resource", he);
  +            throw new SourceException("Could not get WebDAV resource", he);
           } catch (Exception e) {
  -            throw new SourceException("Could get WebDAV resource", e);
  +            throw new SourceException("Could not get WebDAV resource", e);
           }
       }
   
  @@ -229,7 +230,14 @@
        * Return the unique identifer for this source
        */
       public String getURI() {
  -        return this.systemId;
  +    	// Change http: to webdav:
  +        //return "webdav:" + this.systemId.substring(5);
  +        //add Source credentials
  +        if (principal != null)
  +			return "webdav://" + this.principal + ":" + this.password + "@" +  this.systemId.substring(7);
  +        else
  +		return "webdav://"  +  this.systemId.substring(7);
  +        
       }
   
       /**
  @@ -619,6 +627,21 @@
        */
       public void delete() throws SourceException {
           // TODO Auto-generated method stub
  +    }
  +
  +    /**
  +     * Create the collection, if it doesn't exist.
  +     * @see org.apache.excalibur.source.ModifiableTraversableSource#makeCollection()
  +     */
  +    public void makeCollection() throws SourceException {
  +    	if (resource.exists()) return;
  +    	try {
  +            resource.mkcolMethod();
  +        } catch (HttpException e) {
  +            throw new SourceException("Unable to create collection(s)", e);
  +        } catch (IOException e) {
  +            throw new SourceException("Unable to create collection(s)", e);			
  +        }
       }
   
   }
  
  
  

Mime
View raw message