exo-jcr

Problem with node path when use session.move(...., ....)

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.0
  • Component/s: services.jcr.core
  • Labels:
  • Similar issues:
  • Description:
    Hide

    Create node .../node_A

    and create 3 childs node
    ..../node_A/node1
    ..../node_A/node2
    ..../node_A/node3

    save session

    Use session to move node_A to same location with new name node_B
    session.move(".../node_A", ".../node_B")

    node_B still have 3 child nodes named node1, node2, node3 but only node1 have path with parent node is node_B (.../node_B/node1) , node2 and node3 have path with parent node is node_A (.../node_A/node1, .../node_A/node3)

    I also committed testcase ...../usecases/TestMoveNodeWithNewName.java for this problem

    Show
    Create node .../node_A and create 3 childs node ..../node_A/node1 ..../node_A/node2 ..../node_A/node3 save session Use session to move node_A to same location with new name node_B session.move(".../node_A", ".../node_B") node_B still have 3 child nodes named node1, node2, node3 but only node1 have path with parent node is node_B (.../node_B/node1) , node2 and node3 have path with parent node is node_A (.../node_A/node1, .../node_A/node3) I also committed testcase ...../usecases/TestMoveNodeWithNewName.java for this problem

Activity

Hide
Peter Nedonosko added a comment - 01/Aug/06 5:24 PM

There was a old-old problem with session cache,
I did fix it in SessionDataManager.removeFromCache(ItemImpl) - tuned ReferenceMap remove operation.
But! These changes TCK's merge test made crashed.
I removed merged nodes cleanup in NodeImpl.merge(String, boolean) and TCK pass well.

Show
Peter Nedonosko added a comment - 01/Aug/06 5:24 PM There was a old-old problem with session cache, I did fix it in SessionDataManager.removeFromCache(ItemImpl) - tuned ReferenceMap remove operation. But! These changes TCK's merge test made crashed. I removed merged nodes cleanup in NodeImpl.merge(String, boolean) and TCK pass well.
Hide
Peter Nedonosko added a comment - 01/Aug/06 5:26 PM

NOTE: For NodeImpl.merge(String, boolean) I have to use old edition of SessionDataManager.removeFromCache(ItemImpl) - SessionDataManager.removeFromCacheOld(ItemImpl).
In session refactor these 'twice' will be removed.

Show
Peter Nedonosko added a comment - 01/Aug/06 5:26 PM NOTE: For NodeImpl.merge(String, boolean) I have to use old edition of SessionDataManager.removeFromCache(ItemImpl) - SessionDataManager.removeFromCacheOld(ItemImpl). In session refactor these 'twice' will be removed.

People

Dates

  • Created:
    20/Jul/06 11:17 AM
    Updated:
    17/Nov/09 10:30 AM
    Resolved:
    01/Aug/06 5:24 PM
    Date of First Response:
    01/Aug/06 5:24 PM