roku 2004/04/05 03:49:42
Modified:
src/blocks/webdav/java/org/apache/cocoon/components/repository/impl
WebDAVRepositoryVersioningHelper.java
Log:
Started implementing setVersioned(String, false).
Revision Changes Path
1.3 +13 -2
cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java
Index: WebDAVRepositoryVersioningHelper.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- WebDAVRepositoryVersioningHelper.java 5 Apr 2004 10:14:48 -0000
1.2
+++ WebDAVRepositoryVersioningHelper.java 5 Apr 2004 10:49:41 -0000
1.3
@@ -138,18 +138,29 @@
*/
public boolean setVersioned(final String uri, final boolean versioned) {
try {
- if(!versioned) // FIXME: Implement this via delete and create
- throw new UnsupportedOperationException();
+ if(!versioned)
+ return unsetVersioned(uri);
else
return
WebDAVUtil.getWebdavResource(this.repo.getAbsoluteURI(uri)).versionControlMethod(this.repo.getAbsoluteURI(uri));
} catch (HttpException he) {
this.getLogger().error("HTTP Error while versioncontrol " + uri,
he);
} catch (IOException ioe) {
this.getLogger().error("IO Error while versioncontrol " + uri,
ioe);
+ } catch (ProcessingException pe) {
+ this.getLogger().error("Processing Error while versioncontrol "
+ uri, pe);
}
return false;
}
+
+ private boolean unsetVersioned(final String uri)
+ throws ProcessingException
+ {
+ //TODO: Also copy props
+ final String content = this.repo.getContentString(uri);
+ final List props =
this.repo.getPropertyHelper().getAllProperties(uri);
+ return this.repo.remove(uri) && this.repo.createResource(uri,
content);
+ }
/* (non-Javadoc)
* @see
org.apache.cocoon.components.repository.helpers.RepositoryVersioningHelper#getVersions(java.lang.String)