juergen 02/04/26 06:56:13
Modified: src/webdav/server/org/apache/slide/webdav/method
DeleteMethod.java MoveMethod.java
src/webdav/server/org/apache/slide/webdav/util
VersioningHelper.java
Log:
No longer set/update properties <checkout-set> and <workspace-checkout-set> since
they are now computed.
(ralf)
Revision Changes Path
1.21 +3 -65
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.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- DeleteMethod.java 25 Apr 2002 21:12:25 -0000 1.20
+++ DeleteMethod.java 26 Apr 2002 13:56:13 -0000 1.21
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
1.20 2002/04/25 21:12:25 jericho Exp $
- * $Revision: 1.20 $
- * $Date: 2002/04/25 21:12:25 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
1.21 2002/04/26 13:56:13 juergen Exp $
+ * $Revision: 1.21 $
+ * $Date: 2002/04/26 13:56:13 $
*
* ====================================================================
*
@@ -132,20 +132,6 @@
*/
protected VersioningHelper versioningHelper = null;
- /**
- * The URI of the VR associated with the checked-out VCR which is target
- * of the delete operation used in {@link #beforeDelete beforeDelete()} and
- * {@link #afterDelete afterDelete()}.
- */
- protected String uriOfAssociatedVR = null;
-
- /**
- * The URI of the workspace associated with the checked-out VCR which is target
- * of the delete operation used in {@link #beforeDelete beforeDelete()} and
- * {@link #afterDelete afterDelete()}.
- */
- protected String uriOfAssociatedWorkspace = null;
-
// ----------------------------------------------------------- Constructors
@@ -266,24 +252,6 @@
WebdavStatus.SC_FORBIDDEN),
targetUri);
}
-
- uriOfAssociatedVR = null;
- uriOfAssociatedWorkspace = null;
-
- NodeRevisionDescriptors revisionDescriptors =
- versioningHelper.retrieveRevisionDescriptors(targetUri);
- NodeRevisionDescriptor revisionDescriptor =
- versioningHelper.retrieveLatestRevisionDescriptor(targetUri,
revisionDescriptors);
- ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(revisionDescriptor);
- if (resourceKind instanceof CheckedOutVersionControlled) {
-
- uriOfAssociatedVR = versioningHelper.getUriOfAssociatedVR(targetUri);
-
- NodeProperty workspaceProperty =
revisionDescriptor.getProperty(P_WORKSPACE);
- if ( (workspaceProperty != null) && (workspaceProperty.getValue()
!= null) ) {
- uriOfAssociatedWorkspace =
versioningHelper.getElementValue(workspaceProperty.getValue().toString());
- }
- }
}
}
@@ -299,36 +267,6 @@
* MacroDeleteException.
*/
public void afterDelete(String targetUri) throws SlideException {
-
- if( Configuration.useVersionControl() ) {
-
- if (uriOfAssociatedVR != null) {
-
- // remove the deleted VCR from the <checkout-set> from the
- // associated VR
- NodeRevisionDescriptors revisionDescriptors =
- versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedVR);
- NodeRevisionDescriptor revisionDescriptor =
-
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedVR,
revisionDescriptors);
- try {
- PropertyHelper.removeHrefFromProperty(revisionDescriptor,
P_CHECKOUT_SET, targetUri);
- content.store(slideToken, revisionDescriptors.getUri(),
revisionDescriptor, null);
- } catch (JDOMException e) {}
- }
-
- if (uriOfAssociatedWorkspace != null) {
-
- // update <workspace-checkout-set>
- NodeRevisionDescriptors workspaceRevisionDescriptors =
-
versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedWorkspace);
- NodeRevisionDescriptor workspaceRevisionDescriptor =
-
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedWorkspace,
workspaceRevisionDescriptors);
- try {
-
PropertyHelper.removeHrefFromProperty(workspaceRevisionDescriptor,
P_WORKSPACE_CHECKOUT_SET, targetUri);
- content.store(slideToken,
workspaceRevisionDescriptors.getUri(), workspaceRevisionDescriptor, null);
- } catch (JDOMException e) {}
- }
- }
}
1.31 +4 -117
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.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- MoveMethod.java 25 Apr 2002 21:27:31 -0000 1.30
+++ MoveMethod.java 26 Apr 2002 13:56:13 -0000 1.31
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
1.30 2002/04/25 21:27:31 jericho Exp $
- * $Revision: 1.30 $
- * $Date: 2002/04/25 21:27:31 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
1.31 2002/04/26 13:56:13 juergen Exp $
+ * $Revision: 1.31 $
+ * $Date: 2002/04/26 13:56:13 $
*
* ====================================================================
*
@@ -117,20 +117,6 @@
protected PropertyHelper propertyHelper = null;
/**
- * The URI of the VR associated with the checked-out VCR which is target
- * of the delete operation used in {@link #beforeDelete beforeDelete()} and
- * {@link #afterDelete afterDelete()}.
- */
- protected String uriOfAssociatedVR = null;
-
- /**
- * The URI of the workspace associated with the checked-out VCR which is target
- * of the delete operation used in {@link #beforeDelete beforeDelete()} and
- * {@link #afterDelete afterDelete()}.
- */
- protected String uriOfAssociatedWorkspace = null;
-
- /**
* Indicates if the source of the MOVE is a workspace.
*/
protected boolean isSourceWorkspace = false;
@@ -371,7 +357,6 @@
catch (SlideException e) {}
handleWorkspacePostconditions(destinationRevisionDescriptor,
destinationUri);
- updateCheckoutSets(destinationRevisionDescriptor, destinationUri);
}
}
@@ -403,54 +388,6 @@
}
}
- /**
- * If the resource specified by the given <code>revisionDescriptor</code>
- * is a checked-out VCR, its URI will be added to the
<code><checkout-set></code>
- * property of the associated VR, and to the
<code><workspace-checkout-set></code>
- * of the associated workspace (if there is any).
- *
- * @param revisionDescriptor the NodeRevisionDescriptor of the resource.
- * @param resourceUri the URI of the resource.
- *
- * @throws SlideException
- */
- private void updateCheckoutSets(NodeRevisionDescriptor revisionDescriptor,
String resourceUri) throws SlideException {
-
- ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(revisionDescriptor);
- if (resourceKind instanceof CheckedOutVersionControlled) {
-
- uriOfAssociatedVR = versioningHelper.getUriOfAssociatedVR(resourceUri);
- if (uriOfAssociatedVR != null) {
-
- // add the copy to the <checkout-set> of the associated VR
- NodeRevisionDescriptors vrRevisionDescriptors =
- versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedVR);
- NodeRevisionDescriptor vrRevisionDescriptor =
-
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedVR,
vrRevisionDescriptors);
- try {
- PropertyHelper.addHrefToProperty(vrRevisionDescriptor,
P_CHECKOUT_SET, resourceUri);
- content.store(slideToken, vrRevisionDescriptors.getUri(),
vrRevisionDescriptor, null);
- } catch (JDOMException e) {}
- }
-
- // update <workspace-checkout-set> of workspace
- NodeProperty workspaceProperty =
revisionDescriptor.getProperty(P_WORKSPACE);
- if ( (workspaceProperty != null) && (workspaceProperty.getValue() !=
null) ) {
- String workspaceUri =
versioningHelper.getElementValue(workspaceProperty.getValue().toString());
- if (workspaceUri != null) {
-
- NodeRevisionDescriptors workspaceRevisionDescriptors =
- versioningHelper.retrieveRevisionDescriptors(workspaceUri);
- NodeRevisionDescriptor workspaceRevisionDescriptor =
-
versioningHelper.retrieveLatestRevisionDescriptor(workspaceUri,
workspaceRevisionDescriptors);
- try {
-
PropertyHelper.addHrefToProperty(workspaceRevisionDescriptor,
P_WORKSPACE_CHECKOUT_SET, resourceUri);
- content.store(slideToken,
workspaceRevisionDescriptors.getUri(), workspaceRevisionDescriptor, null);
- } catch (JDOMException e) {}
- }
- }
- }
- }
// ------------------------------------------------------ Interface
DeleteListener
@@ -466,27 +403,6 @@
* MacroDeleteException.
*/
public void beforeDelete(String targetUri) throws SlideException {
-
- if( Configuration.useVersionControl() ) {
-
- uriOfAssociatedVR = null;
- uriOfAssociatedWorkspace = null;
-
- NodeRevisionDescriptors revisionDescriptors =
- versioningHelper.retrieveRevisionDescriptors(targetUri);
- NodeRevisionDescriptor revisionDescriptor =
- versioningHelper.retrieveLatestRevisionDescriptor(targetUri,
revisionDescriptors);
- ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(revisionDescriptor);
- if (resourceKind instanceof CheckedOutVersionControlled) {
-
- uriOfAssociatedVR = versioningHelper.getUriOfAssociatedVR(targetUri);
-
- NodeProperty workspaceProperty =
revisionDescriptor.getProperty(P_WORKSPACE);
- if ( (workspaceProperty != null) && (workspaceProperty.getValue() !=
null) ) {
- uriOfAssociatedWorkspace =
versioningHelper.getElementValue(workspaceProperty.getValue().toString());
- }
- }
- }
}
/**
@@ -500,38 +416,9 @@
* MacroDeleteException.
*/
public void afterDelete(String targetUri) throws SlideException {
+ }
- if( Configuration.useVersionControl() ) {
-
- if (uriOfAssociatedVR != null) {
-
- // remove the deleted VCR from the <checkout-set> from the
- // associated VR
- NodeRevisionDescriptors revisionDescriptors =
- versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedVR);
- NodeRevisionDescriptor revisionDescriptor =
-
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedVR,
revisionDescriptors);
- try {
- PropertyHelper.removeHrefFromProperty(revisionDescriptor,
P_CHECKOUT_SET, targetUri);
- content.store(slideToken, revisionDescriptors.getUri(),
revisionDescriptor, null);
- } catch (JDOMException e) {}
- }
- if (uriOfAssociatedWorkspace != null) {
-
- // update <workspace-checkout-set>
- NodeRevisionDescriptors workspaceRevisionDescriptors =
-
versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedWorkspace);
- NodeRevisionDescriptor workspaceRevisionDescriptor =
-
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedWorkspace,
workspaceRevisionDescriptors);
- try {
- PropertyHelper.removeHrefFromProperty(workspaceRevisionDescriptor,
P_WORKSPACE_CHECKOUT_SET, targetUri);
- content.store(slideToken, workspaceRevisionDescriptors.getUri(),
workspaceRevisionDescriptor, null);
- } catch (JDOMException e) {}
- }
- }
}
-
-}
1.36 +10 -64
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.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- VersioningHelper.java 26 Apr 2002 12:46:37 -0000 1.35
+++ VersioningHelper.java 26 Apr 2002 13:56:13 -0000 1.36
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
1.35 2002/04/26 12:46:37 pnever Exp $
- * $Revision: 1.35 $
- * $Date: 2002/04/26 12:46:37 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
1.36 2002/04/26 13:56:13 juergen Exp $
+ * $Revision: 1.36 $
+ * $Date: 2002/04/26 13:56:13 $
*
* ====================================================================
*
@@ -364,7 +364,6 @@
vrNrd.setCreationDate( new Date() ); // P_CREATIONDATE
vrNrd.setProperty(
new NodeProperty(P_VERSION_NAME, vrUh.getVersionName()) );
- vrNrd.setProperty(new NodeProperty(P_CHECKOUT_SET, null));
// Store changes
content.store( sToken, resourcePath, rNrd, null ); //revisionContent=null
@@ -598,23 +597,6 @@
NodeRevisionDescriptors vhrNrds = content.retrieve(sToken, cinhUri);
- // update <checkout-set>
- PropertyHelper.addHrefToProperty(cinNrd, P_CHECKOUT_SET,
rNrds.getUri());
- content.store(sToken, cinNrds.getUri(), cinNrd, null);
-
- // update <workspace-checkout-set>
- UriHandler vcrUriHandler = UriHandler.getUriHandler(nsaToken,
rNrds.getUri());
- String workspaceUri = vcrUriHandler.getAssociatedWorkspaceUri();
- if (workspaceUri != null) {
- NodeRevisionDescriptors workspaceDescriptors =
retrieveRevisionDescriptors(workspaceUri);
- NodeRevisionDescriptor workspaceDescriptor =
retrieveLatestRevisionDescriptor(workspaceUri,
-
workspaceDescriptors);
- PropertyHelper.addHrefToProperty(workspaceDescriptor,
- P_WORKSPACE_CHECKOUT_SET,
- rNrds.getUri());
- content.store( sToken, workspaceDescriptors.getUri(),
workspaceDescriptor, null);
- }
-
// do the checkout
backupProperties(rNrds, rNrd);
rNrd.removeProperty( cinProp );
@@ -741,7 +723,7 @@
*
* @return the ViolatedPrecondition (if any).
*/
- protected ViolatedPrecondition
getCheckoutPreconditionViolation(NodeRevisionDescriptors cinNrds,
NodeRevisionDescriptor cinNrd, boolean isForkOk) throws IllegalArgumentException,
IOException, JDOMException {
+ protected ViolatedPrecondition
getCheckoutPreconditionViolation(NodeRevisionDescriptors cinNrds,
NodeRevisionDescriptor cinNrd, boolean isForkOk) throws IllegalArgumentException,
IOException, JDOMException, SlideException {
ViolatedPrecondition violatedPrecondition = null;
@@ -756,30 +738,28 @@
// check precondition
C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_FORBIDDEN
if (E_FORBIDDEN.equals(checkoutForkElement.getName())) {
- violatedPrecondition = new
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_FORBIDDEN,
WebdavStatus.SC_FORBIDDEN);
+ return new
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_FORBIDDEN,
WebdavStatus.SC_FORBIDDEN);
}
// check precondition
C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_DISCOURAGED
else if (E_DISCOURAGED.equals(checkoutForkElement.getName()) &&
!isForkOk) {
- violatedPrecondition = new
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_DISCOURAGED,
WebdavStatus.SC_CONFLICT);
+ return new
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_DISCOURAGED,
WebdavStatus.SC_CONFLICT);
}
}
// check if the version is already checked out
- NodeProperty checkoutSetProperty =
cinNrd.getProperty(P_CHECKOUT_SET);
- if ( (checkoutSetProperty != null) &&
(checkoutSetProperty.getValue() != null) ) {
- XMLValue checkoutSetValue = new
XMLValue(checkoutSetProperty.getValue().toString());
+ PropertyHelper propertyHelper = new PropertyHelper(sToken,
nsaToken);
+ XMLValue checkoutSetValue =
propertyHelper.computeCheckoutSet(cinNrds, cinNrd);
if (checkoutSetValue.iterator().hasNext()) {
// check precondition
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN
if (E_FORBIDDEN.equals(checkoutForkElement.getName())) {
- violatedPrecondition = new
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN,
WebdavStatus.SC_FORBIDDEN);
+ return new
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN,
WebdavStatus.SC_FORBIDDEN);
}
// check precondition
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED
else if
(E_DISCOURAGED.equals(checkoutForkElement.getName()) && !isForkOk) {
- violatedPrecondition = new
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED,
WebdavStatus.SC_CONFLICT);
- }
+ return new
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED,
WebdavStatus.SC_CONFLICT);
}
}
}
@@ -836,23 +816,6 @@
NodeRevisionDescriptors vhrNrds = content.retrieve(sToken, coutUri);
- // update <checkout-set>
- PropertyHelper.removeHrefFromProperty(coutNrd, P_CHECKOUT_SET,
rNrds.getUri());
- content.store( sToken, coutNrds.getUri(), coutNrd, null);
-
- // update <workspace-checkout-set>
- UriHandler vcrUriHandler = UriHandler.getUriHandler(nsaToken,
rNrds.getUri());
- String workspaceUri = vcrUriHandler.getAssociatedWorkspaceUri();
- if (workspaceUri != null) {
- NodeRevisionDescriptors workspaceDescriptors =
retrieveRevisionDescriptors(workspaceUri);
- NodeRevisionDescriptor workspaceDescriptor =
retrieveLatestRevisionDescriptor(workspaceUri,
-
workspaceDescriptors);
- PropertyHelper.removeHrefFromProperty(workspaceDescriptor,
- P_WORKSPACE_CHECKOUT_SET,
- rNrds.getUri());
- content.store( sToken, workspaceDescriptors.getUri(),
workspaceDescriptor, null);
- }
-
// restore revision descriptor
restoreProperties(rNrds, rNrd);
rNrd.setLastModified(new Date());
@@ -918,23 +881,6 @@
ViolatedPrecondition violatedPrecondition =
getCheckinPreconditionViolation(predSetProp, vhrNrds, forkOk);
if (violatedPrecondition != null) {
throw new PreconditionViolationException(violatedPrecondition,
rNrds.getUri());
- }
-
- // update <checkout-set>
- PropertyHelper.removeHrefFromProperty(vrNrdOld, P_CHECKOUT_SET,
rNrds.getUri());
- content.store( sToken, vhrNrds.getUri(), vrNrdOld, null);
-
- // update <workspace-checkout-set>
- UriHandler vcrUriHandler = UriHandler.getUriHandler(nsaToken,
rNrds.getUri());
- String workspaceUri = vcrUriHandler.getAssociatedWorkspaceUri();
- if (workspaceUri != null) {
- NodeRevisionDescriptors workspaceDescriptors =
retrieveRevisionDescriptors(workspaceUri);
- NodeRevisionDescriptor workspaceDescriptor =
retrieveLatestRevisionDescriptor(workspaceUri,
-
workspaceDescriptors);
- PropertyHelper.removeHrefFromProperty(workspaceDescriptor,
- P_WORKSPACE_CHECKOUT_SET,
- rNrds.getUri());
- content.store( sToken, workspaceDescriptors.getUri(),
workspaceDescriptor, null);
}
// Create new VR in the MAIN branch
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>