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 2017/09/28 07:42:03 UTC
svn commit: r1809958 - in /jackrabbit/branches/2.12: ./
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/lock/LockManagerTest.java
Author: reschke
Date: Thu Sep 28 07:42:02 2017
New Revision: 1809958
URL: http://svn.apache.org/viewvc?rev=1809958&view=rev
Log:
JCR-3901: TCK LockManagerTest does not allow new JCR 2.0 functionality for lock token transfers (ported to 2.12)
Introduce new TCK config property, defaulting to the previous behavior, allowing to configure tests to check that open scoped lock tokens can be shared.
Modified:
jackrabbit/branches/2.12/ (props changed)
jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/lock/LockManagerTest.java
Propchange: jackrabbit/branches/2.12/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep 28 07:42:02 2017
@@ -1,3 +1,3 @@
/jackrabbit/branches/JCR-2272:1173165-1176545
/jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1732436,1751279,1752165,1753226,1758600,1759607,1759782,1759865,1761679,1761909,1762422,1763558,1766398,1768684,1771078,1771741,1771939,1771999,1772049,1772299,1772343,1772444,1772457,1772530,1772544,1772597,1772822,1773579,1773591,1773745,1774021,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,1776410,1776414,1776416-1776417,1776421,1779166,1779460,1780208,1786325,1787043,1787381,1792193,1793315,1793323,1793327,1793332,1797209,1797917,1799429
+/jackrabbit/trunk:1732436,1751279,1752165,1753226,1758600,1759607,1759782,1759865,1761679,1761909,1762422,1763558,1766398,1768684,1771078,1771741,1771939,1771999,1772049,1772299,1772343,1772444,1772457,1772530,1772544,1772597,1772822,1773579,1773591,1773745,1774021,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,1776410,1776414,1776416-1776417,1776421,1779166,1779460,1780208,1786325,1787043,1787381,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1799429
Modified: jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java?rev=1809958&r1=1809957&r2=1809958&view=diff
==============================================================================
--- jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java (original)
+++ jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java Thu Sep 28 07:42:02 2017
@@ -115,6 +115,14 @@ public abstract class RepositoryStub {
public static final String PROP_LOCK_OWNER = "lock.owner";
/**
+ * Determines whether the repository implementation allows open scoped locks
+ * to be owned by multiple sessions (see JCR 2.0 Section 17.3).
+ *
+ * @since JCR 2.0
+ */
+ public static final String PROP_OPEN_SCOPED_LOCK_MULTIPLE = "open.scoped.lock.multiple";
+
+ /**
* @since JCR 2.0
*/
public static final String PROP_HOLD_NAME = "holdname";
Modified: jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/lock/LockManagerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/lock/LockManagerTest.java?rev=1809958&r1=1809957&r2=1809958&view=diff
==============================================================================
--- jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/lock/LockManagerTest.java (original)
+++ jackrabbit/branches/2.12/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/lock/LockManagerTest.java Thu Sep 28 07:42:02 2017
@@ -30,6 +30,7 @@ import javax.jcr.lock.LockManager;
import org.apache.jackrabbit.test.AbstractJCRTest;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.RepositoryStub;
/** <code>LockManagerTest</code>... */
public class LockManagerTest extends AbstractJCRTest {
@@ -38,6 +39,8 @@ public class LockManagerTest extends Abs
protected Node testNode;
protected String testPath;
+ protected boolean openScopedLockMultiple;
+
protected void setUp() throws Exception {
super.setUp();
@@ -45,10 +48,12 @@ public class LockManagerTest extends Abs
if (Boolean.FALSE.toString().equals(superuser.getRepository().getDescriptor(Repository.OPTION_LOCKING_SUPPORTED))) {
throw new NotExecutableException();
}
-
+
testNode = testRootNode.addNode(nodeName1, testNodeType);
testRootNode.getSession().save();
testPath = testNode.getPath();
+ openScopedLockMultiple = Boolean.TRUE.toString()
+ .equals(getProperty(RepositoryStub.PROP_OPEN_SCOPED_LOCK_MULTIPLE, Boolean.FALSE.toString()));
lockMgr = getLockManager(superuser);
}
@@ -183,8 +188,6 @@ public class LockManagerTest extends Abs
public void testAddLockTokenToAnotherSession() throws RepositoryException,
NotExecutableException {
- // TODO: for 283 add config option for simultaneous tokens....
-
assertLockable(testNode);
boolean sessionScoped = false;
@@ -198,9 +201,15 @@ public class LockManagerTest extends Abs
try {
otherLockMgr.addLockToken(ltoken);
- fail("Adding token to another session must fail.");
+ if (!openScopedLockMultiple) {
+ fail("Adding token to another session must fail (see config property "
+ + RepositoryStub.PROP_OPEN_SCOPED_LOCK_MULTIPLE + ".");
+ }
} catch (LockException e) {
- // success
+ if (openScopedLockMultiple) {
+ fail("Adding token to another session must not fail (see config property "
+ + RepositoryStub.PROP_OPEN_SCOPED_LOCK_MULTIPLE + ".");
+ }
}
} finally {
other.logout();
@@ -338,8 +347,6 @@ public class LockManagerTest extends Abs
}
public void testLockTransfer2() throws Exception {
- // TODO: for 283 add config option for simultaneous tokens....
-
assertLockable(testNode);
boolean sessionScoped = false;
@@ -353,9 +360,15 @@ public class LockManagerTest extends Abs
otherLockMgr.addLockToken(ltoken);
lockMgr.addLockToken(ltoken);
- fail("Adding the token to another session must fail.");
+ if (!openScopedLockMultiple) {
+ fail("Adding token to another session must fail (see config property "
+ + RepositoryStub.PROP_OPEN_SCOPED_LOCK_MULTIPLE + ".");
+ }
} catch (LockException e) {
- // success
+ if (openScopedLockMultiple) {
+ fail("Adding token to another session must not fail (see config property "
+ + RepositoryStub.PROP_OPEN_SCOPED_LOCK_MULTIPLE + ".");
+ }
} finally {
otherLockMgr.removeLockToken(ltoken);
lockMgr.addLockToken(ltoken);