juergen     02/04/26 06:56:13

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        DeleteMethod.java MoveMethod.java
               src/webdav/server/org/apache/slide/webdav/util
                        VersioningHelper.java
  Log:
  No longer set/update properties <checkout-set> and <workspace-checkout-set> since 
they are now computed.
  (ralf)
  
  Revision  Changes    Path
  1.21      +3 -65     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java
  
  Index: DeleteMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- DeleteMethod.java 25 Apr 2002 21:12:25 -0000      1.20
  +++ DeleteMethod.java 26 Apr 2002 13:56:13 -0000      1.21
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
 1.20 2002/04/25 21:12:25 jericho Exp $
  - * $Revision: 1.20 $
  - * $Date: 2002/04/25 21:12:25 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
 1.21 2002/04/26 13:56:13 juergen Exp $
  + * $Revision: 1.21 $
  + * $Date: 2002/04/26 13:56:13 $
    *
    * ====================================================================
    *
  @@ -132,20 +132,6 @@
        */
       protected VersioningHelper versioningHelper = null;
       
  -    /**
  -     * The URI of the VR associated with the checked-out VCR which is target
  -     * of the delete operation used in {@link #beforeDelete beforeDelete()} and
  -     * {@link #afterDelete afterDelete()}.
  -     */
  -    protected String uriOfAssociatedVR = null;
  -    
  -    /**
  -     * The URI of the workspace associated with the checked-out VCR which is target
  -     * of the delete operation used in {@link #beforeDelete beforeDelete()} and
  -     * {@link #afterDelete afterDelete()}.
  -     */
  -    protected String uriOfAssociatedWorkspace = null;
  -    
       // ----------------------------------------------------------- Constructors
       
       
  @@ -266,24 +252,6 @@
                                                                                 
WebdavStatus.SC_FORBIDDEN),
                                                        targetUri);
               }
  -        
  -            uriOfAssociatedVR = null;
  -            uriOfAssociatedWorkspace = null;
  -            
  -            NodeRevisionDescriptors revisionDescriptors =
  -                versioningHelper.retrieveRevisionDescriptors(targetUri);
  -            NodeRevisionDescriptor revisionDescriptor =
  -                versioningHelper.retrieveLatestRevisionDescriptor(targetUri, 
revisionDescriptors);
  -            ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(revisionDescriptor);
  -            if (resourceKind instanceof CheckedOutVersionControlled) {
  -                
  -            uriOfAssociatedVR = versioningHelper.getUriOfAssociatedVR(targetUri);
  -                
  -                NodeProperty workspaceProperty = 
revisionDescriptor.getProperty(P_WORKSPACE);
  -                if ( (workspaceProperty != null) && (workspaceProperty.getValue() 
!= null) ) {
  -                    uriOfAssociatedWorkspace = 
versioningHelper.getElementValue(workspaceProperty.getValue().toString());
  -                }
  -            }
           }
       }
       
  @@ -299,36 +267,6 @@
        *                             MacroDeleteException.
        */
       public void afterDelete(String targetUri) throws SlideException {
  -        
  -        if( Configuration.useVersionControl() ) {
  -            
  -        if (uriOfAssociatedVR != null) {
  -            
  -            // remove the deleted VCR from the <checkout-set> from the
  -            // associated VR
  -            NodeRevisionDescriptors revisionDescriptors =
  -                versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedVR);
  -            NodeRevisionDescriptor revisionDescriptor =
  -                
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedVR, 
revisionDescriptors);
  -            try {
  -                PropertyHelper.removeHrefFromProperty(revisionDescriptor, 
P_CHECKOUT_SET, targetUri);
  -                content.store(slideToken, revisionDescriptors.getUri(), 
revisionDescriptor, null);
  -            } catch (JDOMException e) {}
  -        }
  -            
  -            if (uriOfAssociatedWorkspace != null) {
  -                
  -                // update <workspace-checkout-set>
  -                NodeRevisionDescriptors workspaceRevisionDescriptors =
  -                    
versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedWorkspace);
  -                NodeRevisionDescriptor workspaceRevisionDescriptor =
  -                    
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedWorkspace, 
workspaceRevisionDescriptors);
  -                try {
  -                    
PropertyHelper.removeHrefFromProperty(workspaceRevisionDescriptor, 
P_WORKSPACE_CHECKOUT_SET, targetUri);
  -                    content.store(slideToken, 
workspaceRevisionDescriptors.getUri(), workspaceRevisionDescriptor, null);
  -                } catch (JDOMException e) {}
  -            }
  -        }
       }
       
       
  
  
  
  1.31      +4 -117    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java
  
  Index: MoveMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- MoveMethod.java   25 Apr 2002 21:27:31 -0000      1.30
  +++ MoveMethod.java   26 Apr 2002 13:56:13 -0000      1.31
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
 1.30 2002/04/25 21:27:31 jericho Exp $
  - * $Revision: 1.30 $
  - * $Date: 2002/04/25 21:27:31 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
 1.31 2002/04/26 13:56:13 juergen Exp $
  + * $Revision: 1.31 $
  + * $Date: 2002/04/26 13:56:13 $
    *
    * ====================================================================
    *
  @@ -117,20 +117,6 @@
       protected PropertyHelper propertyHelper = null;
       
       /**
  -     * The URI of the VR associated with the checked-out VCR which is target
  -     * of the delete operation used in {@link #beforeDelete beforeDelete()} and
  -     * {@link #afterDelete afterDelete()}.
  -     */
  -    protected String uriOfAssociatedVR = null;
  -    
  -    /**
  -     * The URI of the workspace associated with the checked-out VCR which is target
  -     * of the delete operation used in {@link #beforeDelete beforeDelete()} and
  -     * {@link #afterDelete afterDelete()}.
  -     */
  -    protected String uriOfAssociatedWorkspace = null;
  -    
  -    /**
        * Indicates if the source of the MOVE is a workspace.
        */
       protected boolean isSourceWorkspace = false;
  @@ -371,7 +357,6 @@
           catch (SlideException e) {}
           
               handleWorkspacePostconditions(destinationRevisionDescriptor, 
destinationUri);
  -            updateCheckoutSets(destinationRevisionDescriptor, destinationUri);
           }
       }
   
  @@ -403,54 +388,6 @@
       }
       }
       
  -    /**
  -     * If the resource specified by the given <code>revisionDescriptor</code>
  -     * is a checked-out VCR, its URI will be added to the 
<code>&lt;checkout-set&gt;</code>
  -     * property of the associated VR, and to the 
<code>&lt;workspace-checkout-set&gt;</code>
  -     * of the associated workspace (if there is any).
  -     *
  -     * @param      revisionDescriptor  the NodeRevisionDescriptor of the resource.
  -     * @param      resourceUri         the URI of the resource.
  -     *
  -     * @throws     SlideException
  -     */
  -    private void updateCheckoutSets(NodeRevisionDescriptor revisionDescriptor, 
String resourceUri) throws SlideException {
  -        
  -        ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(revisionDescriptor);
  -        if (resourceKind instanceof CheckedOutVersionControlled) {
  -            
  -            uriOfAssociatedVR = versioningHelper.getUriOfAssociatedVR(resourceUri);
  -        if (uriOfAssociatedVR != null) {
  -            
  -            // add the copy to the <checkout-set> of the associated VR
  -                NodeRevisionDescriptors vrRevisionDescriptors =
  -                versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedVR);
  -                NodeRevisionDescriptor vrRevisionDescriptor =
  -                    
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedVR, 
vrRevisionDescriptors);
  -                try {
  -                    PropertyHelper.addHrefToProperty(vrRevisionDescriptor, 
P_CHECKOUT_SET, resourceUri);
  -                    content.store(slideToken, vrRevisionDescriptors.getUri(), 
vrRevisionDescriptor, null);
  -                } catch (JDOMException e) {}
  -            }
  -            
  -            // update <workspace-checkout-set> of workspace
  -            NodeProperty workspaceProperty = 
revisionDescriptor.getProperty(P_WORKSPACE);
  -            if ( (workspaceProperty != null) && (workspaceProperty.getValue() != 
null) ) {
  -                String workspaceUri = 
versioningHelper.getElementValue(workspaceProperty.getValue().toString());
  -                if (workspaceUri != null) {
  -                    
  -                    NodeRevisionDescriptors workspaceRevisionDescriptors =
  -                        versioningHelper.retrieveRevisionDescriptors(workspaceUri);
  -                    NodeRevisionDescriptor workspaceRevisionDescriptor =
  -                        
versioningHelper.retrieveLatestRevisionDescriptor(workspaceUri, 
workspaceRevisionDescriptors);
  -            try {
  -                        
PropertyHelper.addHrefToProperty(workspaceRevisionDescriptor, 
P_WORKSPACE_CHECKOUT_SET, resourceUri);
  -                        content.store(slideToken, 
workspaceRevisionDescriptors.getUri(), workspaceRevisionDescriptor, null);
  -            } catch (JDOMException e) {}
  -        }
  -    }
  -        }
  -    }
       
       // ------------------------------------------------------ Interface 
DeleteListener
       
  @@ -466,27 +403,6 @@
        *                             MacroDeleteException.
        */
       public void beforeDelete(String targetUri) throws SlideException {
  -        
  -        if( Configuration.useVersionControl() ) {
  -            
  -        uriOfAssociatedVR = null;
  -        uriOfAssociatedWorkspace = null;
  -        
  -        NodeRevisionDescriptors revisionDescriptors =
  -            versioningHelper.retrieveRevisionDescriptors(targetUri);
  -        NodeRevisionDescriptor revisionDescriptor =
  -            versioningHelper.retrieveLatestRevisionDescriptor(targetUri, 
revisionDescriptors);
  -        ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(revisionDescriptor);
  -        if (resourceKind instanceof CheckedOutVersionControlled) {
  -            
  -        uriOfAssociatedVR = versioningHelper.getUriOfAssociatedVR(targetUri);
  -            
  -            NodeProperty workspaceProperty = 
revisionDescriptor.getProperty(P_WORKSPACE);
  -            if ( (workspaceProperty != null) && (workspaceProperty.getValue() != 
null) ) {
  -                uriOfAssociatedWorkspace = 
versioningHelper.getElementValue(workspaceProperty.getValue().toString());
  -            }
  -        }
  -    }
       }
       
       /**
  @@ -500,38 +416,9 @@
        *                             MacroDeleteException.
        */
       public void afterDelete(String targetUri) throws SlideException {
  +    }
           
  -        if( Configuration.useVersionControl() ) {
  -            
  -        if (uriOfAssociatedVR != null) {
  -            
  -            // remove the deleted VCR from the <checkout-set> from the
  -            // associated VR
  -            NodeRevisionDescriptors revisionDescriptors =
  -                versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedVR);
  -            NodeRevisionDescriptor revisionDescriptor =
  -                
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedVR, 
revisionDescriptors);
  -            try {
  -                PropertyHelper.removeHrefFromProperty(revisionDescriptor, 
P_CHECKOUT_SET, targetUri);
  -                content.store(slideToken, revisionDescriptors.getUri(), 
revisionDescriptor, null);
  -            } catch (JDOMException e) {}
  -        }
           
  -        if (uriOfAssociatedWorkspace != null) {
  -            
  -            // update <workspace-checkout-set>
  -            NodeRevisionDescriptors workspaceRevisionDescriptors =
  -                
versioningHelper.retrieveRevisionDescriptors(uriOfAssociatedWorkspace);
  -            NodeRevisionDescriptor workspaceRevisionDescriptor =
  -                
versioningHelper.retrieveLatestRevisionDescriptor(uriOfAssociatedWorkspace, 
workspaceRevisionDescriptors);
  -            try {
  -                PropertyHelper.removeHrefFromProperty(workspaceRevisionDescriptor, 
P_WORKSPACE_CHECKOUT_SET, targetUri);
  -                content.store(slideToken, workspaceRevisionDescriptors.getUri(), 
workspaceRevisionDescriptor, null);
  -            } catch (JDOMException e) {}
  -            }
  -        }
       }
       
  -    
  -}
   
  
  
  
  1.36      +10 -64    
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.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- VersioningHelper.java     26 Apr 2002 12:46:37 -0000      1.35
  +++ VersioningHelper.java     26 Apr 2002 13:56:13 -0000      1.36
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
 1.35 2002/04/26 12:46:37 pnever Exp $
  - * $Revision: 1.35 $
  - * $Date: 2002/04/26 12:46:37 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
 1.36 2002/04/26 13:56:13 juergen Exp $
  + * $Revision: 1.36 $
  + * $Date: 2002/04/26 13:56:13 $
    *
    * ====================================================================
    *
  @@ -364,7 +364,6 @@
           vrNrd.setCreationDate( new Date() ); // P_CREATIONDATE
           vrNrd.setProperty(
               new NodeProperty(P_VERSION_NAME, vrUh.getVersionName()) );
  -        vrNrd.setProperty(new NodeProperty(P_CHECKOUT_SET, null));
           
           // Store changes
           content.store( sToken, resourcePath, rNrd, null ); //revisionContent=null
  @@ -598,23 +597,6 @@
               
               NodeRevisionDescriptors vhrNrds = content.retrieve(sToken, cinhUri);
               
  -            // update <checkout-set>
  -            PropertyHelper.addHrefToProperty(cinNrd, P_CHECKOUT_SET, 
rNrds.getUri());
  -            content.store(sToken, cinNrds.getUri(), cinNrd, null);
  -            
  -            // update <workspace-checkout-set>
  -            UriHandler vcrUriHandler = UriHandler.getUriHandler(nsaToken, 
rNrds.getUri());
  -            String workspaceUri = vcrUriHandler.getAssociatedWorkspaceUri();
  -            if (workspaceUri != null) {
  -                NodeRevisionDescriptors workspaceDescriptors = 
retrieveRevisionDescriptors(workspaceUri);
  -                NodeRevisionDescriptor workspaceDescriptor = 
retrieveLatestRevisionDescriptor(workspaceUri,
  -                                                                                    
          workspaceDescriptors);
  -                PropertyHelper.addHrefToProperty(workspaceDescriptor,
  -                                                 P_WORKSPACE_CHECKOUT_SET,
  -                                                 rNrds.getUri());
  -                content.store( sToken, workspaceDescriptors.getUri(), 
workspaceDescriptor, null);
  -            }
  -            
               // do the checkout
               backupProperties(rNrds, rNrd);
               rNrd.removeProperty( cinProp );
  @@ -741,7 +723,7 @@
        *
        * @return     the ViolatedPrecondition (if any).
        */
  -    protected ViolatedPrecondition 
getCheckoutPreconditionViolation(NodeRevisionDescriptors cinNrds, 
NodeRevisionDescriptor cinNrd, boolean isForkOk) throws IllegalArgumentException, 
IOException, JDOMException {
  +    protected ViolatedPrecondition 
getCheckoutPreconditionViolation(NodeRevisionDescriptors cinNrds, 
NodeRevisionDescriptor cinNrd, boolean isForkOk) throws IllegalArgumentException, 
IOException, JDOMException, SlideException {
           
           ViolatedPrecondition violatedPrecondition = null;
           
  @@ -756,30 +738,28 @@
                       
                       // check precondition 
C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_FORBIDDEN
                       if (E_FORBIDDEN.equals(checkoutForkElement.getName()))  {
  -                        violatedPrecondition = new 
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_FORBIDDEN, 
WebdavStatus.SC_FORBIDDEN);
  +                        return new 
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_FORBIDDEN, 
WebdavStatus.SC_FORBIDDEN);
                       }
                       
                       // check precondition 
C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_DISCOURAGED
                       else if (E_DISCOURAGED.equals(checkoutForkElement.getName()) && 
!isForkOk)  {
  -                        violatedPrecondition = new 
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_DISCOURAGED, 
WebdavStatus.SC_CONFLICT);
  +                        return new 
ViolatedPrecondition(C_CHECKOUT_OF_VERSION_WITH_DESCENDANT_IS_DISCOURAGED, 
WebdavStatus.SC_CONFLICT);
                       }
                   }
                   
                   // check if the version is already checked out
  -                NodeProperty checkoutSetProperty = 
cinNrd.getProperty(P_CHECKOUT_SET);
  -                if ( (checkoutSetProperty != null) && 
(checkoutSetProperty.getValue() != null) ) {
  -                    XMLValue checkoutSetValue = new 
XMLValue(checkoutSetProperty.getValue().toString());
  +                PropertyHelper propertyHelper = new PropertyHelper(sToken, 
nsaToken);
  +                XMLValue checkoutSetValue = 
propertyHelper.computeCheckoutSet(cinNrds, cinNrd);
                       if (checkoutSetValue.iterator().hasNext()) {
                           
                           // check precondition 
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN
                           if (E_FORBIDDEN.equals(checkoutForkElement.getName()))  {
  -                            violatedPrecondition = new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN, 
WebdavStatus.SC_FORBIDDEN);
  +                        return new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN, 
WebdavStatus.SC_FORBIDDEN);
                           }
                           
                           // check precondition 
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED
                           else if 
(E_DISCOURAGED.equals(checkoutForkElement.getName()) && !isForkOk)  {
  -                            violatedPrecondition = new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED, 
WebdavStatus.SC_CONFLICT);
  -                        }
  +                        return new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED, 
WebdavStatus.SC_CONFLICT);
                       }
                   }
               }
  @@ -836,23 +816,6 @@
           
           NodeRevisionDescriptors vhrNrds = content.retrieve(sToken, coutUri);
           
  -        // update <checkout-set>
  -        PropertyHelper.removeHrefFromProperty(coutNrd, P_CHECKOUT_SET, 
rNrds.getUri());
  -        content.store( sToken, coutNrds.getUri(), coutNrd, null);
  -        
  -        // update <workspace-checkout-set>
  -        UriHandler vcrUriHandler = UriHandler.getUriHandler(nsaToken, 
rNrds.getUri());
  -        String workspaceUri = vcrUriHandler.getAssociatedWorkspaceUri();
  -        if (workspaceUri != null) {
  -            NodeRevisionDescriptors workspaceDescriptors = 
retrieveRevisionDescriptors(workspaceUri);
  -            NodeRevisionDescriptor workspaceDescriptor = 
retrieveLatestRevisionDescriptor(workspaceUri,
  -                                                                                    
      workspaceDescriptors);
  -            PropertyHelper.removeHrefFromProperty(workspaceDescriptor,
  -                                                  P_WORKSPACE_CHECKOUT_SET,
  -                                                  rNrds.getUri());
  -            content.store( sToken, workspaceDescriptors.getUri(), 
workspaceDescriptor, null);
  -        }
  -        
           // restore revision descriptor
           restoreProperties(rNrds, rNrd);
           rNrd.setLastModified(new Date());
  @@ -918,23 +881,6 @@
               ViolatedPrecondition violatedPrecondition = 
getCheckinPreconditionViolation(predSetProp, vhrNrds, forkOk);
               if (violatedPrecondition != null) {
                   throw new PreconditionViolationException(violatedPrecondition, 
rNrds.getUri());
  -            }
  -            
  -            // update <checkout-set>
  -            PropertyHelper.removeHrefFromProperty(vrNrdOld, P_CHECKOUT_SET, 
rNrds.getUri());
  -            content.store( sToken, vhrNrds.getUri(), vrNrdOld, null);
  -            
  -            // update <workspace-checkout-set>
  -            UriHandler vcrUriHandler = UriHandler.getUriHandler(nsaToken, 
rNrds.getUri());
  -            String workspaceUri = vcrUriHandler.getAssociatedWorkspaceUri();
  -            if (workspaceUri != null) {
  -                NodeRevisionDescriptors workspaceDescriptors = 
retrieveRevisionDescriptors(workspaceUri);
  -                NodeRevisionDescriptor workspaceDescriptor = 
retrieveLatestRevisionDescriptor(workspaceUri,
  -                                                                                    
          workspaceDescriptors);
  -                PropertyHelper.removeHrefFromProperty(workspaceDescriptor,
  -                                                      P_WORKSPACE_CHECKOUT_SET,
  -                                                      rNrds.getUri());
  -                content.store( sToken, workspaceDescriptors.getUri(), 
workspaceDescriptor, null);
               }
               
               // Create new VR in the MAIN branch
  
  
  

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

Reply via email to