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






Reply via email to