juergen     02/04/10 00:25:37

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        PropPatchMethod.java PutMethod.java
               src/webdav/server/org/apache/slide/webdav/util
                        VersioningHelper.java
  Log:
  Moved setting/removing of property 'checkin-locktoken' needed for auto-versioning) 
to VersioningHelper.
  (ralf)
  
  Revision  Changes    Path
  1.34      +10 -17    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java
  
  Index: PropPatchMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- PropPatchMethod.java      9 Apr 2002 08:12:33 -0000       1.33
  +++ PropPatchMethod.java      10 Apr 2002 07:25:37 -0000      1.34
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
 1.33 2002/04/09 08:12:33 juergen Exp $
  - * $Revision: 1.33 $
  - * $Date: 2002/04/09 08:12:33 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
 1.34 2002/04/10 07:25:37 juergen Exp $
  + * $Revision: 1.34 $
  + * $Date: 2002/04/10 07:25:37 $
    *
    * ====================================================================
    *
  @@ -330,13 +330,7 @@
                      (resourceKind instanceof CheckedInVersionControlled) &&
                  versioningHelper.mustCheckoutAutoVersionedVCR(revisionDescriptors, 
revisionDescriptor) ) {
                   
  -                vHelp.checkout(revisionDescriptors, revisionDescriptor, false, 
false ); //forkOk=false, applyToVersion=false
  -                if ( ! versioningHelper.mustCheckinAutoVersionedVCR(slideToken, 
revisionDescriptors, revisionDescriptor) ) {
  -                    NodeLock writeLock = versioningHelper.getWriteLock(slideToken, 
revisionDescriptors);
  -                    if (writeLock != null) {
  -                        revisionDescriptor.setProperty(new 
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, writeLock.getLockId(), true));
  -                    }
  -                }
  +                vHelp.checkout(revisionDescriptors, revisionDescriptor, false, 
false, true );
                   mustCheckIn = 
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors, 
revisionDescriptor);
               }
               
  @@ -387,7 +381,6 @@
               
               // Changed for DeltaV --start--
               if( Configuration.useVersionControl() && mustCheckIn) {
  -                revisionDescriptor.removeProperty(new 
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, null, true));
                   vHelp.checkin(revisionDescriptors, revisionDescriptor, false, false 
); //forkOk=false, keepCheckedOut=false
               }
               // Changed for DeltaV --end--
  @@ -665,19 +658,19 @@
               if (resourceKind instanceof CheckedInVersionControlled) {
                   
                   // check precondition DAV:cannot-modify-version-controlled-property
  -                String autoVersion = 
versioningHelper.getAutoVersionValue(revisionDescriptor);
  +                String autoVersion = 
versioningHelper.getAutoVersionElementName(revisionDescriptor);
                   if (autoVersion == null) {
                       autoVersion = "";
                   }
                   
  -                if ( (autoVersion.indexOf(E_CHECKOUT_CHECKIN) < 0) &&
  -                        (autoVersion.indexOf(E_CHECKOUT_UNLOCKED_CHECKIN) < 0) &&
  -                        (autoVersion.indexOf(E_CHECKOUT) < 0) &&
  -                        (autoVersion.indexOf(E_LOCKED_CHECKOUT) < 0) ) {
  +                if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
  +                        !E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
  +                        !E_CHECKOUT.equals(autoVersion) &&
  +                        !E_LOCKED_CHECKOUT.equals(autoVersion) ) {
                       return new 
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_PROPERTY,
                                                       WebdavStatus.SC_FORBIDDEN);
                   }
  -                if (autoVersion.indexOf(E_LOCKED_CHECKOUT) > 0) {
  +                if (E_LOCKED_CHECKOUT.equals(autoVersion)) {
                       if ( !versioningHelper.isWriteLocked(slideToken, 
revisionDescriptors) ) {
                           return new 
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_PROPERTY,
                                                           WebdavStatus.SC_FORBIDDEN);
  
  
  
  1.40      +10 -18    
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.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- PutMethod.java    9 Apr 2002 08:11:06 -0000       1.39
  +++ PutMethod.java    10 Apr 2002 07:25:37 -0000      1.40
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
 1.39 2002/04/09 08:11:06 juergen Exp $
  - * $Revision: 1.39 $
  - * $Date: 2002/04/09 08:11:06 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
 1.40 2002/04/10 07:25:37 juergen Exp $
  + * $Revision: 1.40 $
  + * $Date: 2002/04/10 07:25:37 $
    *
    * ====================================================================
    *
  @@ -236,13 +236,7 @@
                          (resourceKind instanceof CheckedInVersionControlled) &&
                      
versioningHelper.mustCheckoutAutoVersionedVCR(revisionDescriptors, revisionDescriptor) 
) {
                       
  -                    vHelp.checkout(revisionDescriptors, revisionDescriptor, false, 
false ); //forkOk=false, applyToVersion=false
  -                    if ( ! versioningHelper.mustCheckinAutoVersionedVCR(slideToken, 
revisionDescriptors, revisionDescriptor) ) {
  -                        NodeLock writeLock = 
versioningHelper.getWriteLock(slideToken, revisionDescriptors);
  -                        if (writeLock != null) {
  -                            revisionDescriptor.setProperty(new 
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, writeLock.getLockId(), true));
  -                        }
  -                    }
  +                    vHelp.checkout(revisionDescriptors, revisionDescriptor, false, 
false, true );
                       mustCheckIn = 
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors, 
revisionDescriptor);
                   }
                   // Changed for DeltaV --end--
  @@ -294,7 +288,6 @@
                   
                   // Changed for DeltaV --start--
                   if( Configuration.useVersionControl() && mustCheckIn) {
  -                    revisionDescriptor.removeProperty(new 
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, null, true));
                       vHelp.checkin(revisionDescriptors, revisionDescriptor, false, 
false ); //forkOk=false, keepCheckedOut=false
                   }
                   // Changed for DeltaV --end--
  @@ -433,19 +426,18 @@
               if (resourceKind instanceof CheckedInVersionControlled) {
                   
               // check precondition DAV:cannot-modify-version-controlled-content
  -            String autoVersion = 
versioningHelper.getAutoVersionValue(revisionDescriptor);
  +                String autoVersion = 
versioningHelper.getAutoVersionElementName(revisionDescriptor);
                   if (autoVersion == null) {
                       autoVersion = "";
                   }
  -                
  -                if ( (autoVersion.indexOf(E_CHECKOUT_CHECKIN) < 0) &&
  -                        (autoVersion.indexOf(E_CHECKOUT_UNLOCKED_CHECKIN) < 0) &&
  -                        (autoVersion.indexOf(E_CHECKOUT) < 0) &&
  -                        (autoVersion.indexOf(E_LOCKED_CHECKOUT) < 0) ) {
  +                if ( !E_CHECKOUT_CHECKIN.equals(autoVersion) &&
  +                        !E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersion) &&
  +                        !E_CHECKOUT.equals(autoVersion) &&
  +                        !E_LOCKED_CHECKOUT.equals(autoVersion) ) {
                       return new 
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
                                                                       
WebdavStatus.SC_FORBIDDEN);
                   }
  -                if ( (autoVersion.indexOf(E_LOCKED_CHECKOUT) > 0) &&
  +                if ( E_LOCKED_CHECKOUT.equals(autoVersion) &&
                           ( !versioningHelper.isWriteLocked(slideToken, 
revisionDescriptors) ) ) {
                       return new 
ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
                                                                       
WebdavStatus.SC_FORBIDDEN);
  
  
  
  1.24      +45 -16    
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.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- VersioningHelper.java     8 Apr 2002 12:44:48 -0000       1.23
  +++ VersioningHelper.java     10 Apr 2002 07:25:37 -0000      1.24
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
 1.23 2002/04/08 12:44:48 juergen Exp $
  - * $Revision: 1.23 $
  - * $Date: 2002/04/08 12:44:48 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
 1.24 2002/04/10 07:25:37 juergen Exp $
  + * $Revision: 1.24 $
  + * $Date: 2002/04/10 07:25:37 $
    *
    * ====================================================================
    *
  @@ -395,10 +395,18 @@
        */
       public void checkout( String resourcePath, boolean forkOk, boolean 
applyToVersion )
           throws SlideException, JDOMException, IOException, 
PreconditionViolationException  {
  +        checkout(resourcePath, forkOk, applyToVersion, false);
  +    }
  +    
  +    /**
  +     * Checkout the specified resource
  +     */
  +    public void checkout( String resourcePath, boolean forkOk, boolean 
applyToVersion, boolean isAutoVersionCheckout )
  +        throws SlideException, JDOMException, IOException, 
PreconditionViolationException  {
           
           NodeRevisionDescriptors rNrds = retrieveRevisionDescriptors( resourcePath );
           NodeRevisionDescriptor rNrd = retrieveLatestRevisionDescriptor( 
resourcePath, rNrds );
  -        checkout( rNrds, rNrd, forkOk, applyToVersion );
  +        checkout( rNrds, rNrd, forkOk, applyToVersion, isAutoVersionCheckout);
       }
       
       /**
  @@ -407,6 +415,15 @@
       public void checkout( NodeRevisionDescriptors rNrds,
       NodeRevisionDescriptor rNrd, boolean forkOk, boolean applyToVersion )
           throws SlideException, JDOMException, IOException, 
PreconditionViolationException  {
  +        checkout(rNrds, rNrd, forkOk, applyToVersion, false);
  +    }
  +    
  +    /**
  +     * Checkout the specified resource
  +     */
  +    public void checkout( NodeRevisionDescriptors rNrds,
  +                         NodeRevisionDescriptor rNrd, boolean forkOk, boolean 
applyToVersion, boolean isAutoVersionCheckout  )
  +        throws SlideException, JDOMException, IOException, 
PreconditionViolationException  {
           
           Iterator i;
           ResourceKind rRk = AbstractResourceKind.determineResourceKind( rNrd );
  @@ -450,6 +467,15 @@
               rNrd.setProperty(
                   new NodeProperty(P_PREDECESSOR_SET, cinProp.getValue()) );
               
  +            if (isAutoVersionCheckout) {
  +                NodeLock writeLock = getWriteLock(sToken, rNrds);
  +                if (writeLock != null) {
  +                    rNrd.setProperty(new 
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN,
  +                                                      writeLock.getLockId(),
  +                                                      true));
  +                }
  +            }
  +            
               // Store changes
               content.store( sToken, rNrds.getUri(), rNrd, null ); 
//revisionContent=null
           }
  @@ -676,6 +702,8 @@
               rNrd.removeProperty( coutProp );
               rNrd.setProperty(
                   new NodeProperty(P_CHECKED_IN, pHelp.createHrefValue(vrUriNew)) );
  +            rNrd.removeProperty(new 
NodeProperty(VersioningHelper.P_CHECKIN_LOCKTOKEN, null, true));
  +            
               vhrNrd.setLastModified( new Date() ); // P_GETLASTMODIFIED
               vhrNrd.setProperty( new NodeProperty(
                   P_VERSION_SET, 
((String)vSetProp.getValue())+pHelp.createHrefValue(vrUriNew)) );
  @@ -988,8 +1016,9 @@
       }
   
       /**
  -     * Returns the value of the <code>&lt;auto-version&gt;</code> property
  -     * of the given <code>revisionDescriptor</code>.
  +     * Returns the name of the element that represents the value of the
  +     * <code>&lt;auto-version&gt;</code> property of the given
  +     * <code>revisionDescriptor</code> (e.g. <code>checkout-checkin</code>).
        *
        * @param      revisionDescriptor  the NodeRevisionDescriptor for which to
        *                                 return the value of the
  @@ -998,12 +1027,12 @@
        * @return     the value of the <code>&lt;auto-version&gt;</code> property
        *             of the given <code>revisionDescriptor</code>.
        */
  -    public String getAutoVersionValue(NodeRevisionDescriptor revisionDescriptor) {
  +    public String getAutoVersionElementName(NodeRevisionDescriptor 
revisionDescriptor) {
           
           String autoVersionValue = null;
           NodeProperty autoVersionProperty = 
revisionDescriptor.getProperty(DeltavConstants.P_AUTO_VERSION);
           if ( (autoVersionProperty != null) && (autoVersionProperty.getValue() != 
null) ) {
  -            autoVersionValue = autoVersionProperty.getValue().toString();
  +            autoVersionValue = 
getElementName(autoVersionProperty.getValue().toString());
           }
           return autoVersionValue;
       }
  @@ -1020,12 +1049,12 @@
        */
       public boolean mustCheckoutAutoVersionedVCR(NodeRevisionDescriptors 
revisionDescriptors, NodeRevisionDescriptor revisionDescriptor) {
           
  -        String autoVersionValue = getAutoVersionValue(revisionDescriptor);
  +        String autoVersionValue = getAutoVersionElementName(revisionDescriptor);
           return ( (autoVersionValue != null) &&
  -                    ( (autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_CHECKIN) 
> 0) ||
  -                         
(autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN) > 0) ||
  -                         (autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT) > 0) 
||
  -                         
(autoVersionValue.indexOf(DeltavConstants.E_LOCKED_CHECKOUT) > 0) ) );
  +                    ( DeltavConstants.E_CHECKOUT_CHECKIN.equals(autoVersionValue) ||
  +                         
DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersionValue) ||
  +                         DeltavConstants.E_CHECKOUT.equals(autoVersionValue) ||
  +                         DeltavConstants.E_LOCKED_CHECKOUT.equals(autoVersionValue) 
) );
       }
       
       /**
  @@ -1042,10 +1071,10 @@
       public boolean mustCheckinAutoVersionedVCR(SlideToken slideToken, 
NodeRevisionDescriptors revisionDescriptors, NodeRevisionDescriptor 
revisionDescriptor) {
           
           boolean checkin = false;
  -        String autoVersionValue = getAutoVersionValue(revisionDescriptor);
  +        String autoVersionValue = getAutoVersionElementName(revisionDescriptor);
           if (autoVersionValue != null) {
  -            checkin = (autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_CHECKIN) 
> 0);
  -            if ( !checkin && 
(autoVersionValue.indexOf(DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN) > 0)) {
  +            checkin = DeltavConstants.E_CHECKOUT_CHECKIN.equals(autoVersionValue);
  +            if ( !checkin && 
DeltavConstants.E_CHECKOUT_UNLOCKED_CHECKIN.equals(autoVersionValue)) {
                   checkin = ! isWriteLocked(slideToken, revisionDescriptors);
               }
           }
  
  
  

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

Reply via email to