juergen 02/04/10 00:25:37
Modified: src/webdav/server/org/apache/slide/webdav/method
PropPatchMethod.java PutMethod.java
src/webdav/server/org/apache/slide/webdav/util
VersioningHelper.java
Log:
Moved setting/removing of property 'checkin-locktoken' needed for auto-versioning)
to VersioningHelper.
(ralf)
Revision Changes Path
1.34 +10 -17
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.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- PropPatchMethod.java 9 Apr 2002 08:12:33 -0000 1.33
+++ PropPatchMethod.java 10 Apr 2002 07:25:37 -0000 1.34
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
1.33 2002/04/09 08:12:33 juergen Exp $
- * $Revision: 1.33 $
- * $Date: 2002/04/09 08:12:33 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
1.34 2002/04/10 07:25:37 juergen Exp $
+ * $Revision: 1.34 $
+ * $Date: 2002/04/10 07:25:37 $
*
* ====================================================================
*
@@ -330,13 +330,7 @@
(resourceKind instanceof CheckedInVersionControlled) &&
versioningHelper.mustCheckoutAutoVersionedVCR(revisionDescriptors,
revisionDescriptor) ) {
- vHelp.checkout(revisionDescriptors, revisionDescriptor, false,
false ); //forkOk=false, applyToVersion=false
- if ( ! versioningHelper.mustCheckinAutoVersionedVCR(slideToken,
revisionDescriptors, revisionDescriptor) ) {
- NodeLock writeLock = versioningHelper.getWriteLock(slideToken,
revisionDescriptors);
- if (writeLock != null) {
- revisionDescriptor.setProperty(new
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, writeLock.getLockId(), true));
- }
- }
+ vHelp.checkout(revisionDescriptors, revisionDescriptor, false,
false, true );
mustCheckIn =
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors,
revisionDescriptor);
}
@@ -387,7 +381,6 @@
// Changed for DeltaV --start--
if( Configuration.useVersionControl() && mustCheckIn) {
- revisionDescriptor.removeProperty(new
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, null, true));
vHelp.checkin(revisionDescriptors, revisionDescriptor, false, false
); //forkOk=false, keepCheckedOut=false
}
// Changed for DeltaV --end--
@@ -665,19 +658,19 @@
if (resourceKind instanceof CheckedInVersionControlled) {
// check precondition DAV:cannot-modify-version-controlled-property
- String autoVersion =
versioningHelper.getAutoVersionValue(revisionDescriptor);
+ String autoVersion =
versioningHelper.getAutoVersionElementName(revisionDescriptor);
if (autoVersion == null) {
autoVersion = "";
}
- if ( (autoVersion.indexOf(E_CHECKOUT_CHECKIN) < 0) &&
- (autoVersion.indexOf(E_CHECKOUT_UNLOCKED_CHECKIN) < 0) &&
- (autoVersion.indexOf(E_CHECKOUT) < 0) &&
- (autoVersion.indexOf(E_LOCKED_CHECKOUT) < 0) ) {
+ if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
+ !E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
+ !E_CHECKOUT.equals(autoVersion) &&
+ !E_LOCKED_CHECKOUT.equals(autoVersion) ) {
return new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_PROPERTY,
WebdavStatus.SC_FORBIDDEN);
}
- if (autoVersion.indexOf(E_LOCKED_CHECKOUT) > 0) {
+ if (E_LOCKED_CHECKOUT.equals(autoVersion)) {
if ( !versioningHelper.isWriteLocked(slideToken,
revisionDescriptors) ) {
return new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_PROPERTY,
WebdavStatus.SC_FORBIDDEN);
1.40 +10 -18
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.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- PutMethod.java 9 Apr 2002 08:11:06 -0000 1.39
+++ PutMethod.java 10 Apr 2002 07:25:37 -0000 1.40
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
1.39 2002/04/09 08:11:06 juergen Exp $
- * $Revision: 1.39 $
- * $Date: 2002/04/09 08:11:06 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
1.40 2002/04/10 07:25:37 juergen Exp $
+ * $Revision: 1.40 $
+ * $Date: 2002/04/10 07:25:37 $
*
* ====================================================================
*
@@ -236,13 +236,7 @@
(resourceKind instanceof CheckedInVersionControlled) &&
versioningHelper.mustCheckoutAutoVersionedVCR(revisionDescriptors, revisionDescriptor)
) {
- vHelp.checkout(revisionDescriptors, revisionDescriptor, false,
false ); //forkOk=false, applyToVersion=false
- if ( ! versioningHelper.mustCheckinAutoVersionedVCR(slideToken,
revisionDescriptors, revisionDescriptor) ) {
- NodeLock writeLock =
versioningHelper.getWriteLock(slideToken, revisionDescriptors);
- if (writeLock != null) {
- revisionDescriptor.setProperty(new
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, writeLock.getLockId(), true));
- }
- }
+ vHelp.checkout(revisionDescriptors, revisionDescriptor, false,
false, true );
mustCheckIn =
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors,
revisionDescriptor);
}
// Changed for DeltaV --end--
@@ -294,7 +288,6 @@
// Changed for DeltaV --start--
if( Configuration.useVersionControl() && mustCheckIn) {
- revisionDescriptor.removeProperty(new
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, null, true));
vHelp.checkin(revisionDescriptors, revisionDescriptor, false,
false ); //forkOk=false, keepCheckedOut=false
}
// Changed for DeltaV --end--
@@ -433,19 +426,18 @@
if (resourceKind instanceof CheckedInVersionControlled) {
// check precondition DAV:cannot-modify-version-controlled-content
- String autoVersion =
versioningHelper.getAutoVersionValue(revisionDescriptor);
+ String autoVersion =
versioningHelper.getAutoVersionElementName(revisionDescriptor);
if (autoVersion == null) {
autoVersion = "";
}
-
- if ( (autoVersion.indexOf(E_CHECKOUT_CHECKIN) < 0) &&
- (autoVersion.indexOf(E_CHECKOUT_UNLOCKED_CHECKIN) < 0) &&
- (autoVersion.indexOf(E_CHECKOUT) < 0) &&
- (autoVersion.indexOf(E_LOCKED_CHECKOUT) < 0) ) {
+ if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
+ !E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
+ !E_CHECKOUT.equals(autoVersion) &&
+ !E_LOCKED_CHECKOUT.equals(autoVersion) ) {
return new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
WebdavStatus.SC_FORBIDDEN);
}
- if ( (autoVersion.indexOf(E_LOCKED_CHECKOUT) > 0) &&
+ if ( E_LOCKED_CHECKOUT.equals(autoVersion) &&
( !versioningHelper.isWriteLocked(slideToken,
revisionDescriptors) ) ) {
return new
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
WebdavStatus.SC_FORBIDDEN);
1.24 +45 -16
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.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- VersioningHelper.java 8 Apr 2002 12:44:48 -0000 1.23
+++ VersioningHelper.java 10 Apr 2002 07:25:37 -0000 1.24
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
1.23 2002/04/08 12:44:48 juergen Exp $
- * $Revision: 1.23 $
- * $Date: 2002/04/08 12:44:48 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
1.24 2002/04/10 07:25:37 juergen Exp $
+ * $Revision: 1.24 $
+ * $Date: 2002/04/10 07:25:37 $
*
* ====================================================================
*
@@ -395,10 +395,18 @@
*/
public void checkout( String resourcePath, boolean forkOk, boolean
applyToVersion )
throws SlideException, JDOMException, IOException,
PreconditionViolationException {
+ checkout(resourcePath, forkOk, applyToVersion, false);
+ }
+
+ /**
+ * Checkout the specified resource
+ */
+ public void checkout( String resourcePath, boolean forkOk, boolean
applyToVersion, boolean isAutoVersionCheckout )
+ throws SlideException, JDOMException, IOException,
PreconditionViolationException {
NodeRevisionDescriptors rNrds = retrieveRevisionDescriptors( resourcePath );
NodeRevisionDescriptor rNrd = retrieveLatestRevisionDescriptor(
resourcePath, rNrds );
- checkout( rNrds, rNrd, forkOk, applyToVersion );
+ checkout( rNrds, rNrd, forkOk, applyToVersion, isAutoVersionCheckout);
}
/**
@@ -407,6 +415,15 @@
public void checkout( NodeRevisionDescriptors rNrds,
NodeRevisionDescriptor rNrd, boolean forkOk, boolean applyToVersion )
throws SlideException, JDOMException, IOException,
PreconditionViolationException {
+ checkout(rNrds, rNrd, forkOk, applyToVersion, false);
+ }
+
+ /**
+ * Checkout the specified resource
+ */
+ public void checkout( NodeRevisionDescriptors rNrds,
+ NodeRevisionDescriptor rNrd, boolean forkOk, boolean
applyToVersion, boolean isAutoVersionCheckout )
+ throws SlideException, JDOMException, IOException,
PreconditionViolationException {
Iterator i;
ResourceKind rRk = AbstractResourceKind.determineResourceKind( rNrd );
@@ -450,6 +467,15 @@
rNrd.setProperty(
new NodeProperty(P_PREDECESSOR_SET, cinProp.getValue()) );
+ if (isAutoVersionCheckout) {
+ NodeLock writeLock = getWriteLock(sToken, rNrds);
+ if (writeLock != null) {
+ rNrd.setProperty(new
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN,
+ writeLock.getLockId(),
+ true));
+ }
+ }
+
// Store changes
content.store( sToken, rNrds.getUri(), rNrd, null );
//revisionContent=null
}
@@ -676,6 +702,8 @@
rNrd.removeProperty( coutProp );
rNrd.setProperty(
new NodeProperty(P_CHECKED_IN, pHelp.createHrefValue(vrUriNew)) );
+ rNrd.removeProperty(new
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, null, true));
+
vhrNrd.setLastModified( new Date() ); // P_GETLASTMODIFIED
vhrNrd.setProperty( new NodeProperty(
P_VERSION_SET,
((String)vSetProp.getValue())+pHelp.createHrefValue(vrUriNew)) );
@@ -988,8 +1016,9 @@
}
/**
- * Returns the value of the <code><auto-version></code> property
- * of the given <code>revisionDescriptor</code>.
+ * Returns the name of the element that represents the value of the
+ * <code><auto-version></code> property of the given
+ * <code>revisionDescriptor</code> (e.g. <code>checkout-checkin</code>).
*
* @param revisionDescriptor the NodeRevisionDescriptor for which to
* return the value of the
@@ -998,12 +1027,12 @@
* @return the value of the <code><auto-version></code> property
* of the given <code>revisionDescriptor</code>.
*/
- public String getAutoVersionValue(NodeRevisionDescriptor revisionDescriptor) {
+ public String getAutoVersionElementName(NodeRevisionDescriptor
revisionDescriptor) {
String autoVersionValue = null;
NodeProperty autoVersionProperty =
revisionDescriptor.getProperty(DeltavConstants.P_AUTO_VERSION);
if ( (autoVersionProperty != null) && (autoVersionProperty.getValue() !=
null) ) {
- autoVersionValue = autoVersionProperty.getValue().toString();
+ autoVersionValue =
getElementName(autoVersionProperty.getValue().toString());
}
return autoVersionValue;
}
@@ -1020,12 +1049,12 @@
*/
public boolean mustCheckoutAutoVersionedVCR(NodeRevisionDescriptors
revisionDescriptors, NodeRevisionDescriptor revisionDescriptor) {
- String autoVersionValue = getAutoVersionValue(revisionDescriptor);
+ String autoVersionValue = getAutoVersionElementName(revisionDescriptor);
return ( (autoVersionValue != null) &&
- ( (autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_CHECKIN)
> 0) ||
-
(autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN) > 0) ||
- (autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT) > 0)
||
-
(autoVersionValue.indexOf(DeltavConstants.E_LOCKED_CHECKOUT) > 0) ) );
+ ( DeltavConstants.E_CHECKOUT_CHECKIN.equals(autoVersionValue) ||
+
DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersionValue) ||
+ DeltavConstants.E_CHECKOUT.equals(autoVersionValue) ||
+ DeltavConstants.E_LOCKED_CHECKOUT.equals(autoVersionValue)
) );
}
/**
@@ -1042,10 +1071,10 @@
public boolean mustCheckinAutoVersionedVCR(SlideToken slideToken,
NodeRevisionDescriptors revisionDescriptors, NodeRevisionDescriptor
revisionDescriptor) {
boolean checkin = false;
- String autoVersionValue = getAutoVersionValue(revisionDescriptor);
+ String autoVersionValue = getAutoVersionElementName(revisionDescriptor);
if (autoVersionValue != null) {
- checkin = (autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_CHECKIN)
> 0);
- if ( !checkin &&
(autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN) > 0)) {
+ checkin = DeltavConstants.E_CHECKOUT_CHECKIN.equals(autoVersionValue);
+ if ( !checkin &&
DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersionValue)) {
checkin = ! isWriteLocked(slideToken, revisionDescriptors);
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>