[
https://issues.apache.org/jira/browse/JCR-2273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753997#action_12753997
]
Marvin Lau commented on JCR-2273:
---------------------------------
The Javadoc for Lock.isSessionScoped() says "Returns true if this is a
session-scoped lock. Returns false if this is an open-scoped lock." It doesn't
say anything about the current session.
For my use case, I need to know whether "this Session holds the lock token for
this lock" is true or not. My understanding of the Javadoc is that if
Lock.isSessionScoped() returns true, then the lock is session scoped. Does it
also mean that the current session (i.e. the Session instance that was used to
get the Node instance that in turn was used to get the Lock instance) is
holding the lock?
> Lock.getLockToken() returns null for session scoped lock
> --------------------------------------------------------
>
> Key: JCR-2273
> URL: https://issues.apache.org/jira/browse/JCR-2273
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 1.6.0
> Environment: Linux (Fedora 11), Sun JDK 1.5 (Java(TM) 2 Runtime
> Environment, Standard Edition (build 1.5.0_16-b02))
> Reporter: Marvin Lau
>
> The following code (part of a JUnit test) works in Jackrabbit 1.5.0 but fails
> in Jackrabbit 1.6.0 at the last line (assertNotNull("Failed to get lock
> token.", sessionLockToken)). Is this related to the work on JSR 283 where
> the behavior of Lock.getLockToken() has changed?
> // Create lockable node
> Node rootNode = session.getRootNode();
> Node lockableNode = rootNode.addNode("foo");
> rootNode.save();
> lockableNode.addMixin(JcrConstants.MIX_LOCKABLE);
> lockableNode.save();
> session.save();
> // Get an open scope lock on the node
> lockableNode.lock(false, false);
> // Get lock token
> Lock lock = lockableNode.getLock();
> String openLockToken = lock.getLockToken();
> assertNotNull("Failed to get lock token.", openLockToken);
> // Remove the lock token by unlocking
> lockableNode.unlock();
> // Get a session scope lock on the node
> lockableNode.lock(false, true);
> // Get lock token
> lock = lockableNode.getLock();
> String sessionLockToken = lock.getLockToken();
> assertNotNull("Failed to get lock token.", sessionLockToken);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.