[ 
https://issues.apache.org/jira/browse/JCR-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dominique Pfister resolved JCR-1167.
------------------------------------

    Resolution: Fixed

Source of issue: CachingHierarchyManager, when notified about a reordering, 
examined every child node it had in its internal PathMap and - if a name/index 
combination changed - moved the child node to its new position. If the 
reordering, however, involved multiple nodes (as in the test case), this could 
result in:

b[3] -> b[1] (overwriting what was in b[1])
b[1] -> b[2] (overwriting what was in b[2])
b[2] -> b[3]

leaving only one child node in the path map. Changed to the following: every 
child node in the PathMap is added to a temporary map, which serves as new 
children node map - provided that some reordering actually took place.

Fixed in revision 583151.



> Paths not correct after reordering children
> -------------------------------------------
>
>                 Key: JCR-1167
>                 URL: https://issues.apache.org/jira/browse/JCR-1167
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.3.3
>            Reporter: Dominique Pfister
>            Assignee: Dominique Pfister
>         Attachments: JCR_1167.java
>
>
> Reordered, unsaved children of a node do not have the correct path. In the 
> test case attached, the following operation is attempted with three SNS 
> children named b[1], b[2], b[3]: the last element is ordered before the first 
> three times, which should result in the initial children order.

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