[ 
https://issues.apache.org/jira/browse/JCR-2273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754041#action_12754041
 ] 

Julian Reschke commented on JCR-2273:
-------------------------------------

So it sounds that you want to be able to ask for a given lock: "can I modify 
the node that is controlled by this lock with my current session?"

That's of course a valid use case, and we may have lost that ability by the JCR 
2.0 changes. This may have to be addressed in a future revision.

On the other hand, your code still can keep track of this itself; it's just 
more work, right?

The fact that this problem occurs in 1.6.0 appears to be a bug, though.



> 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.

Reply via email to