Thanks a lot! It works now ...
Obviously, by registering the repository twice with RegistryHelper.registerRepository two separate repository instances were created (and I set overwrite to true so no NameAlreadyBoundException was thrown :-/
- Felix
Stefan Guggisberg wrote:
hi felix,
my guess is that you somehow have 2 different Repository instances that were created using identical configurations, i.e. they are
reading from/writing to
the same physical storage. this setup is not supported and will lead to corrupt data.
cheers stefan
On Apr 11, 2005 4:35 PM, Felix R�thenbacher <[EMAIL PROTECTED]> wrote:
Hi Stefan
i tracked it down to the HierarchyManagerImpl class. There, resolvePath() [199] is called for the source path (e.g. '/site/test', where 'test' is a newly added or copied node).
The execution path is as follows:
[199] resolvePath(Path path) [222] for (...) [iterate over all path elements] [226] parentState.hasChildNodeEntry(...) => false for name='test' [241] parentState.hasProperty(...) => false for name='test' [253] PathNotFoundException
Actually, the NodeState.ChildNodeEntries of 'site's parentState does not reflect the newly added node.
Unfortunately, I can't reproduce it with a simple setup for now ...
As said before, after a restart of the repository after adding the node, it can be copied without a problem (with same code sequence!!).
Regards,
Felix
Stefan Guggisberg wrote:
i tested what you're describing with the following code fragment:
Session sA = r.login(new SimpleCredentials("johndoe", "".toCharArray()), "A"); Session sB = r.login(new SimpleCredentials("johndoe", "".toCharArray()), "B"); Node nA = sA.getRootNode().addNode("foo"); sA.save(); Workspace wB = sB.getWorkspace(); wB.copy("A", nA.getPath(), "/bar");
everything worked as expected.
are you sure you're logging in on the same Repository instance?
cheers stefan
On Apr 8, 2005 9:51 PM, Felix R�thenbacher <[EMAIL PROTECTED]> wrote:
Hi
as mentioned before, I get a PathNotfoundException when I try to copy a node from one workspace to another. Here is the programme excecution:
1. Open session sA with workspace wA 2. Create a new node nA in workspace wA 3. Call sA.save() (afterwards it reports no pending changes) 4. Open session sB with workspace wB 5. Call wB.copy(wA, nA, [dstPath]) 6. A PathNotFoundException is thrown
Funny thing is, that when I restart the repository instance after node creation, this procedure works.
Thanks for sheding light on this
- Felix
-- Felix R�thenbacher [EMAIL PROTECTED] Wyona Inc. - Open Source Content Management - Apache Lenya http://www.wyona.com http://lenya.apache.org
