luetzkendorf 2005/02/25 09:03:53
Modified: src/webdav/server/org/apache/slide/webdav/method
AbstractWebdavMethod.java CheckinMethod.java
CheckoutMethod.java CopyMethod.java
DeleteMethod.java EventMethod.java GetMethod.java
LabelMethod.java MkcolMethod.java
MkredirectrefMethod.java MkworkspaceMethod.java
MoveMethod.java PollMethod.java PropFindMethod.java
PropPatchMethod.java PutMethod.java
RebindMethod.java ReportMethod.java
SubscribeMethod.java UncheckoutMethod.java
UnlockMethod.java UnsubscribeMethod.java
UpdateMethod.java VersionControlMethod.java
Log:
Introduction of some more detailed Events triggered by the WebDAV layer.
E.g. now you will be informed if a single resource is copied, moved or deleted
while MOVE, COPY or DELETE.
Moved creation of VersioningHelper up to the AbstractWebdavMethod.
Added some getter to AbstractWebdavMethod to provide some information
to the WebdavEventListener.
Revision Changes Path
1.78 +31 -13
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java
Index: AbstractWebdavMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- AbstractWebdavMethod.java 21 Feb 2005 09:00:07 -0000 1.77
+++ AbstractWebdavMethod.java 25 Feb 2005 17:03:51 -0000 1.78
@@ -93,6 +93,7 @@
import org.apache.slide.webdav.util.TransactionConstants;
import org.apache.slide.webdav.util.UnlockListenerImpl;
import org.apache.slide.webdav.util.UriHandler;
+import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavConstants;
import org.apache.slide.webdav.util.WebdavStatus;
@@ -271,6 +272,11 @@
* Macro helper.
*/
protected Macro macro;
+
+ /**
+ * Versioning helper.
+ */
+ protected VersioningHelper versioningHelper;
/**
@@ -305,18 +311,6 @@
// -------------------------------------------------- Static
Initialization
-
-// static {
-//
-// // Load the MD5 helper used to calculate signatures.
-// try {
-// md5Helper = MessageDigest.getInstance("MD5");
-// } catch (NoSuchAlgorithmException e) {
-// System.out.println(e.toString());
-// throw new IllegalStateException();
-// }
-// }
-
// -----------------------------------------------------------
Constructors
@@ -376,6 +370,9 @@
// implementation
slideToken.addParameter("slideContextPath", this.slideContextPath);
+ this.versioningHelper = VersioningHelper.getVersioningHelper(
+ slideToken, token, req, resp, getConfig(), this);
+
parseRequestHeaders();
boolean transactionIsStarted = false;
@@ -511,7 +508,7 @@
// retrive to check it exists, otherwise it can't have locks
structure.retrieve(slideToken, requestUri);
// clear expired lock-tokens
- UnlockListenerImpl listener = new
UnlockListenerImpl(slideToken, token, config, req, resp);
+ UnlockListenerImpl listener = new
UnlockListenerImpl(slideToken, token, versioningHelper);
lock.clearExpiredLocks(slideToken, requestUri, listener);
if (listener.getUnlockCount() > 0) {
@@ -665,6 +662,27 @@
return this.token;
}
+ public Content getContent() {
+ return content;
+ }
+ public Lock getLock() {
+ return lock;
+ }
+ public Macro getMacro() {
+ return macro;
+ }
+ public Search getSearch() {
+ return search;
+ }
+ public Security getSecurity() {
+ return security;
+ }
+ public Structure getStructure() {
+ return structure;
+ }
+ public VersioningHelper getVersioning() {
+ return versioningHelper;
+ }
// ------------------------------------------------------ Protected
Methods
/**
1.31 +4 -8
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CheckinMethod.java
Index: CheckinMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CheckinMethod.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- CheckinMethod.java 26 Oct 2004 20:06:00 -0000 1.30
+++ CheckinMethod.java 25 Feb 2005 17:03:52 -0000 1.31
@@ -33,7 +33,6 @@
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
import org.jdom.Element;
@@ -145,12 +144,9 @@
}
try {
- VersioningHelper vh = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
-
if ( WebdavEvent.CHECKIN.isEnabled() )
EventDispatcher.getInstance().fireVetoableEvent(WebdavEvent.CHECKIN, new
WebdavEvent(this));
- locationValue = vh.checkin( resourcePath , forkOk,
keepCheckedOut, false);
+ locationValue = versioningHelper.checkin(resourcePath, forkOk,
keepCheckedOut, false);
}
catch (PreconditionViolationException e) {
sendPreconditionViolation(e);
1.35 +3 -15
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CheckoutMethod.java
Index: CheckoutMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CheckoutMethod.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- CheckoutMethod.java 26 Oct 2004 20:06:01 -0000 1.34
+++ CheckoutMethod.java 25 Feb 2005 17:03:52 -0000 1.35
@@ -36,7 +36,6 @@
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.LabeledRevisionNotFoundException;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
@@ -57,15 +56,8 @@
private boolean applyToVersion = false;
private boolean forkOk = false;
- /**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
-
// -----------------------------------------------------------
Constructors
-
/**
* Constructor.
*
@@ -100,10 +92,6 @@
resourcePath = "/";
}
- versioningHelper =
- VersioningHelper.getVersioningHelper(slideToken, token, req,
resp,
- config);
-
// evaluate "Label" header
if (Configuration.useVersionControl()) {
try {
1.74 +27 -12
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java
Index: CopyMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- CopyMethod.java 23 Feb 2005 12:38:39 -0000 1.73
+++ CopyMethod.java 25 Feb 2005 17:03:52 -0000 1.74
@@ -44,6 +44,7 @@
import org.apache.slide.util.XMLValue;
import org.apache.slide.webdav.WebdavException;
import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.webdav.event.DetailedWebdavEvent;
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
import org.apache.slide.webdav.util.resourcekind.CheckedInVersionControlled;
@@ -60,12 +61,7 @@
public class CopyMethod extends AbstractMultistatusResponseMethod implements
DeltavConstants,
AclConstants, BindConstants, CopyListener, DeleteListener,
CopyRouteRedirector,
WriteMethod, FineGrainedLockingMethod {
-
- /**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
+
/**
* Maps the URI of a destination to its descriptor.
* Used by [EMAIL PROTECTED] #beforeCopy beforeCopy()} and [EMAIL
PROTECTED] #afterCopy afterCopy()}.
@@ -122,8 +118,6 @@
protected void parseRequest() throws WebdavException {
super.parseRequest();
- versioningHelper =
- VersioningHelper.getVersioningHelper(slideToken, token, req,
resp, config);
labelHeader = WebdavUtils.fixTomcatHeader(requestHeaders.getLabel(),
"UTF-8");
}
@@ -448,6 +442,13 @@
* MacroDeleteException.
*/
public void beforeCopy(String sourceUri, String destinationUri, boolean
isRootOfCopy) throws SlideException {
+
+ if (DetailedWebdavEvent.COPY_BEFORE_COPY.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.COPY_BEFORE_COPY,
+ new DetailedWebdavEvent(this, destinationUri,
sourceUri));
+ }
+
if(Configuration.useVersionControl()) {
UriHandler sourceUh = UriHandler.getUriHandler(sourceUri);
@@ -567,6 +568,12 @@
}
}
}
+
+ if (DetailedWebdavEvent.COPY_AFTER_COPY.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.COPY_AFTER_COPY,
+ new DetailedWebdavEvent(this, destinationUri,
sourceUri));
+ }
}
@@ -585,6 +592,13 @@
* MacroDeleteException.
*/
public void beforeDelete(String destinationUri) throws SlideException {
+
+ if (DetailedWebdavEvent.COPY_BEFORE_DELETE.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.COPY_BEFORE_DELETE,
+ new DetailedWebdavEvent(this, destinationUri,
sourceUri));
+ }
+
beforeUpdateOrDelete( destinationUri );
}
@@ -684,11 +698,12 @@
* targetUricroDeleteException.
*/
public void afterDelete(String targetUri) throws SlideException {
+ if (DetailedWebdavEvent.COPY_AFTER_DELETE.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.COPY_AFTER_DELETE,
+ new DetailedWebdavEvent(this, destinationUri,
sourceUri));
+ }
}
-
-
-
-
}
1.41 +13 -13
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java
Index: DeleteMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- DeleteMethod.java 21 Jan 2005 16:13:54 -0000 1.40
+++ DeleteMethod.java 25 Feb 2005 17:03:52 -0000 1.41
@@ -44,6 +44,7 @@
import org.apache.slide.util.XMLValue;
import org.apache.slide.webdav.WebdavException;
import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.webdav.event.DetailedWebdavEvent;
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
@@ -84,13 +85,7 @@
* Indicates if the resource to delete is a collection.
*/
protected boolean isCollection = false;
-
- /**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
-
+
// -----------------------------------------------------------
Constructors
@@ -125,9 +120,6 @@
*/
protected void parseRequest()
throws WebdavException {
- versioningHelper =
- VersioningHelper.getVersioningHelper(slideToken, token, req,
resp,
- config);
toDelete = requestUri;
if (toDelete == null) {
toDelete = "/";
@@ -231,6 +223,12 @@
*/
public void beforeDelete(String targetUri) throws SlideException {
+ if (DetailedWebdavEvent.DELETE_BEFORE_DELETE.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.DELETE_BEFORE_DELETE,
+ new DetailedWebdavEvent(this, targetUri));
+ }
+
if(Configuration.useVersionControl()) {
NodeRevisionDescriptors nrds = content.retrieve(slideToken,
targetUri);
@@ -368,9 +366,11 @@
* MacroDeleteException.
*/
public void afterDelete(String targetUri) throws SlideException {
+ if (DetailedWebdavEvent.DELETE_AFTER_DELETE.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.DELETE_AFTER_DELETE,
+ new DetailedWebdavEvent(this, targetUri));
+ }
}
-
-
-
}
1.5 +5 -5
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/EventMethod.java
Index: EventMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/EventMethod.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EventMethod.java 5 Aug 2004 14:43:29 -0000 1.4
+++ EventMethod.java 25 Feb 2005 17:03:52 -0000 1.5
@@ -81,7 +81,7 @@
}
}
} catch (Exception e) {
- int statusCode = getErrorCode( (Exception)e );
+ int statusCode = getErrorCode(e);
sendError( statusCode, e );
throw new WebdavException( statusCode );
}
@@ -108,7 +108,7 @@
}
resp.setStatus(WebdavStatus.SC_OK);
} catch (Exception e) {
- int statusCode = getErrorCode( (Exception)e );
+ int statusCode = getErrorCode(e);
sendError( statusCode, e );
throw new WebdavException( statusCode );
}
1.58 +4 -14
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/GetMethod.java
Index: GetMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/GetMethod.java,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- GetMethod.java 9 Dec 2004 02:31:02 -0000 1.57
+++ GetMethod.java 25 Feb 2005 17:03:52 -0000 1.58
@@ -55,7 +55,6 @@
import org.apache.slide.webdav.util.DirectoryIndexGenerator;
import org.apache.slide.webdav.util.LabeledRevisionNotFoundException;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
@@ -87,15 +86,8 @@
*/
protected boolean printContent = true;
- /**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper vHelp = null;
-
-
// ----------------------------------------------------- Instance
Variables
-
/**
* Resource to be retrieved.
*/
@@ -159,8 +151,6 @@
*/
protected void parseRequest()
throws WebdavException {
- vHelp = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
resourcePath = requestUri;
if (resourcePath == null) {
resourcePath = "/";
@@ -171,7 +161,7 @@
try {
String labelHeader =
WebdavUtils.fixTomcatHeader(requestHeaders.getLabel(), "UTF-8");
- resourcePath = vHelp.getLabeledResourceUri(resourcePath,
labelHeader);
+ resourcePath =
versioningHelper.getLabeledResourceUri(resourcePath, labelHeader);
}
catch (LabeledRevisionNotFoundException e) {
ViolatedPrecondition violatedPrecondition =
1.32 +2 -13
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/LabelMethod.java
Index: LabelMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/LabelMethod.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- LabelMethod.java 21 Dec 2004 16:04:19 -0000 1.31
+++ LabelMethod.java 25 Feb 2005 17:03:52 -0000 1.32
@@ -44,7 +44,6 @@
import org.apache.slide.webdav.util.LabeledRevisionNotFoundException;
import org.apache.slide.webdav.util.PreconditionViolationException;
import org.apache.slide.webdav.util.PropertyHelper;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
@@ -91,11 +90,6 @@
protected boolean isCollection = false;
/**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
- /**
* Indicates which label operation to perform:
* <code>add</code>, <code>set</code> or <code>remove</code>.
*/
@@ -140,12 +134,7 @@
* @throws WebdavException
*/
protected void parseRequest() throws WebdavException {
- // readRequestContent();
- versioningHelper = VersioningHelper.getVersioningHelper(slideToken,
- token,
- req,
- resp,
- config);
+
resourcePath = requestUri;
if (resourcePath == null) {
resourcePath = "/";
@@ -273,7 +262,7 @@
//
throw new WebdavException(WebdavStatus.SC_ACCEPTED, false);
} catch( SlideException x ) {
- int statusCode = getErrorCode((SlideException)x);
+ int statusCode = getErrorCode(x);
sendError( statusCode, x );
throw new WebdavException( statusCode );
}
1.42 +1 -5
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkcolMethod.java
Index: MkcolMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkcolMethod.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- MkcolMethod.java 2 Feb 2005 11:32:40 -0000 1.41
+++ MkcolMethod.java 25 Feb 2005 17:03:52 -0000 1.42
@@ -44,7 +44,6 @@
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.resourcekind.ResourceKindManager;
@@ -179,11 +178,8 @@
// Added for DeltaV --start--
if( Configuration.useVersionControl() ) {
- VersioningHelper vHelp = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
-
// Workspace
- vHelp.setWorkspaceProperty( colName, revisionDescriptor );
+ versioningHelper.setWorkspaceProperty(colName,
revisionDescriptor);
}
// Added for DeltaV --end--
1.2 +4 -8
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkredirectrefMethod.java
Index: MkredirectrefMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkredirectrefMethod.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MkredirectrefMethod.java 6 Dec 2004 08:54:13 -0000 1.1
+++ MkredirectrefMethod.java 25 Feb 2005 17:03:52 -0000 1.2
@@ -41,7 +41,6 @@
import org.apache.slide.webdav.WebdavServletConfig;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.jdom.Element;
import org.jdom.JDOMException;
@@ -233,11 +232,8 @@
// Added for DeltaV --start--
if( Configuration.useVersionControl() ) {
- VersioningHelper vHelp = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
-
// Workspace
- vHelp.setWorkspaceProperty( redirectRefName, revisionDescriptor
);
+ versioningHelper.setWorkspaceProperty(redirectRefName,
revisionDescriptor);
}
// Added for DeltaV --end--
1.16 +4 -7
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkworkspaceMethod.java
Index: MkworkspaceMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkworkspaceMethod.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- MkworkspaceMethod.java 31 Oct 2004 11:32:39 -0000 1.15
+++ MkworkspaceMethod.java 25 Feb 2005 17:03:52 -0000 1.16
@@ -31,7 +31,6 @@
import org.apache.slide.webdav.WebdavServletConfig;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
@@ -107,9 +106,7 @@
}
try {
- VersioningHelper vh = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
- vh.mkworkspace( resourcePath );
+ versioningHelper.mkworkspace(resourcePath);
}
catch (PreconditionViolationException e) {
sendPreconditionViolation(e);
1.77 +42 -29
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java
Index: MoveMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- MoveMethod.java 21 Dec 2004 16:04:19 -0000 1.76
+++ MoveMethod.java 25 Feb 2005 17:03:52 -0000 1.77
@@ -51,6 +51,7 @@
import org.apache.slide.util.Configuration;
import org.apache.slide.webdav.WebdavException;
import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.webdav.event.DetailedWebdavEvent;
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.DaslConstants;
import org.apache.slide.webdav.util.DeltavConstants;
@@ -75,12 +76,6 @@
*/
public class MoveMethod extends AbstractMultistatusResponseMethod implements
DeltavConstants, DeleteListener, CopyListener, WriteMethod {
-
- /**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
/**
* The PropertyHelper used by this instance.
*/
@@ -149,11 +144,6 @@
protected void executeRequest()
throws WebdavException, IOException {
- versioningHelper = VersioningHelper.getVersioningHelper(slideToken,
- token,
- req,
- resp,
- config);
propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token,
getConfig());
// Prevent dirty reads
@@ -364,39 +354,45 @@
*/
public void beforeCopy(String sourceUri, String destinationUri, boolean
isRootOfCopy) throws SlideException {
+ if (DetailedWebdavEvent.MOVE_BEFORE_COPY.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.MOVE_BEFORE_COPY,
+ new DetailedWebdavEvent(this, destinationUri,
sourceUri));
+ }
+
if( Configuration.useVersionControl() ) {
UriHandler uriHandler = UriHandler.getUriHandler(sourceUri);
if (uriHandler.isVersionUri()) {
- throw new PreconditionViolationException(new
ViolatedPrecondition(DeltavConstants.C_CANNOT_RENAME_VERSION,
-
WebdavStatus.SC_FORBIDDEN),
- sourceUri);
+ throw new PreconditionViolationException(
+ new ViolatedPrecondition(
+ DeltavConstants.C_CANNOT_RENAME_VERSION,
+ WebdavStatus.SC_FORBIDDEN), sourceUri);
}
if (uriHandler.isHistoryUri()) {
- throw new PreconditionViolationException(new
ViolatedPrecondition(DeltavConstants.C_CANNOT_RENAME_HISTORY,
-
WebdavStatus.SC_FORBIDDEN),
- sourceUri);
+ throw new PreconditionViolationException(
+ new ViolatedPrecondition(
+ DeltavConstants.C_CANNOT_RENAME_HISTORY,
+ WebdavStatus.SC_FORBIDDEN), sourceUri);
}
if (uriHandler.isWorkingresourceUri()) {
- throw new PreconditionViolationException(new
ViolatedPrecondition(DeltavConstants.C_CANNOT_RENAME_WORKING_RESOURCE,
-
WebdavStatus.SC_FORBIDDEN),
- sourceUri);
+ throw new PreconditionViolationException(
+ new ViolatedPrecondition(
+
DeltavConstants.C_CANNOT_RENAME_WORKING_RESOURCE,
+ WebdavStatus.SC_FORBIDDEN), sourceUri);
}
- NodeRevisionDescriptors sourceRevisionDescriptors =
- content.retrieve( slideToken, sourceUri);
- NodeRevisionDescriptor sourceRevisionDescriptor =
- content.retrieve( slideToken, sourceRevisionDescriptors);
- ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(token,
-
sourceRevisionDescriptors,
-
sourceRevisionDescriptor);
+ NodeRevisionDescriptors sourceNrds =
content.retrieve(slideToken, sourceUri);
+ NodeRevisionDescriptor sourceNrd = content.retrieve(slideToken,
sourceNrds);
+ ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(
+ token, sourceNrds, sourceNrd);
isCopySourceVCR = (resourceKind instanceof VersionControlled);
// if resource being moved is a checked-out VCR or a WR,
// update its URI in the DAV:checkout-set property of the VR
if(resourceKind instanceof CheckedOutVersionControlled ||
resourceKind instanceof Working) {
- String vrUri =
- VersioningHelper.getUriOfAssociatedVR(token, slideToken,
content, sourceUri);
+ String vrUri = VersioningHelper.getUriOfAssociatedVR(token,
+ slideToken, content, sourceUri);
NodeRevisionDescriptors vrNrds =
content.retrieve(slideToken, vrUri);
NodeRevisionDescriptor vrNrd = content.retrieve(slideToken,
vrNrds);
try {
@@ -455,6 +451,13 @@
handleWorkspacePostconditions(destinationNrd, destinationUri);
handleWorkingResourcePostconditions(sourceUri, destinationUri);
+
+ }
+
+ if (DetailedWebdavEvent.MOVE_AFTER_COPY.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.MOVE_AFTER_COPY,
+ new DetailedWebdavEvent(this, destinationUri,
sourceUri));
}
}
@@ -613,6 +616,11 @@
* MacroDeleteException.
*/
public void beforeDelete(String targetUri) throws SlideException {
+ if (DetailedWebdavEvent.MOVE_BEFORE_DELETE.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.MOVE_BEFORE_DELETE,
+ new DetailedWebdavEvent(this, targetUri));
+ }
}
/**
@@ -626,6 +634,11 @@
* MacroDeleteException.
*/
public void afterDelete(String targetUri) throws SlideException {
+ if (DetailedWebdavEvent.MOVE_AFTER_DELETE.isEnabled()) {
+ EventDispatcher.getInstance().fireVetoableEvent(
+ DetailedWebdavEvent.MOVE_AFTER_DELETE,
+ new DetailedWebdavEvent(this, targetUri));
+ }
}
}
1.12 +4 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PollMethod.java
Index: PollMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PollMethod.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- PollMethod.java 5 Aug 2004 14:43:29 -0000 1.11
+++ PollMethod.java 25 Feb 2005 17:03:52 -0000 1.12
@@ -141,7 +141,7 @@
}
xmlOut.output(new Document(multistatus), resp.getWriter());
} catch (Exception e) {
- int statusCode = getErrorCode( (Exception)e );
+ int statusCode = getErrorCode(e);
sendError( statusCode, e );
throw new WebdavException( statusCode );
}
1.115 +4 -14
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java
Index: PropFindMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- PropFindMethod.java 22 Jan 2005 18:53:34 -0000 1.114
+++ PropFindMethod.java 25 Feb 2005 17:03:52 -0000 1.115
@@ -55,7 +55,6 @@
import org.apache.slide.webdav.util.LabeledRevisionNotFoundException;
import org.apache.slide.webdav.util.PropertyRetrieverImpl;
import org.apache.slide.webdav.util.UnlockListenerImpl;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
import org.jdom.Document;
@@ -142,11 +141,6 @@
protected String resourcePath;
/**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
- /**
* The value of the <code>Label</code> header.
*/
protected String labelHeader = null;
@@ -199,10 +193,6 @@
*/
protected void parseRequest() throws WebdavException {
- versioningHelper = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
- // readRequestContent();
-
depth = INFINITY;
propFindType = FIND_ERROR;
extendedAllprop = getBooleanInitParameter( "extendedAllprop" );
@@ -403,7 +393,7 @@
// are timed out
ObjectNode node =
(ObjectNode)children.nextElement();
UnlockListenerImpl listener = new
UnlockListenerImpl(
- slideToken, token, config, req, resp);
+ slideToken, token, versioningHelper);
try {
lock.clearExpiredLocks(slideToken,
node.getUri(), listener);
if
(!listener.isRemovedLockResource(node.getUri())) {
1.93 +6 -12
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java
Index: PropPatchMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -r1.92 -r1.93
--- PropPatchMethod.java 21 Jan 2005 18:17:50 -0000 1.92
+++ PropPatchMethod.java 25 Feb 2005 17:03:52 -0000 1.93
@@ -55,7 +55,6 @@
import org.apache.slide.webdav.util.PreconditionViolationException;
import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
@@ -88,10 +87,6 @@
// ----------------------------------------------------- Instance
Variables
- /**
- * The helpers used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
protected PropertyHelper propertyHelper = null;
/**
@@ -152,8 +147,6 @@
protected void parseRequest()
throws WebdavException {
- versioningHelper =
- VersioningHelper.getVersioningHelper( slideToken, token, req,
resp, config );
propertyHelper =
PropertyHelper.getPropertyHelper( slideToken, token, getConfig()
);
@@ -254,8 +247,6 @@
try {
if ( WebdavEvent.PROPPATCH.isEnabled() )
EventDispatcher.getInstance().fireVetoableEvent(WebdavEvent.PROPPATCH, new
WebdavEvent(this));
- VersioningHelper vHelp =
- VersioningHelper.getVersioningHelper(slideToken, token, req,
resp, getConfig() );
NodeRevisionDescriptors revisionDescriptors =
content.retrieve(slideToken, resourcePath);
@@ -289,8 +280,10 @@
!notVersionForPropPatch(token.getUri(slideToken,
resourcePath)) &&
versioningHelper.mustCheckoutAutoVersionedVCR(revisionDescriptors,
revisionDescriptor) ) {
- vHelp.checkout(revisionDescriptors, revisionDescriptor,
false, false, true );
- mustCheckIn =
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors,
revisionDescriptor);
+ versioningHelper.checkout(revisionDescriptors,
+ revisionDescriptor, false, false, true);
+ mustCheckIn = versioningHelper.mustCheckinAutoVersionedVCR(
+ slideToken, revisionDescriptors, revisionDescriptor);
}
// Modifying the properties
@@ -371,7 +364,8 @@
// Changed for DeltaV --start--
if( Configuration.useVersionControl() && mustCheckIn) {
- vHelp.checkin(revisionDescriptors, revisionDescriptor,
false, false, true ); //forkOk=false, keepCheckedOut=false
+ versioningHelper.checkin(revisionDescriptors,
revisionDescriptor,
+ false, false, true ); //forkOk=false,
keepCheckedOut=false
}
// Changed for DeltaV --end--
1.92 +0 -7
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java
Index: PutMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- PutMethod.java 2 Feb 2005 11:32:40 -0000 1.91
+++ PutMethod.java 25 Feb 2005 17:03:52 -0000 1.92
@@ -52,7 +52,6 @@
import org.apache.slide.webdav.util.PreconditionViolationException;
import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
@@ -72,10 +71,6 @@
// ----------------------------------------------------- Instance
Variables
- /**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
protected PropertyHelper propertyHelper = null;
/**
@@ -120,8 +115,6 @@
*/
protected void parseRequest()
throws WebdavException {
- versioningHelper = VersioningHelper.getVersioningHelper(slideToken,
- token, req, resp, config);
propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token,
getConfig());
1.21 +3 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/RebindMethod.java
Index: RebindMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/RebindMethod.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- RebindMethod.java 20 Dec 2004 12:07:24 -0000 1.20
+++ RebindMethod.java 25 Feb 2005 17:03:53 -0000 1.21
@@ -29,7 +29,6 @@
import org.apache.slide.common.NamespaceAccessToken;
import org.apache.slide.common.ServiceAccessException;
import org.apache.slide.common.SlideException;
-import org.apache.slide.common.UriPath;
import org.apache.slide.event.EventDispatcher;
import org.apache.slide.lock.NodeLock;
import org.apache.slide.lock.ObjectLockedException;
1.74 +5 -10
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/ReportMethod.java
Index: ReportMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/ReportMethod.java,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- ReportMethod.java 26 Oct 2004 20:06:01 -0000 1.73
+++ ReportMethod.java 25 Feb 2005 17:03:53 -0000 1.74
@@ -43,7 +43,6 @@
import org.apache.slide.webdav.util.AclConstants;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.jdom.Document;
import org.jdom.Element;
@@ -61,7 +60,6 @@
private String resourcePath;
private AbstractReport reportWorker;
private String servletPath;
- private VersioningHelper versioningHelper;
/**
* Constructor.
@@ -95,11 +93,8 @@
if (resourcePath == null) {
resourcePath = "/";
}
- servletPath = req.getServletPath();
-
- versioningHelper =
- VersioningHelper.getVersioningHelper(slideToken, token, req,
resp, config);
-
+ servletPath = req.getServletPath();
+
try{
reportElm = parseRequestContent().getRootElement();
reportName = reportElm.getName();
1.13 +1 -1
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/SubscribeMethod.java
Index: SubscribeMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/SubscribeMethod.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SubscribeMethod.java 21 Dec 2004 16:03:37 -0000 1.12
+++ SubscribeMethod.java 25 Feb 2005 17:03:53 -0000 1.13
@@ -94,7 +94,7 @@
resp.setStatus(WebdavStatus.SC_OK);
}
} catch (Exception e) {
- int statusCode = getErrorCode( (Exception)e );
+ int statusCode = getErrorCode(e);
sendError( statusCode, e );
throw new WebdavException( statusCode );
}
1.22 +4 -12
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UncheckoutMethod.java
Index: UncheckoutMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UncheckoutMethod.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- UncheckoutMethod.java 26 Oct 2004 20:06:00 -0000 1.21
+++ UncheckoutMethod.java 25 Feb 2005 17:03:53 -0000 1.22
@@ -32,7 +32,6 @@
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.jdom.JDOMException;
@@ -44,11 +43,6 @@
FineGrainedLockingMethod {
/**
- * String constant for <code>no-cache</code>.
- */
- protected static final String NO_CACHE = "no-cache";
-
- /**
* Resource to be written.
*/
private String resourcePath;
@@ -135,9 +129,7 @@
try {
if ( WebdavEvent.UNCHECKOUT.isEnabled() )
EventDispatcher.getInstance().fireVetoableEvent(WebdavEvent.UNCHECKOUT, new
WebdavEvent(this));
- VersioningHelper vh = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
- vh.uncheckout(resourcePath);
+ versioningHelper.uncheckout(resourcePath);
}
catch (PreconditionViolationException e) {
sendPreconditionViolation(e);
1.45 +1 -5
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnlockMethod.java
Index: UnlockMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnlockMethod.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- UnlockMethod.java 21 Dec 2004 16:04:19 -0000 1.44
+++ UnlockMethod.java 25 Feb 2005 17:03:53 -0000 1.45
@@ -48,7 +48,6 @@
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavConstants;
import org.apache.slide.webdav.util.WebdavStatus;
@@ -262,10 +261,7 @@
&&
(checkinLocktokenProperty.getValue() != null)
&&
lockId.equals(checkinLocktokenProperty
.getValue().toString())) {
- VersioningHelper versionHelper
= VersioningHelper
-
.getVersioningHelper(slideToken, token, req,
-
resp, config);
-
versionHelper.checkin(revisionDescriptors,
+
versioningHelper.checkin(revisionDescriptors,
revisionDescriptor, false, false, true);
}
}
1.5 +4 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnsubscribeMethod.java
Index: UnsubscribeMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnsubscribeMethod.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- UnsubscribeMethod.java 2 Aug 2004 16:36:01 -0000 1.4
+++ UnsubscribeMethod.java 25 Feb 2005 17:03:53 -0000 1.5
@@ -66,7 +66,7 @@
}
resp.setStatus(WebdavStatus.SC_OK);
} catch (Exception e) {
- int statusCode = getErrorCode( (Exception)e );
+ int statusCode = getErrorCode(e);
sendError( statusCode, e );
throw new WebdavException( statusCode );
}
1.35 +3 -12
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UpdateMethod.java
Index: UpdateMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UpdateMethod.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- UpdateMethod.java 31 Oct 2004 11:32:39 -0000 1.34
+++ UpdateMethod.java 25 Feb 2005 17:03:53 -0000 1.35
@@ -49,7 +49,6 @@
import org.apache.slide.webdav.util.PropertyRetriever;
import org.apache.slide.webdav.util.PropertyRetrieverImpl;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.WebdavStatus;
import org.apache.slide.webdav.util.WebdavUtils;
@@ -81,11 +80,6 @@
private RequestedProperties requestedProps;
/**
- * The VersioningHelper used by this instance.
- */
- protected VersioningHelper versioningHelper = null;
-
- /**
* The URI of the server, e.g. <code>localhost:4000</code>.
*/
protected String serverUri = null;
@@ -125,9 +119,6 @@
*/
protected void parseRequest() throws WebdavException {
- versioningHelper = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
-// readRequestContent();
serverUri = req.getServerName() + ":" + req.getServerPort();
propertyRetriever = new PropertyRetrieverImpl(token, slideToken,
getConfig());
1.34 +2 -5
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java
Index: VersionControlMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- VersionControlMethod.java 21 Dec 2004 16:03:37 -0000 1.33
+++ VersionControlMethod.java 25 Feb 2005 17:03:53 -0000 1.34
@@ -36,7 +36,6 @@
import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.VersioningHelper;
import org.apache.slide.webdav.util.WebdavStatus;
import org.jdom.Element;
import org.jdom.JDOMException;
@@ -167,12 +166,10 @@
}
if ( WebdavEvent.VERSION_CONTROL.isEnabled() )
EventDispatcher.getInstance().fireVetoableEvent(WebdavEvent.VERSION_CONTROL,
new WebdavEvent(this));
- VersioningHelper vh = VersioningHelper.getVersioningHelper(
- slideToken, token, req, resp, getConfig() );
if( existingVersionPath == null )
- vh.versionControl( resourcePath );
+ versioningHelper.versionControl(resourcePath);
else
- vh.versionControl( resourcePath, existingVersionPath );
+ versioningHelper.versionControl(resourcePath,
existingVersionPath);
}
catch (PreconditionViolationException e) {
sendPreconditionViolation(e);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]