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]>