On 2/6/10 9:38 PM, Stefan Zoerner wrote:
Hi all,

in order to complete the examples in our Advanced User's Guide for ApacheDS, I have started to create and document a simple interceptor as a starting point for developers, who are interested to extend the server that way.

http://cwiki.apache.org/confluence/display/DIRxSBOX/Implementing+a+simple+interceptor

It would be great if those who know the internals of the server would review the example and check whether it is OK. Although it works, there is probably still room for improvement. Any feedback is highly appreciated.
I will have a look at it tomorrow.

If the page is reviewed and complete, I will move it to the Advanced User's Guide (chapter 6. Extending the server).

And at least one thing is probably wrong in the example: The position of the interceptor within the chain. Currently, I simply add it at the end with this code:
Probably not the right place, as this is where we have put the logger interceptor. The reason why the logger is at the end is that it must only log operations that have been successfully executed.

However, there is no standard place to inject the interceptor, and this is something we have to fix in the server.


DirectoryService directoryService = new DefaultDirectoryService();
directoryService.setShutdownHookEnabled(true);

LdapServer ldapServer = new LdapServer();
ldapServer.setDirectoryService(directoryService);
ldapServer.setAllowAnonymousAccess(true);

List<Interceptor> is = directoryService.getInterceptors();
is.add(new PasswordHashInterceptor());
directoryService.setInterceptors(is);


Any recommendations where to add it in the list, and how to accomplish the task of a positional addition, e.g. "after SubentryInterceptor"?
Let me check what this interceptor does, and I'll give you some advice about where to inject it.

Thanks a lot for this doco !

--
Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com


Reply via email to