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