pnever      02/04/30 05:39:58

  Modified:    src/webdav/server/org/apache/slide/webdav/util
                        UriHandler.java
  Log:
  Added new factory method
  
  Revision  Changes    Path
  1.11      +40 -3     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/UriHandler.java
  
  Index: UriHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/UriHandler.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- UriHandler.java   29 Apr 2002 13:22:07 -0000      1.10
  +++ UriHandler.java   30 Apr 2002 12:39:58 -0000      1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/UriHandler.java,v
 1.10 2002/04/29 13:22:07 pnever Exp $
  - * $Revision: 1.10 $
  - * $Date: 2002/04/29 13:22:07 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/UriHandler.java,v
 1.11 2002/04/30 12:39:58 pnever Exp $
  + * $Revision: 1.11 $
  + * $Date: 2002/04/30 12:39:58 $
    *
    * ====================================================================
    *
  @@ -74,6 +74,7 @@
   import org.apache.slide.content.NodeProperty;
   import org.apache.slide.content.NodeRevisionDescriptors;
   import org.apache.slide.content.NodeRevisionDescriptor;
  +import org.apache.slide.content.NodeRevisionNumber;
   import org.apache.slide.content.RevisionNotFoundException;
   import org.apache.slide.content.RevisionDescriptorNotFoundException;
   import org.apache.slide.lock.ObjectLockedException;
  @@ -106,8 +107,44 @@
           String nsName = nsaToken.getName();
           HistoryPathHandler.getHistoryPathHandler( nsaToken );
           WorkspacePathHandler.getWorkspacePathHandler( nsaToken );
  +        WorkingresourcePathHandler.getWorkingresourcePathHandler( nsaToken );
           return new UriHandler( nsName, resourcePath );
           }
  +
  +    /**
  +     * Factory method.
  +     */
  +    public static UriHandler
  +    getUriHandler( NamespaceAccessToken nsaToken, NodeRevisionDescriptors nrds, 
NodeRevisionDescriptor nrd ) {
  +        
  +        String nsName = nsaToken.getName();
  +        HistoryPathHandler.getHistoryPathHandler( nsaToken );
  +        WorkspacePathHandler.getWorkspacePathHandler( nsaToken );
  +        WorkingresourcePathHandler.getWorkingresourcePathHandler( nsaToken );
  +
  +        StringBuffer b = new StringBuffer();
  +        String uri = nrds.getUri();
  +        UriHandler uriHandler = UriHandler.getUriHandler( nsaToken, uri );
  +        if ( ! uriHandler.isHistoryUri() ) {
  +            // any resource
  +            b.append( uri );
  +        }
  +        else {
  +            if( (new NodeRevisionNumber(0, 0)).equals(nrd.getRevisionNumber()) ) {
  +                // history resource
  +                b.append( uri );
  +            }
  +            else {
  +                // version resource
  +                b.append( uri );
  +                if( !uri.endsWith("/") ) {
  +                    b.append( "/" );
  +                }
  +                b.append( nrd.getRevisionNumber().toString() );
  +            }
  +        }
  +        return new UriHandler( nsName, b.toString() );
  +    }
   
       /**
        * Generates the next available history URI and returns an URI handler for it.
  
  
  

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

Reply via email to