juergen     02/04/08 05:47:00

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        UnlockMethod.java
  Log:
  Check-in resource if this has to be done due to auto-versioning semantics.
  (ralf)
  
  Revision  Changes    Path
  1.17      +30 -6     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnlockMethod.java
  
  Index: UnlockMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnlockMethod.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- UnlockMethod.java 28 Mar 2002 06:12:12 -0000      1.16
  +++ UnlockMethod.java 8 Apr 2002 12:47:00 -0000       1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnlockMethod.java,v
 1.16 2002/03/28 06:12:12 jericho Exp $
  - * $Revision: 1.16 $
  - * $Date: 2002/03/28 06:12:12 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnlockMethod.java,v
 1.17 2002/04/08 12:47:00 juergen Exp $
  + * $Revision: 1.17 $
  + * $Date: 2002/04/08 12:47:00 $
    *
    * ====================================================================
    *
  @@ -76,6 +76,16 @@
   import org.apache.slide.content.*;
   import org.apache.slide.security.AccessDeniedException;
   import org.apache.slide.structure.*;
  +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.webdav.util.PreconditionViolationException;
  +import org.apache.slide.webdav.util.ViolatedPrecondition;
  +import org.apache.slide.webdav.util.UriHandler;
  +import org.apache.slide.webdav.util.resourcekind.ResourceKind;
  +import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
  +import org.apache.slide.webdav.util.resourcekind.CheckedOutVersionControlled;
  +import org.apache.slide.util.Configuration;
   
   /**
    * UNLOCK method.
  @@ -162,13 +172,27 @@
                   
                   lock.unlock(slideToken, requestUri, lockId);
                   
  -                // Checking if the resource at the URI isn't a lock-null
  -                // resource, in which case we must attempt to delete it
  -                ObjectNode node = structure.retrieve(slideToken, requestUri);
                   NodeRevisionDescriptors revisionDescriptors =
                       content.retrieve(slideToken, requestUri);
                   NodeRevisionDescriptor revisionDescriptor =
                       content.retrieve(slideToken, revisionDescriptors);
  +                
  +                // Check if resource must be checked in due to auto-versioning
  +                // semantics.
  +                ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(revisionDescriptor);
  +                if( Configuration.useVersionControl() &&
  +                       (resourceKind instanceof CheckedOutVersionControlled) ) {
  +                    NodeProperty checkinLocktokenProperty = 
revisionDescriptor.getProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN);
  +                    if ( (checkinLocktokenProperty != null) && 
(checkinLocktokenProperty.getValue() != null) &&
  +                        
lockId.equals(checkinLocktokenProperty.getValue().toString()) ) {
  +                        VersioningHelper versionHelper = 
VersioningHelper.getVersioningHelper(slideToken, token, req, resp, config);
  +                        versionHelper.checkin(revisionDescriptors, 
revisionDescriptor, false, false);
  +                    }
  +                }
  +                
  +                // Checking if the resource at the URI isn't a lock-null
  +                // resource, in which case we must attempt to delete it
  +                ObjectNode node = structure.retrieve(slideToken, requestUri);
   //                String typeProperty = revisionDescriptor.getResourceType();
                   
   //                if (typeProperty.equals("<lock-null/>")) {
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to