You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2018/06/26 12:29:03 UTC
svn commit: r1834424 - in /jackrabbit/trunk:
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java
Author: reschke
Date: Tue Jun 26 12:29:03 2018
New Revision: 1834424
URL: http://svn.apache.org/viewvc?rev=1834424&view=rev
Log:
JCR-4324: NPE on Version.getLinearPredecessor() implementation
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java?rev=1834424&r1=1834423&r2=1834424&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java Tue Jun 26 12:29:03 2018
@@ -127,7 +127,7 @@ public class VersionImpl extends NodeImp
*/
public javax.jcr.version.Version getLinearPredecessor() throws RepositoryException {
InternalVersion pred = getInternalVersion().getLinearPredecessor();
- return (Version) sessionContext.getSessionImpl().getNodeById(pred.getId());
+ return pred == null ? null : (Version) sessionContext.getSessionImpl().getNodeById(pred.getId());
}
/**
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java?rev=1834424&r1=1834423&r2=1834424&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetPredecessorsTest.java Tue Jun 26 12:29:03 2018
@@ -41,31 +41,34 @@ public class GetPredecessorsTest extends
assertTrue("Version should have at minimum one predecessor version.", version.getPredecessors().length > 0);
}
-
+
/**
- * Checks ontaining the linear predecessor.
+ * Checks obtaining the linear predecessor.
* @since JCR 2.0
*/
public void testGetLinearPredecessorSuccessor() throws RepositoryException {
String path = versionableNode.getPath();
-
+
VersionManager vm = versionableNode.getSession().getWorkspace().getVersionManager();
-
+
// get the previous version
Version pred = vm.getBaseVersion(path);
+ // shouldn't have a predecessor
+ assertNull(pred.getLinearPredecessor());
+
// shouldn't have a successor yet
assertNull(pred.getLinearSuccessor());
-
+
// check root version
Version root = vm.getVersionHistory(path).getRootVersion();
assertNull(root.getLinearSuccessor());
-
+
// create a new version
vm.checkout(path);
Version version = vm.checkin(path);
-
+
// refresh the predecessor
pred = (Version)versionableNode.getSession().getNode(pred.getPath());