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 20:53:40 GMT
gianugo     2003/07/27 13:53:39

  Modified:    src/blocks/webdav/java/org/apache/cocoon/components/source/impl
                        WebDAVSource.java
  Log:
  Making a better implementation on validity stuff. There are still some
  issues, though, with caching pipelines.
  
  Revision  Changes    Path
  1.4       +37 -10    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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- WebDAVSource.java	27 Jul 2003 12:56:16 -0000	1.3
  +++ WebDAVSource.java	27 Jul 2003 20:53:39 -0000	1.4
  @@ -83,7 +83,7 @@
   
   /**
    *  A source implementation to get access to WebDAV repositories. Use it
  - *  as webdav://[host][:port]/path[?principal=user&password=password].
  + *  as webdav://[usr]:[password]@[host][:port]/path.
    *
    *  @author <a href="mailto:g.casper@s-und-n.de">Guido Casper</a>
    *  @author <a href="mailto:gianugo@apache.org">Gianugo Rabellino</a>
  @@ -109,6 +109,7 @@
       private String password;
   
       private SourceValidity validity = null;
  +    private long cachedLastModificationDate;
       private SourceCredential sourcecredential = null;
   
       private WebdavResource resource = null;
  @@ -220,9 +221,9 @@
                   return bi;
               }
           } catch (HttpException he) {
  -            throw new SourceException("Could not get WebDAV resource", he);
  +            throw new SourceException("Could not get WebDAV resource " + getSecureURI(),
he);
           } catch (Exception e) {
  -            throw new SourceException("Could not get WebDAV resource", e);
  +            throw new SourceException("Could not get WebDAV resource" + getSecureURI(),
e);
           }
       }
   
  @@ -239,6 +240,14 @@
   		return "webdav://"  +  this.systemId.substring(7);
           
       }
  +    
  +    /**
  +     * Return the URI securely, without username and password
  +     * 
  +     */
  +    protected String getSecureURI() {
  +		return "webdav://"  +  this.systemId.substring(7);    	
  +    }
   
       /**
        *  Get the Validity object. This can either wrap the last modification
  @@ -247,10 +256,21 @@
        *  <code>null</code> is returned.
        */
       public SourceValidity getValidity() {
  -        if (this.validity == null)
  -            this.validity =
  -                new TimeStampValidity(this.resource.getGetLastModified());
  -        return this.validity;
  +    	// TODO: Implementation taken from HttpClientSource, who took it from URLSource: time
for a separate impl?
  +		final long lm = getLastModified();
  +
  +		if ( lm > 0 )
  +		{
  +			if ( lm == cachedLastModificationDate )
  +			{
  +				return validity;
  +			}
  +
  +			cachedLastModificationDate = lm;
  +			validity = new TimeStampValidity( lm );
  +			return validity;
  +		}
  +		return null;
       }
   
       /**
  @@ -626,7 +646,13 @@
        * @see org.apache.excalibur.source.ModifiableSource#delete()
        */
       public void delete() throws SourceException {
  -        // TODO Auto-generated method stub
  +    	try {
  +            this.resource.deleteMethod();
  +        } catch (HttpException e) {
  +        	throw new SourceException("Unable to delete source: " + getSecureURI(), e);
  +        } catch (IOException e) {
  +			throw new SourceException("Unable to delete source: " + getSecureURI(), e);
  +        }
       }
   
       /**
  @@ -638,10 +664,11 @@
       	try {
               resource.mkcolMethod();
           } catch (HttpException e) {
  -            throw new SourceException("Unable to create collection(s)", e);
  +            throw new SourceException("Unable to create collection(s) " + getSecureURI(),
e);
           } catch (IOException e) {
  -            throw new SourceException("Unable to create collection(s)", e);			
  +            throw new SourceException("Unable to create collection(s)"  + getSecureURI(),
e);			
           }
       }
  +    
   
   }
  
  
  

Mime
View raw message