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/11/06 17:50:27 UTC

svn commit: r1845947 - in /jackrabbit/branches/2.10: ./ jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/ jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/ jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/...

Author: reschke
Date: Tue Nov  6 17:50:26 2018
New Revision: 1845947

URL: http://svn.apache.org/viewvc?rev=1845947&view=rev
Log:
JCR-4294: TCK tests should pass on repositories without locking support (ported to 2.10)

Modified:
    jackrabbit/branches/2.10/   (props changed)
    jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
    jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java
    jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java
    jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java

Propchange: jackrabbit/branches/2.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  6 17:50:26 2018
@@ -1,4 +1,4 @@
 /jackrabbit/branches/2.12:1776442,1776451,1776500,1776524,1835381
 /jackrabbit/branches/JCR-2272:1173165-1176545
 /jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1709811,1717599,1720093,1729382,1730696,1732436,1740814-1740815,1751279,1752165,1753226,1757322,1758600,1759607,1759782,1759865,1759933,1761679,1761909,1762422,1763558,1766398,1771078,1771741,1771939,1771999,1772049,1772343,1772444,1772457,1772530,1772544,1773579,1773591,1773745,1774443,1775123,1775132,1775315,1775384,1775414,1775419,1775437,1775444,1775463,1775472-1775473,1775481,1775485,1775496,1775509,1775514,1775613,1775617,1775621,1775624,1775629,1775631-1775632,1775634-1775635,1775637,1775657,1776384-1776385,1776407,1776410,1776413-1776414,1776416-1776417,1776421,1779166,1779460,1779632,1780208,1780335-1780336,1786325,1787043,1787381,1792100,1792105,1792113,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1798586,1799429,1802977,1807234,1807244,1808752,1808754,1809149,1809329,1809624,1810108,1811667,1812543,1812634,1812994,1814831,1817097-1817098,1817100,1817201,1817213,1817377,1818586,1819269,1820133,1821597,1822643,1822863,1822947,1822950,182
 4756,1824763-1824764,1824771,1826178,1826230,1826647,1826940,1826964,1828213,1830540,1830753,1830814,1833374
+/jackrabbit/trunk:1709811,1717599,1720093,1729382,1730696,1732436,1740814-1740815,1751279,1752165,1753226,1757322,1758600,1759607,1759782,1759865,1759933,1761679,1761909,1762422,1763558,1766398,1771078,1771741,1771939,1771999,1772049,1772343,1772444,1772457,1772530,1772544,1773579,1773591,1773745,1774443,1775123,1775132,1775315,1775384,1775414,1775419,1775437,1775444,1775463,1775472-1775473,1775481,1775485,1775496,1775509,1775514,1775613,1775617,1775621,1775624,1775629,1775631-1775632,1775634-1775635,1775637,1775657,1776384-1776385,1776407,1776410,1776413-1776414,1776416-1776417,1776421,1779166,1779460,1779632,1780208,1780335-1780336,1786325,1787043,1787381,1792100,1792105,1792113,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1798586,1799429,1802977,1807234,1807244,1808752,1808754,1809149,1809329,1809624,1810108,1811667,1812543,1812634,1812994,1814831,1817097-1817098,1817100,1817201,1817213,1817377,1818586,1819269,1820133,1821597,1822643,1822863,1822947,1822950,182
 4756,1824763-1824764,1824771,1826178,1826230,1826647,1826940,1826964,1828213,1830540,1830753,1830814,1830878,1833374

Modified: jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java?rev=1845947&r1=1845946&r2=1845947&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java Tue Nov  6 17:50:26 2018
@@ -728,6 +728,16 @@ public abstract class AbstractJCRTest ex
         }
     }
 
+    /**
+     * Checks that the repository supports locking, otherwise aborts with
+     * {@link NotExecutableException}.
+     * @throws NotExecutableException when the repository does not support locking
+     */
+    protected void ensureLockingSupported() throws RepositoryException, NotExecutableException {
+        if (!isSupported(Repository.OPTION_LOCKING_SUPPORTED)) {
+            throw new NotExecutableException("This repository does not support locking.");
+        }
+    }
 
     private boolean canSetProperty(NodeType nodeType, String propertyName, int propertyType, boolean isMultiple) {
         PropertyDefinition propDefs[] = nodeType.getPropertyDefinitions();

Modified: jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java?rev=1845947&r1=1845946&r2=1845947&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java Tue Nov  6 17:50:26 2018
@@ -94,6 +94,7 @@ public class SessionRemoveItemTest exten
     }
 
     public void testRemoveLockedNode() throws RepositoryException, NotExecutableException {
+        ensureLockingSupported();
         ensureMixinType(removeNode, mixLockable);
         removeNode.save();
 

Modified: jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java?rev=1845947&r1=1845946&r2=1845947&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java Tue Nov  6 17:50:26 2018
@@ -34,6 +34,7 @@ import javax.jcr.NodeIterator;
 import javax.jcr.Property;
 import javax.jcr.PropertyIterator;
 import javax.jcr.PropertyType;
+import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
@@ -536,6 +537,8 @@ public class VersionHistoryTest extends
             vHistory.getLock();
             fail("VersionHistory should not be lockable: VersionHistory.getLock() did not throw a LockException");
         } catch (LockException success) {
+        } catch (UnsupportedRepositoryOperationException maybe) {
+            assertFalse(isSupported(Repository.OPTION_LOCKING_SUPPORTED));
         }
     }
 
@@ -544,6 +547,7 @@ public class VersionHistoryTest extends
      * javax.jcr.lock.LockException}
      */
     public void testGetLockJcr2() throws Exception {
+        ensureLockingSupported();
         try {
             vHistory.getSession().getWorkspace().getLockManager().getLock(vHistory.getPath());
             fail("VersionHistory should not be lockable: VersionHistory.getLock() did not throw a LockException");
@@ -754,6 +758,7 @@ public class VersionHistoryTest extends
      * <code>false</code>
      */
     public void testHoldsLock() throws Exception {
+        ensureLockingSupported();
         assertFalse("VersionHistory.holdsLock() did not return false", vHistory.holdsLock());
     }
 
@@ -762,6 +767,7 @@ public class VersionHistoryTest extends
      * <code>false</code>
      */
     public void testHoldsLockJcr2() throws Exception {
+        ensureLockingSupported();
         assertFalse("VersionHistory.holdsLock() did not return false", vHistory.getSession().getWorkspace().getLockManager().holdsLock(vHistory.getPath()));
     }
 
@@ -794,6 +800,7 @@ public class VersionHistoryTest extends
      * <code>false</code>
      */
     public void testIsLockedJcr2() throws Exception {
+        ensureLockingSupported();
         assertFalse("VersionHistory.isLocked() did not return false", vHistory.getSession().getWorkspace().getLockManager().isLocked(vHistory.getPath()));
     }
 
@@ -841,6 +848,7 @@ public class VersionHistoryTest extends
      */
     @SuppressWarnings("deprecation")
     public void testLock() throws Exception {
+        ensureLockingSupported();
         try {
             vHistory.lock(true, true);
             fail("VersionHistory should not be lockable: VersionHistory.lock(true,true) did not throw a LockException");
@@ -868,6 +876,7 @@ public class VersionHistoryTest extends
      * {@link javax.jcr.lock.LockException}
      */
     public void testLockJcr2() throws Exception {
+        ensureLockingSupported();
         LockManager lockManager = vHistory.getSession().getWorkspace().getLockManager();
         String path = vHistory.getPath();
         try {
@@ -1150,6 +1159,7 @@ public class VersionHistoryTest extends
      * javax.jcr.lock.LockException}
      */
     public void testUnlock() throws Exception {
+        ensureLockingSupported();
         try {
             vHistory.unlock();
             fail("VersionHistory should not be lockable: VersionHistory.unlock() did not throw a LockException");
@@ -1162,6 +1172,7 @@ public class VersionHistoryTest extends
      * javax.jcr.lock.LockException}
      */
     public void testUnlockJcr2() throws Exception {
+        ensureLockingSupported();
         try {
             vHistory.getSession().getWorkspace().getLockManager().unlock(vHistory.getPath());
             fail("VersionHistory should not be lockable: VersionHistory.unlock() did not throw a LockException");

Modified: jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java?rev=1845947&r1=1845946&r2=1845947&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java Tue Nov  6 17:50:26 2018
@@ -29,6 +29,7 @@ import javax.jcr.ItemNotFoundException;
 import javax.jcr.PropertyIterator;
 import javax.jcr.Value;
 import javax.jcr.PropertyType;
+import javax.jcr.Repository;
 import javax.jcr.lock.LockException;
 import javax.jcr.lock.LockManager;
 
@@ -300,6 +301,8 @@ public class VersionTest extends Abstrac
             version.getLock();
             fail("Version should not be lockable: Version.getLock() did not throw a LockException");
         } catch (LockException success) {
+        } catch (UnsupportedRepositoryOperationException maybe) {
+            assertFalse(isSupported(Repository.OPTION_LOCKING_SUPPORTED));
         }
     }
 
@@ -308,6 +311,7 @@ public class VersionTest extends Abstrac
      * javax.jcr.lock.LockException}
      */
     public void testGetLockJcr2() throws Exception {
+        ensureLockingSupported();
         try {
             version.getSession().getWorkspace().getLockManager().getLock(version.getPath());
             fail("Version should not be lockable: Version.getLock() did not throw a LockException");
@@ -486,6 +490,7 @@ public class VersionTest extends Abstrac
      * Tests if <code>Version.holdsLock()</code> returns <code>false</code>
      */
     public void testHoldsLock() throws Exception {
+        ensureLockingSupported();
         assertFalse("Version.holdsLock() did not return false", version.holdsLock());
     }
 
@@ -493,6 +498,7 @@ public class VersionTest extends Abstrac
      * Tests if <code>Version.holdsLock()</code> returns <code>false</code>
      */
     public void testHoldsLockJcr2() throws Exception {
+        ensureLockingSupported();
         assertFalse("Version.holdsLock() did not return false", version.getSession().getWorkspace().getLockManager().holdsLock(version.getPath()));
     }
 
@@ -521,6 +527,7 @@ public class VersionTest extends Abstrac
      * Tests if <code>Version.isLocked()</code> returns <code>false</code>
      */
     public void testIsLockedJcr2() throws Exception {
+        ensureLockingSupported();
         assertFalse("Version.isLocked() did not return false", version.getSession().getWorkspace().getLockManager().isLocked(version.getPath()));
     }
 
@@ -574,6 +581,7 @@ public class VersionTest extends Abstrac
      * LockException}
      */
     public void testLock() throws Exception {
+        ensureLockingSupported();
         try {
             version.lock(true, true);
             fail("Version should not be lockable: Version.lock(true,true) did not throw a LockException");
@@ -601,6 +609,7 @@ public class VersionTest extends Abstrac
      * LockException}
      */
     public void testLockJcr2() throws Exception {
+        ensureLockingSupported();
         LockManager lockManager = version.getSession().getWorkspace().getLockManager();
         String path = version.getPath();
         try {
@@ -888,6 +897,8 @@ public class VersionTest extends Abstrac
             version.unlock();
             fail("Version should not be lockable: Version.unlock() did not throw a LockException");
         } catch (LockException success) {
+        } catch (UnsupportedRepositoryOperationException maybe) {
+            assertFalse(isSupported(Repository.OPTION_LOCKING_SUPPORTED));
         }
     }
 
@@ -896,6 +907,7 @@ public class VersionTest extends Abstrac
      * javax.jcr.lock.LockException}
      */
     public void testUnlockJcr2() throws Exception {
+        ensureLockingSupported();
         try {
             version.getSession().getWorkspace().getLockManager().unlock(version.getPath());
             fail("Version should not be lockable: Version.unlock() did not throw a LockException");