You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2009/06/10 23:22:47 UTC
svn commit: r783523 - in /jackrabbit/trunk/jackrabbit-core: pom.xml
src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java
Author: tripod
Date: Wed Jun 10 21:22:46 2009
New Revision: 783523
URL: http://svn.apache.org/viewvc?rev=783523&view=rev
Log:
JCR-2102 getAllLinearVersions does not return the base version
Modified:
jackrabbit/trunk/jackrabbit-core/pom.xml
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java
Modified: jackrabbit/trunk/jackrabbit-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/pom.xml?rev=783523&r1=783522&r2=783523&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/pom.xml (original)
+++ jackrabbit/trunk/jackrabbit-core/pom.xml Wed Jun 10 21:22:46 2009
@@ -90,8 +90,6 @@
org.apache.jackrabbit.core.xml.DocumentViewTest#testMultiValue
org.apache.jackrabbit.test.api.NodeCanAddMixinTest#testAddMixinTwice
org.apache.jackrabbit.test.api.ShareableNodeTest#testSharedNodePath
- org.apache.jackrabbit.test.api.version.VersionHistoryTest#testInitialNumberOfLinearVersions
- org.apache.jackrabbit.test.api.version.VersionHistoryTest#testInitiallyGetAllLinearVersionsContainsTheRootAndTheBaseVersion
</value>
</property>
</systemProperties>
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java?rev=783523&r1=783522&r2=783523&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java Wed Jun 10 21:22:46 2009
@@ -81,12 +81,13 @@
* @param rootVersion the root version
* @param baseVersion the ending base version
*/
- public VersionIteratorImpl(Session session, InternalVersion rootVersion, InternalVersion baseVersion) {
+ public VersionIteratorImpl(Session session, InternalVersion rootVersion,
+ InternalVersion baseVersion) {
this.session = (SessionImpl) session;
if (baseVersion == null) {
- initVersions(rootVersion);
+ collectAllVersions(rootVersion);
} else {
- initVersions(rootVersion, baseVersion);
+ collectLinearVersions(baseVersion);
}
// retrieve initial size, since size of the list is not stable
size = versions.size();
@@ -161,7 +162,7 @@
*
* @param root the root version
*/
- private synchronized void initVersions(InternalVersion root) {
+ private synchronized void collectAllVersions(InternalVersion root) {
LinkedList<InternalVersion> workQueue = new LinkedList<InternalVersion>();
workQueue.add(root);
while (!workQueue.isEmpty()) {
@@ -177,15 +178,13 @@
}
/**
- * Adds all versions of a single line of decent starting from <code>root</code>
- * and ending at <code>base</code>.
+ * Adds all versions of a single line of decent starting from the root
+ * version to the <code>base</code> version.
*
- * @param root the root version
* @param base the base version
*/
- private synchronized void initVersions(InternalVersion root, InternalVersion base) {
- NodeId rootId = root == null ? null : root.getId();
- while (base != null && !base.getId().equals(rootId)) {
+ private synchronized void collectLinearVersions(InternalVersion base) {
+ while (base != null) {
versions.addFirst(base.getId());
InternalVersion[] preds = base.getPredecessors();
if (preds.length == 0) {