Hey Emmanuel,
Sorry - My bad. I looked a little more closely at the stack trace and
discovered the exception was being thrown during tearDown(). Before I was just
testing data graph reading and writing, thus tearing down all created
dataobjects manually, and now I'm testing the change summary processing, so I
ended up attempting to delete objects that the change summary had already
deleted.
Sorry for the noise,
- Ole
Emmanuel Lecharny wrote:
Hi Ole,
can you provide a full fonctionning tests exposing the incorrect behavior ?
Thanks !
On 7/19/07, Ole Ersoy <[EMAIL PROTECTED]> wrote:
Hey Guys,
I'm wondering whether the LdapContext.destroySubcontext() method is
working properly? I have some code like this:
===================================================================================
String destroyedObjectRelativeDN =
dataObjectToRelativeDNCache.get(destroyedObject);
LdapContext destroyedContext =
(LdapContext) containerContext.lookup(destroyedObjectRelativeDN);
System.out.println(destroyedContext.getNameInNamespace());
===================================================================================
If I run this I get what I expect, which is:
===================================================================================
example-com-users-accounts-Authorization-id=2,cn=authorizationList,example-com-users-accounts-User-id=1,cn=accounts,cn=users,cn=example,cn=com,ou=das
example-com-users-accounts-Authorization-id=3,cn=authorizationList,example-com-users-accounts-User-id=1,cn=accounts,cn=users,cn=example,cn=com,ou=das
example-com-users-accounts-Configuration-id=5,cn=configuration,example-com-users-accounts-User-id=1,cn=accounts,cn=users,cn=example,cn=com,ou=das
===================================================================================
So the container context is able to lookup all the contexts that it
should be able to lookup. However if I change the code and ask it to
destroy these contexts like this:
containerContext.destroySubcontext(destroyedObjectRelativeDN);
I get an exception like this:
==========================================================================================================
org.apache.directory.shared.ldap.exception.LdapNameNotFoundException:
Attempt to lookup non-existant entry:
example-com-users-accounts-authorization-id=2,2.5.4.3=authorizationlist,example-com-users-accounts-user-id=1,2.5.4.3=accounts,2.5.4.3=users,2.5.4.3=example,2.5.4.3=com,2.5.4.11=das
at
org.apache.directory.server.core.exception.ExceptionService.assertHasEntry(ExceptionService.java:573)
at
org.apache.directory.server.core.exception.ExceptionService.lookup(ExceptionService.java:292)
at
org.apache.directory.server.core.interceptor.InterceptorChain.lookup(InterceptorChain.java:848)
at
This seems off, since we know that this entry really does exist....
Thoughts?
Thanks,
- Ole