So I ran my tests a bunch of times without the delete code. asset[x]
instances accumulated. I then tried adding the cleanup code in and thought
that it wasn't cleaning up.
however, I deleted the repo root, and now when i run the tests they clean
up. So the problem has gone away....
On Mon, Jul 21, 2008 at 4:07 AM, Marcel Reutegger <[EMAIL PROTECTED]>
wrote:
> Hi Florian,
>
> ah, of course, you are right.
>
> Michael, can you tell us what nodes remain in the workspace after you
> removed the assets node and called save?
>
> regards
> marcel
>
>
> Florian Holeczek wrote:
>
>> Hallo Marcel,
>>
>> are you sure about this? I thought Michael's code produced the
>> following tree:
>>
>> root
>> |
>> assets
>> / \
>> asset[1] asset[2]
>>
>> Regards,
>> Florian
>>
>> Ursprüngliche Nachricht vom 21.07.2008 um 09:07:
>>
>>> Hi Michael,
>>>
>>
>> Michael Harris wrote:
>>>
>>>> another noob question. I have the following codes
>>>>
>>>> Node root = session.getRootNode();
>>>> Node assets = root.addNode("assets");
>>>>
>>>> // Store content
>>>> Node asset = assets.addNode("asset");
>>>> asset.setProperty("url", "http://asset1url.org");
>>>> asset.setProperty("name", "Asset 1");
>>>> asset.setProperty("typetype", "image");
>>>>
>>>> Node asset2 = assets.addNode("asset");
>>>>
>>>
>> this creates a same named sibling /asset[2]
>>>
>>
>> asset2.setProperty("url", "http://asset2url.org");
>>>> asset2.setProperty("name", "Asset 2");
>>>> asset2.setProperty("type", "image");
>>>> session.save();
>>>>
>>>> and then
>>>>
>>>> Node root = session.getRootNode();
>>>> Node assets = root.getNode("assets");
>>>>
>>>
>> this will only return the first asset node but not the second one.
>>>
>>
>> assets.remove();
>>>> session.save();
>>>>
>>>> the more I run the test, the more nodes I get. Seems like the data in
>>>> the
>>>> TransientRepo is being stored on the disk. The remove is not cleaning
>>>> it
>>>> up. For why?
>>>>
>>>
>> to remove all asset nodes you need to do the following:
>>>
>>
>> for (NodeIterator assets = root.getNodes("assets"); assets.hasNext(); ) {
>>> assets.nextNode().remove();
>>> }
>>> session.save();
>>>
>>
>> regards
>>> marcel
>>>
>>
>>
>
--
---------------------
Michael Harris