[
https://jira.jboss.org/jira/browse/DNA-457?page=com.atlassian.jira.plugin...
]
Brian Carothers updated DNA-457:
--------------------------------
Attachment: DNA-457_WIP.patch
Took a stab at locking. It's not there yet, although it does pass all of the optional
locking tests (and breaks a few of the other TCK tests).
In the patch:
- A repository-level map of workspace names to lock managers for the workspace
- A WorkspaceLockManager class that maintains an in-memory map of locked node UUIDs to
locks and keeps that synchronized with a new system view at /jcr:system/dna:locks.
- A new system view at /jcr:system/dna:locks that contains a child node for each live
lock.
- Integration between the lock methods on AbstractJcrNode and JcrSession and the
WorkspaceLockManager
Not in the patch:
- A consistency checker that flushes some or all of the locks at startup or checks the
state of /jcr:system/dna:locks against the lock information on the locked nodes
- An Observer that listens for changes to the /jcr:system/dna:locks branch. This would be
needed for a federated DNA install.
- A locking mechanism for non-referenceable nodes. This is much more intricate than a
locking approach for referenceable nodes only.
- Good hygiene (e.g., meaningful comments, exception messages)
Please feel free to review or provide feedback. I don't intend to finish this until
after the SessionCache changes are done, as there would be a lot of interplay between the
locking code and the repository logic currently in the SessionCache.
Add JSR-170 Locking Optional Feature
------------------------------------
Key: DNA-457
URL:
https://jira.jboss.org/jira/browse/DNA-457
Project: DNA
Issue Type: Feature Request
Components: JCR
Affects Versions: 0.5
Reporter: Brian Carothers
Fix For: 1.0
Attachments: DNA-457_WIP.patch
JSR-170 defines several optional features. The locking feature allows users to lock
nodes (and, optionally, their descendants) until the session terminates or until they are
programatically unlocked.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira