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>