[
https://jira.jboss.org/jira/browse/DNA-359?page=com.atlassian.jira.plugin...
]
Randall Hauch commented on DNA-359:
-----------------------------------
Applied the patch that implements the Session.refresh and Node.refresh by adding two
SessionCache.refresh methods (one to refresh all contents, the other to refresh only those
items below a branch).
However, there is one case that the patch doesn't handle (well), and that is when a
node is removed from a branch, refreshing that branch will not refresh the removed node.
This is because in SessionCache.refresh(UUID, boolean), the logic collecting the UUIDs in
the branch first uses the cachedNodes, and only if there is no cached node info will it
look in the changes. The logic instead needs to look first in the changedNodes, and to
use the children from the ChangedNodeInfo (which may contain nodes that were newly added
or moved from another node), but then also must get the UUIDs of the nodes that were
removed from the ChangedNodeInfo. (This latter step can be done by adding a method to
ChangedNodeInfo, since ChangedNodeInfo already has a reference to the original, or cached,
NodeInfo and can compute the UUIDs of the removed nodes. We don't care whether they
are moved somewhere else or deleted; we want to refresh them either way.) Only if there
is no ChangedNodeInfo should the refresh logic look in the cachedNodes.
Session.refresh and Node.refresh Methods Not Supported
------------------------------------------------------
Key: DNA-359
URL:
https://jira.jboss.org/jira/browse/DNA-359
Project: DNA
Issue Type: Bug
Components: JCR
Reporter: Brian Carothers
Priority: Minor
Attachments: DNA-359.patch
Session.refresh and AbstractJcrNode.refresh methods are stubbed in.
--
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