pnever      2002/07/13 09:59:30

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        MoveMethod.java
  Log:
  Fixed bug in afterCopy().
  
  Revision  Changes    Path
  1.48      +20 -14    
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.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- MoveMethod.java   11 Jul 2002 14:57:08 -0000      1.47
  +++ MoveMethod.java   13 Jul 2002 16:59:30 -0000      1.48
  @@ -384,24 +384,33 @@
           
           if( Configuration.useVersionControl() ) {
               
  -        NodeRevisionDescriptors destinationRevisionDescriptors =
  +            NodeRevisionDescriptors sourceNrds =
  +                content.retrieve( slideToken, sourceUri);
  +            NodeRevisionDescriptors destinationNrds =
                   content.retrieve( slideToken, destinationUri);
  -        NodeRevisionDescriptor destinationRevisionDescriptor =
  -                content.retrieve( slideToken, destinationRevisionDescriptors);
  +            NodeRevisionDescriptor destinationNrd =
  +                content.retrieve( slideToken, destinationNrds );
           
           // copy DeltaV-specific "0.0" revision if exists
           try {
  -            NodeRevisionDescriptor specialRevisionDescriptor = 
content.retrieve(slideToken,
  -                                                                                
destinationRevisionDescriptors,
  -                                                                                
NodeRevisionNumber.HIDDEN_0_0);
  -            content.create(slideToken, destinationRevisionDescriptors.getUri(), 
null, specialRevisionDescriptor.cloneObject(), null);
  +                NodeRevisionDescriptor sourceNrd00 =
  +                    content.retrieve( slideToken, sourceNrds, 
NodeRevisionNumber.HIDDEN_0_0 );
  +                NodeRevisionDescriptor destinationNrd00 = sourceNrd00.cloneObject();
  +
  +                try {
  +                    content.retrieve( slideToken, destinationNrds, 
NodeRevisionNumber.HIDDEN_0_0 );
  +                    content.store( slideToken, destinationUri, destinationNrd00, 
null ); // revisionContent=null
  +                }
  +                catch( RevisionDescriptorNotFoundException x ) {
  +                    content.create( slideToken, destinationUri, null, 
destinationNrd00, null ); // branch=null, revisionContent=null
  +                }
           }
           catch (ServiceAccessException e) {
               throw e;
           }
           catch (SlideException e) {}
           
  -            handleWorkspacePostconditions(destinationRevisionDescriptor, 
destinationUri);
  +            handleWorkspacePostconditions(destinationNrd, destinationUri);
               handleWorkingResourcePostconditions(sourceUri, destinationUri);
           }
       }
  @@ -566,8 +575,5 @@
        */
       public void afterDelete(String targetUri) throws SlideException {
       }
  -        
  -        
       }
  -    
   
  
  
  

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

Reply via email to