luetzkendorf 2004/11/18 08:27:29
Modified: src/webdav/server/org/apache/slide/webdav/method/report
VersionTreeReport.java
Log:
fix for version-tree-report on version history resorces
(testcase
DeltaV\functional\Version_history_feature\Version-tree_report\version-tree_report.xml)
Revision Changes Path
1.9 +29 -3
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/VersionTreeReport.java
Index: VersionTreeReport.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/report/VersionTreeReport.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- VersionTreeReport.java 5 Aug 2004 14:43:34 -0000 1.8
+++ VersionTreeReport.java 18 Nov 2004 16:27:29 -0000 1.9
@@ -52,6 +52,7 @@
import org.apache.slide.webdav.util.resourcekind.ResourceKind;
import org.apache.slide.webdav.util.resourcekind.Version;
import org.apache.slide.webdav.util.resourcekind.VersionControlled;
+import org.apache.slide.webdav.util.resourcekind.VersionHistory;
import org.jdom.Element;
import org.jdom.JDOMException;
@@ -152,6 +153,31 @@
nrd = content.retrieve(slideToken, nrds);
resourceKind =
AbstractResourceKind.determineResourceKind(token, nrds, nrd);
+ }
+ else if (resourceKind instanceof VersionHistory) {
+ NodeProperty rootVersion = nrd.getProperty(P_ROOT_VERSION);
+ if (rootVersion != null) {
+ XMLValue value;
+ if (rootVersion.getValue() instanceof XMLValue) {
+ value = (XMLValue)rootVersion.getValue();
+ } else {
+ try {
+ value = new
XMLValue(rootVersion.getValue().toString());
+ } catch (JDOMException e) {
+ throw new SlideException("Could not parse
DAV:root-version: "+nrds.getUri());
+ }
+ }
+ Iterator i = value.iterator();
+ if (i.hasNext()) {
+ resourcePath = ((Element)i.next()).getText();
+ }
+ }
+ resourcePath += "/";
+ resourcePath += nrds.getInitialRevision();
+ nrds = content.retrieve(slideToken, resourcePath);
+ nrd = content.retrieve(slideToken, nrds);
+ resourceKind =
+ AbstractResourceKind.determineResourceKind(token, nrds,
nrd);
}
if ( Configuration.useVersionControl() && (resourceKind instanceof
Version) ) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]