juergen 2004/06/16 07:46:26
Modified: src/webdav/server/org/apache/slide/webdav/util/resourcekind
AbstractResourceKind.java
src/webdav/server/org/apache/slide/webdav/method
CopyMethod.java PropPatchMethod.java PutMethod.java
src/webdav/server/org/apache/slide/webdav/util
DeltavConstants.java VersioningHelper.java
Log:
Added new auto-version value: checkout-ignore-unlock, which forces the unlock
command never to issue an implicit checkin command.
Revision Changes Path
1.29 +4 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/AbstractResourceKind.java
Index: AbstractResourceKind.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/AbstractResourceKind.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- AbstractResourceKind.java 11 Feb 2004 11:30:42 -0000 1.28
+++ AbstractResourceKind.java 16 Jun 2004 14:46:25 -0000 1.29
@@ -76,7 +76,7 @@
* e.g. <code>checkout-checkin</code>.
*/
protected final static String[] SUPPORTED_AUTO_VERSION_ELEMENTS =
- new String[] {EMPTY_STRING, E_CHECKOUT, E_CHECKOUT_CHECKIN,
E_CHECKOUT_UNLOCKED_CHECKIN, E_LOCKED_CHECKOUT};
+ new String[] {EMPTY_STRING, E_CHECKOUT, E_CHECKOUT_IGNORE_UNLOCK,
E_CHECKOUT_CHECKIN, E_CHECKOUT_UNLOCKED_CHECKIN, E_LOCKED_CHECKOUT};
/**
* A String array containing the names of the Elements supported as a
1.62 +4 -3
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.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- CopyMethod.java 24 Feb 2004 17:03:33 -0000 1.61
+++ CopyMethod.java 16 Jun 2004 14:46:25 -0000 1.62
@@ -670,6 +670,7 @@
if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
!E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
!E_CHECKOUT.equals(autoVersion) &&
+ !E_CHECKOUT_IGNORE_UNLOCK.equals(autoVersion) &&
!E_LOCKED_CHECKOUT.equals(autoVersion) ) {
throw new PreconditionViolationException(new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
WebdavStatus.SC_FORBIDDEN), destinationUri);
1.79 +4 -3
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.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- PropPatchMethod.java 14 Jun 2004 12:38:35 -0000 1.78
+++ PropPatchMethod.java 16 Jun 2004 14:46:25 -0000 1.79
@@ -583,6 +583,7 @@
if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
!E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
!E_CHECKOUT.equals(autoVersion) &&
+ !E_CHECKOUT_IGNORE_UNLOCK.equals(autoVersion) &&
!E_LOCKED_CHECKOUT.equals(autoVersion) ) {
return new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_PROPERTY,
WebdavStatus.SC_FORBIDDEN);
1.74 +4 -3
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.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- PutMethod.java 25 Apr 2004 17:33:50 -0000 1.73
+++ PutMethod.java 16 Jun 2004 14:46:25 -0000 1.74
@@ -462,6 +462,7 @@
if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
!E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
!E_CHECKOUT.equals(autoVersion) &&
+ !E_CHECKOUT_IGNORE_UNLOCK.equals(autoVersion) &&
!E_LOCKED_CHECKOUT.equals(autoVersion) ) {
return new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
WebdavStatus.SC_FORBIDDEN);
1.29 +4 -3
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/DeltavConstants.java
Index: DeltavConstants.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/DeltavConstants.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- DeltavConstants.java 11 Feb 2004 11:30:34 -0000 1.28
+++ DeltavConstants.java 16 Jun 2004 14:46:25 -0000 1.29
@@ -84,6 +84,7 @@
String E_CHECKIN_FORK =
"checkin-fork";
String E_CHECKIN_RESPONSE =
"checkin-response";
String E_CHECKOUT =
"checkout";
+ String E_CHECKOUT_IGNORE_UNLOCK =
"checkout-ignore-unlock";
String E_CHECKOUT_CHECKIN =
"checkout-checkin";
String E_CHECKOUT_FORK =
"checkout-fork";
String E_CHECKOUT_RESPONSE =
"checkout-response";
1.101 +6 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java
Index: VersioningHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -r1.100 -r1.101
--- VersioningHelper.java 14 Jun 2004 12:38:36 -0000 1.100
+++ VersioningHelper.java 16 Jun 2004 14:46:25 -0000 1.101
@@ -789,7 +789,8 @@
rNrd.setProperty(property);
}
- if (isAutoVersionCheckout) {
+ if (isAutoVersionCheckout &&
+
!(E_CHECKOUT_IGNORE_UNLOCK.equals(getAutoVersionElementName(rNrd)))) {
NodeLock writeLock = getWriteLock(readonlySlideToken(), rNrds);
if (writeLock != null) {
NodeProperty p =
@@ -1712,6 +1713,7 @@
( DeltavConstants.E_CHECKOUT_CHECKIN.equals(autoVersionValue) ||
DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersionValue) ||
DeltavConstants.E_CHECKOUT.equals(autoVersionValue) ||
+
DeltavConstants.E_CHECKOUT_IGNORE_UNLOCK.equals(autoVersionValue) ||
DeltavConstants.E_LOCKED_CHECKOUT.equals(autoVersionValue)
) );
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]