pnever      02/05/14 08:33:06

  Modified:    src/share/org/apache/slide/content ContentImpl.java
  Log:
  Extended usage of UriRedirector
  
  Revision  Changes    Path
  1.36      +26 -7     
jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java
  
  Index: ContentImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- ContentImpl.java  14 May 2002 11:35:38 -0000      1.35
  +++ ContentImpl.java  14 May 2002 15:33:06 -0000      1.36
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v 1.35 
2002/05/14 11:35:38 pnever Exp $
  - * $Revision: 1.35 $
  - * $Date: 2002/05/14 11:35:38 $
  + * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v 1.36 
2002/05/14 15:33:06 pnever Exp $
  + * $Revision: 1.36 $
  + * $Date: 2002/05/14 15:33:06 $
    *
    * ====================================================================
    *
  @@ -82,8 +82,8 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Christopher Lenz</a>
    * @author Jean-Philippe Courson
  - * @version $Revision: 1.35 $
  - * @version $Revision: 1.35 $
  + * @version $Revision: 1.36 $
  + * @version $Revision: 1.36 $
    */
   public final class ContentImpl implements Content {
       
  @@ -214,7 +214,10 @@
           RevisionDescriptorNotFoundException, ObjectLockedException,
           BranchNotFoundException, NodeNotVersionedException {
           
  +        NodeRevisionDescriptor result;
           Uri objectUri = namespace.getUri(token, revisionDescriptors.getUri());
  +        NodeRevisionNumber latestNrn = redirectLatestRevisionNumber(
  +            Domain.accessNamespace(null, namespace.getName()), 
revisionDescriptors.getOriginalUri() );
           
           NodeRevisionDescriptors realRevisionDescriptors = objectUri.getStore()
               .retrieveRevisionDescriptors(objectUri);
  @@ -226,6 +229,7 @@
                   (realRevisionDescriptors.getUri().toString());
           }
           
  +        if( latestNrn == null ) {
           // Retrieving latest revision numbers
           NodeRevisionNumber branchLatestRevisionNumber =
               realRevisionDescriptors.getLatestRevision(branch);
  @@ -234,9 +238,15 @@
               throw new BranchNotFoundException
                   (realRevisionDescriptors.getUri().toString(), branch);
           }
  -        
  -        return retrieve(token, realRevisionDescriptors,
  +            result = retrieve(token, realRevisionDescriptors,
                           branchLatestRevisionNumber);
  +        }
  +        else {
  +            result = retrieve( token, revisionDescriptors,
  +                               latestNrn );
  +        }
  +        
  +        return result;
           
       }
       
  @@ -1000,6 +1010,9 @@
           ObjectNode associatedObject = structureHelper.retrieve
               (token, revisionDescriptors.getUri(), false);
           
  +        NodeRevisionNumber latestNrn = redirectLatestRevisionNumber(
  +            Domain.accessNamespace(null, namespace.getName()), 
revisionDescriptors.getOriginalUri() );
  +        
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
               (token, associatedObject,
  @@ -1014,8 +1027,14 @@
                                namespaceConfig.getRemoveRevisionContentAction());
           
           Uri objectUri = namespace.getUri(token, revisionDescriptors.getUri());
  +        if( latestNrn == null
  +        ||  
revisionDescriptors.getUri().equals(revisionDescriptors.getOriginalUri()) ) {
           
           objectUri.getStore().removeRevisionDescriptors(objectUri);
  +        }
  +        else {
  +            objectUri.getStore().removeRevisionDescriptor(objectUri, latestNrn);
  +        }
           
           // Invoke interceptors
           invokeInterceptors(token, revisionDescriptors, null, null,
  
  
  

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

Reply via email to