Author: mreutegg
Date: Thu Jan 18 15:45:37 2018
New Revision: 1821514

URL: http://svn.apache.org/viewvc?rev=1821514&view=rev
Log:
OAK-7176: RevisionVector from empty string throws 
StringIndexOutOfBoundsException

Merged 1821477,1821487 from trunk

Modified:
    jackrabbit/oak/branches/1.8/   (props changed)
    
jackrabbit/oak/branches/1.8/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
    
jackrabbit/oak/branches/1.8/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RevisionVectorTest.java

Propchange: jackrabbit/oak/branches/1.8/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 18 15:45:37 2018
@@ -1,3 +1,3 @@
 /jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1820660-1820661,1820859,1820861,1820878,1820888,1820947,1821130,1821140-1821141,1821240,1821258,1821358,1821362,1821370,1821375
+/jackrabbit/oak/trunk:1820660-1820661,1820859,1820861,1820878,1820888,1820947,1821130,1821140-1821141,1821240,1821258,1821358,1821362,1821370,1821375,1821477,1821487
 /jackrabbit/trunk:1345480

Modified: 
jackrabbit/oak/branches/1.8/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java?rev=1821514&r1=1821513&r2=1821514&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.8/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
 (original)
+++ 
jackrabbit/oak/branches/1.8/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
 Thu Jan 18 15:45:37 2018
@@ -360,6 +360,9 @@ public final class RevisionVector implem
      * @throws IllegalArgumentException if the string is malformed
      */
     public static RevisionVector fromString(String s) {
+        if (s.isEmpty()) {
+            return EMPTY;
+        }
         String[] list = s.split(",");
         Revision[] revisions = new Revision[list.length];
         for (int i = 0; i < list.length; i++) {

Modified: 
jackrabbit/oak/branches/1.8/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RevisionVectorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RevisionVectorTest.java?rev=1821514&r1=1821513&r2=1821514&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.8/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RevisionVectorTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.8/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RevisionVectorTest.java
 Thu Jan 18 15:45:37 2018
@@ -429,6 +429,11 @@ public class RevisionVectorTest {
         assertEquals(2, rv.getDimensions());
         rv = rv.remove(1);
         assertEquals(1, rv.getDimensions());
+    }
 
+    @Test
+    public void emptyAsFromString() {
+        RevisionVector empty = new RevisionVector();
+        assertEquals(empty, RevisionVector.fromString(empty.asString()));
     }
 }


Reply via email to