juergen 02/04/16 04:19:29
Modified: src/webdav/server/org/apache/slide/webdav/method
CopyMethod.java
Log:
Fixed bug in method afterCopy():
Set <workspace> property if needed.
Copy DeltaV-specific "0.0" revision if needed.
(ralf)
Revision Changes Path
1.24 +23 -11
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.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- CopyMethod.java 11 Apr 2002 12:57:03 -0000 1.23
+++ CopyMethod.java 16 Apr 2002 11:19:29 -0000 1.24
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
1.23 2002/04/11 12:57:03 juergen Exp $
- * $Revision: 1.23 $
- * $Date: 2002/04/11 12:57:03 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
1.24 2002/04/16 11:19:29 juergen Exp $
+ * $Revision: 1.24 $
+ * $Date: 2002/04/16 11:19:29 $
*
* ====================================================================
*
@@ -252,9 +252,9 @@
if(Configuration.useVersionControl()) {
- NodeRevisionDescriptors revisionDescriptors =
versioningHelper.retrieveRevisionDescriptors(destinationUri);
- NodeRevisionDescriptor revisionDescriptor =
versioningHelper.retrieveLatestRevisionDescriptor(destinationUri, revisionDescriptors);
- ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(revisionDescriptor);
+ NodeRevisionDescriptors destinationRevisionDescriptors =
versioningHelper.retrieveRevisionDescriptors(destinationUri);
+ NodeRevisionDescriptor destinationRevisionDescriptor =
versioningHelper.retrieveLatestRevisionDescriptor(destinationUri,
destinationRevisionDescriptors);
+ ResourceKind resourceKind =
AbstractResourceKind.determineResourceKind(destinationRevisionDescriptor);
String checkedOutPropertyValue =
(String)checkedOutDestinationsMap.get(destinationUri);
if (checkedOutPropertyValue != null) {
@@ -274,22 +274,34 @@
if
(DeltavConstants.DELTAV_PROPERTY_LIST.contains(property.getName())) {
if (checkedOutPropertyValue != null) {
// use initial value
- revisionDescriptor.setProperty(property);
+ destinationRevisionDescriptor.setProperty(property);
}
else {
- revisionDescriptor.removeProperty(property);
+ destinationRevisionDescriptor.removeProperty(property);
}
}
}
// restore <checked-out> property
if (checkedOutPropertyValue != null) {
- revisionDescriptor.setProperty(new NodeProperty(P_CHECKED_OUT,
+ destinationRevisionDescriptor.setProperty(new
NodeProperty(P_CHECKED_OUT,
checkedOutPropertyValue, true));
}
- content.store(slideToken, revisionDescriptors.getUri(),
revisionDescriptor, null);
+ // set <workspace> property
+ versioningHelper.setWorkspaceProperty(destinationUri,
destinationRevisionDescriptor);
+
+ content.store(slideToken, destinationRevisionDescriptors.getUri(),
destinationRevisionDescriptor, null);
+
+ // copy DeltaV-specific "0.0" revision if exists
+ try {
+ NodeRevisionDescriptor specialRevisionDescriptor =
content.retrieve(slideToken,
+
destinationRevisionDescriptors,
+
new NodeRevisionNumber(0, 0));
+ content.create(slideToken,
destinationRevisionDescriptors.getUri(), specialRevisionDescriptor.cloneObject(),
null);
+ }
+ catch (SlideException e) {}
// checkin if necessary
- boolean mustCheckin =
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors,
revisionDescriptor);
+ boolean mustCheckin =
versioningHelper.mustCheckinAutoVersionedVCR(slideToken,
destinationRevisionDescriptors, destinationRevisionDescriptor);
if (mustCheckin) {
try {
versioningHelper.checkin(destinationUri, false, false );
//forkOk=false, keepCheckedOut=false
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>