juergen     02/04/16 04:19:29

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        CopyMethod.java
  Log:
  Fixed bug in method afterCopy():
  Set <workspace> property if needed.
  Copy DeltaV-specific "0.0" revision if needed.
  (ralf)
  
  Revision  Changes    Path
  1.24      +23 -11    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java
  
  Index: CopyMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- CopyMethod.java   11 Apr 2002 12:57:03 -0000      1.23
  +++ CopyMethod.java   16 Apr 2002 11:19:29 -0000      1.24
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
 1.23 2002/04/11 12:57:03 juergen Exp $
  - * $Revision: 1.23 $
  - * $Date: 2002/04/11 12:57:03 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
 1.24 2002/04/16 11:19:29 juergen Exp $
  + * $Revision: 1.24 $
  + * $Date: 2002/04/16 11:19:29 $
    *
    * ====================================================================
    *
  @@ -252,9 +252,9 @@
           
           if(Configuration.useVersionControl()) {
               
  -            NodeRevisionDescriptors revisionDescriptors = 
versioningHelper.retrieveRevisionDescriptors(destinationUri);
  -            NodeRevisionDescriptor revisionDescriptor = 
versioningHelper.retrieveLatestRevisionDescriptor(destinationUri, revisionDescriptors);
  -            ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(revisionDescriptor);
  +            NodeRevisionDescriptors destinationRevisionDescriptors = 
versioningHelper.retrieveRevisionDescriptors(destinationUri);
  +            NodeRevisionDescriptor destinationRevisionDescriptor = 
versioningHelper.retrieveLatestRevisionDescriptor(destinationUri, 
destinationRevisionDescriptors);
  +            ResourceKind resourceKind = 
AbstractResourceKind.determineResourceKind(destinationRevisionDescriptor);
               
               String checkedOutPropertyValue = 
(String)checkedOutDestinationsMap.get(destinationUri);
               if (checkedOutPropertyValue != null) {
  @@ -274,22 +274,34 @@
                       if 
(DeltavConstants.DELTAV_PROPERTY_LIST.contains(property.getName())) {
                           if (checkedOutPropertyValue != null) {
                               // use initial value
  -                            revisionDescriptor.setProperty(property);
  +                            destinationRevisionDescriptor.setProperty(property);
                           }
                           else {
  -                            revisionDescriptor.removeProperty(property);
  +                            destinationRevisionDescriptor.removeProperty(property);
                           }
                       }
                   }
                   // restore <checked-out> property
                   if (checkedOutPropertyValue != null) {
  -                    revisionDescriptor.setProperty(new NodeProperty(P_CHECKED_OUT,
  +                    destinationRevisionDescriptor.setProperty(new 
NodeProperty(P_CHECKED_OUT,
                                                                       
checkedOutPropertyValue, true));
                   }
  -                content.store(slideToken, revisionDescriptors.getUri(), 
revisionDescriptor, null);
  +                // set <workspace> property
  +                versioningHelper.setWorkspaceProperty(destinationUri, 
destinationRevisionDescriptor);
  +
  +                content.store(slideToken, destinationRevisionDescriptors.getUri(), 
destinationRevisionDescriptor, null);
  +                
  +                // copy DeltaV-specific "0.0" revision if exists
  +                try {
  +                    NodeRevisionDescriptor specialRevisionDescriptor = 
content.retrieve(slideToken,
  +                                                                                    
    destinationRevisionDescriptors,
  +                                                                                    
    new NodeRevisionNumber(0, 0));
  +                    content.create(slideToken, 
destinationRevisionDescriptors.getUri(), specialRevisionDescriptor.cloneObject(), 
null);
  +                }
  +                catch (SlideException e) {}
                   
                   // checkin if necessary
  -                boolean mustCheckin = 
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors, 
revisionDescriptor);
  +                boolean mustCheckin = 
versioningHelper.mustCheckinAutoVersionedVCR(slideToken, 
destinationRevisionDescriptors, destinationRevisionDescriptor);
                   if (mustCheckin) {
                       try {
                           versioningHelper.checkin(destinationUri, false, false ); 
//forkOk=false, keepCheckedOut=false
  
  
  

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

Reply via email to