You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2010/01/02 10:53:03 UTC
svn commit: r895160 - in
/directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server:
annotations/CreateLdapServer.java factory/ServerAnnotationProcessor.java
Author: kayyagari
Date: Sat Jan 2 09:53:03 2010
New Revision: 895160
URL: http://svn.apache.org/viewvc?rev=895160&view=rev
Log:
implemented support for adding extended operation handlers to the LdapServer
Modified:
directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateLdapServer.java
directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java
Modified: directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateLdapServer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateLdapServer.java?rev=895160&r1=895159&r2=895160&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateLdapServer.java (original)
+++ directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/annotations/CreateLdapServer.java Sat Jan 2 09:53:03 2010
@@ -71,4 +71,7 @@
/** The certificate password in base64, default to the empty string */
String certificatePassword() default "";
+
+ /** name of the classes implementing extended operations */
+ Class<?>[] extendedOpHandlers() default {};
}
\ No newline at end of file
Modified: directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java?rev=895160&r1=895159&r2=895160&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java (original)
+++ directory/apacheds/branches/apacheds-schema/server-annotations/src/main/java/org/apache/directory/server/factory/ServerAnnotationProcessor.java Sat Jan 2 09:53:03 2010
@@ -26,6 +26,7 @@
import org.apache.directory.server.annotations.CreateTransport;
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.kerberos.kdc.KdcServer;
+import org.apache.directory.server.ldap.ExtendedOperationHandler;
import org.apache.directory.server.ldap.LdapServer;
import org.apache.directory.server.protocol.shared.transport.TcpTransport;
import org.apache.directory.server.protocol.shared.transport.Transport;
@@ -107,6 +108,19 @@
// Associate the DS to this LdapServer
ldapServer.setDirectoryService( directoryService );
+
+ for( Class<?> extOpClass : createLdapServer.extendedOpHandlers() )
+ {
+ try
+ {
+ ExtendedOperationHandler extOpHandler = ( ExtendedOperationHandler ) extOpClass.newInstance();
+ ldapServer.addExtendedOperationHandler( extOpHandler );
+ }
+ catch( Exception e )
+ {
+ throw new RuntimeException( "Failed to add the extended operation of type " + extOpClass.getName(), e );
+ }
+ }
// Launch the server
try