You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by pn...@apache.org on 2002/03/01 17:47:44 UTC
cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method PutMethod.java
pnever 02/03/01 08:47:44
Modified: src/webdav/server/org/apache/slide/webdav/method
PutMethod.java
Log:
- Using versioning helper to retrieve descriptors
- Added auto-versioning
Revision Changes Path
1.26 +61 -5 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.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- PutMethod.java 22 Feb 2002 17:19:11 -0000 1.25
+++ PutMethod.java 1 Mar 2002 16:47:44 -0000 1.26
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v 1.25 2002/02/22 17:19:11 pnever Exp $
- * $Revision: 1.25 $
- * $Date: 2002/02/22 17:19:11 $
+ * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v 1.26 2002/03/01 16:47:44 pnever Exp $
+ * $Revision: 1.26 $
+ * $Date: 2002/03/01 16:47:44 $
*
* ====================================================================
*
@@ -79,13 +79,17 @@
import org.apache.slide.webdav.*;
import org.apache.slide.authenticate.CredentialsToken;
import org.apache.slide.webdav.util.WebdavUtils;
+import org.apache.slide.webdav.util.DeltavConstants;
+import org.apache.slide.webdav.util.VersioningHelper;
+import org.apache.slide.util.Configuration;
/**
* PUT method.
*
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
*/
-public class PutMethod extends WebdavMethod {
+public class PutMethod extends WebdavMethod
+implements DeltavConstants {
// -------------------------------------------------------------- Constants
@@ -146,17 +150,40 @@
try {
try {
+ // Changed for DeltaV --start--
+// NodeRevisionDescriptors revisionDescriptors =
+// content.retrieve(slideToken, resourcePath);
+ NodeRevisionDescriptors revisionDescriptors;
+ VersioningHelper vHelp = VersioningHelper.getVersioningHelper(
+ slideToken, token, req, resp, getConfig() );
- NodeRevisionDescriptors revisionDescriptors =
+ if( !Configuration.useVersionControl() ) {
+ revisionDescriptors =
content.retrieve(slideToken, resourcePath);
+ }
+ else {
+ revisionDescriptors =
+ vHelp.retrieveRevisionDescriptors( resourcePath );
+ }
+ // Changed for DeltaV --end--
NodeRevisionNumber revisionNumber =
revisionDescriptors.getLatestRevision();
NodeRevisionDescriptor oldRevisionDescriptor = null;
if (revisionNumber != null) {
try {
+ // Changed for DeltaV --start--
+// oldRevisionDescriptor = content.retrieve
+// (slideToken, revisionDescriptors);
+ if( !Configuration.useVersionControl() ) {
oldRevisionDescriptor = content.retrieve
(slideToken, revisionDescriptors);
+ }
+ else {
+ oldRevisionDescriptor = vHelp.retrieveLatestRevisionDescriptor(
+ resourcePath, revisionDescriptors );
+ }
+ // Changed for DeltaV --end--
} catch (RevisionDescriptorNotFoundException e) {
}
}
@@ -172,6 +199,21 @@
revisionDescriptor = oldRevisionDescriptor;
revisionDescriptor.setContentLength(-1);
}
+
+ // Changed for DeltaV --start--
+ if( Configuration.useVersionControl() ) {
+ NodeProperty avProp =
+ revisionDescriptor.getProperty( P_AUTO_VERSION );
+
+ if( avProp != null && avProp.getValue() != null
+ && ((String)avProp.getValue()).indexOf(E_CHECKOUT_CHECKIN) >= 0 ) {
+
+ vHelp.checkout(
+ revisionDescriptors, revisionDescriptor, false, false ); //forkOk=false, applyToVersion=false
+ }
+ }
+ // Changed for DeltaV --end--
+
NodeRevisionContent revisionContent =
new NodeRevisionContent();
//revisionContent.setContent(req.getReader());
@@ -216,6 +258,20 @@
revisionContent);
resp.setStatus(WebdavStatus.SC_NO_CONTENT);
+
+ // Changed for DeltaV --start--
+ if( Configuration.useVersionControl() ) {
+ NodeProperty avProp =
+ revisionDescriptor.getProperty( P_AUTO_VERSION );
+
+ if( avProp != null && avProp.getValue() != null
+ && ((String)avProp.getValue()).indexOf(E_CHECKOUT_CHECKIN) >= 0 ) {
+
+ vHelp.checkin(
+ revisionDescriptors, revisionDescriptor, false, false ); //forkOk=false, keepCheckedOut=false
+ }
+ }
+ // Changed for DeltaV --end--
} catch (LinkedObjectNotFoundException e) {
// Nothing we can do here ...
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>