You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by mo...@apache.org on 2017/11/02 18:48:08 UTC
[04/25] knox git commit: KNOX-1088 - Remove LDAP BaseDirectoryService*
http://git-wip-us.apache.org/repos/asf/knox/blob/41952dd3/gateway-demo-ldap/src/main/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapDirectoryServer.java
----------------------------------------------------------------------
diff --git a/gateway-demo-ldap/src/main/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapDirectoryServer.java b/gateway-demo-ldap/src/main/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapDirectoryServer.java
index 12fe30d..b1685a1 100644
--- a/gateway-demo-ldap/src/main/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapDirectoryServer.java
+++ b/gateway-demo-ldap/src/main/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapDirectoryServer.java
@@ -25,12 +25,17 @@ import org.apache.directory.api.ldap.model.name.Dn;
import org.apache.directory.server.core.api.CoreSession;
import org.apache.directory.server.core.api.DirectoryService;
import org.apache.directory.server.core.api.partition.Partition;
+import org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory;
import org.apache.directory.server.core.factory.DirectoryServiceFactory;
+import org.apache.directory.server.core.factory.JdbmPartitionFactory;
+import org.apache.directory.server.core.factory.PartitionFactory;
import org.apache.directory.server.ldap.LdapServer;
import org.apache.directory.server.protocol.shared.store.LdifFileLoader;
import org.apache.directory.server.protocol.shared.transport.TcpTransport;
import org.apache.directory.server.protocol.shared.transport.Transport;
import org.apache.log4j.PropertyConfigurator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileNotFoundException;
@@ -39,6 +44,8 @@ import java.util.UUID;
public class SimpleLdapDirectoryServer {
+ private static final Logger LOG = LoggerFactory.getLogger(SimpleLdapDirectoryServer.class);
+
private DirectoryServiceFactory factory;
private DirectoryService service;
@@ -50,7 +57,36 @@ public class SimpleLdapDirectoryServer {
throw new FileNotFoundException( usersLdif.getAbsolutePath() );
}
- factory = new SimpleDirectoryServiceFactory();
+ DirectoryService directoryService = null;
+ try {
+ // creating the instance here so that
+ // we we can set some properties like accesscontrol, anon access
+ // before starting up the service
+ directoryService = new SimpleDirectoryService();
+
+ // no need to register a shutdown hook during tests because this
+ // starts a lot of threads and slows down test execution
+ directoryService.setShutdownHookEnabled( false );
+ } catch ( Exception e ) {
+ throw new RuntimeException( e );
+ }
+
+ PartitionFactory partitionFactory = null;
+ try {
+ String typeName = System.getProperty( "apacheds.partition.factory" );
+
+ if ( typeName != null ) {
+ Class<? extends PartitionFactory> type = ( Class<? extends PartitionFactory> ) Class.forName( typeName );
+ partitionFactory = type.newInstance();
+ } else {
+ partitionFactory = new JdbmPartitionFactory();
+ }
+ } catch ( Exception e ) {
+ LOG.error( "Error instantiating custom partiton factory", e );
+ throw new RuntimeException( e );
+ }
+
+ factory = new DefaultDirectoryServiceFactory( directoryService, partitionFactory );
factory.init( UUID.randomUUID().toString() );
service = factory.getDirectoryService();
http://git-wip-us.apache.org/repos/asf/knox/blob/41952dd3/gateway-demo-ldap/src/test/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapServerTest.java
----------------------------------------------------------------------
diff --git a/gateway-demo-ldap/src/test/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapServerTest.java b/gateway-demo-ldap/src/test/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapServerTest.java
index 33a367e..7d73219 100644
--- a/gateway-demo-ldap/src/test/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapServerTest.java
+++ b/gateway-demo-ldap/src/test/java/org/apache/hadoop/gateway/security/ldap/SimpleLdapServerTest.java
@@ -23,14 +23,12 @@ import org.apache.directory.api.ldap.model.exception.LdapException;
import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.ldap.client.api.LdapNetworkConnection;
import org.apache.directory.server.protocol.shared.transport.TcpTransport;
-import org.apache.directory.server.protocol.shared.transport.Transport;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
-import java.net.ServerSocket;
import static org.junit.Assert.fail;
http://git-wip-us.apache.org/repos/asf/knox/blob/41952dd3/gateway-test-release/pom.xml
----------------------------------------------------------------------
diff --git a/gateway-test-release/pom.xml b/gateway-test-release/pom.xml
index 3d4cbc5..81ccbe1 100644
--- a/gateway-test-release/pom.xml
+++ b/gateway-test-release/pom.xml
@@ -128,17 +128,6 @@
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-core-integ</artifactId>
- <version>${apacheds-version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.directory.api</groupId>
- <artifactId>api-ldap-schema-data</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-all</artifactId>
<exclusions>
<exclusion>
http://git-wip-us.apache.org/repos/asf/knox/blob/41952dd3/gateway-test/pom.xml
----------------------------------------------------------------------
diff --git a/gateway-test/pom.xml b/gateway-test/pom.xml
index 24e894b..f8576e6 100644
--- a/gateway-test/pom.xml
+++ b/gateway-test/pom.xml
@@ -109,20 +109,6 @@
<scope>test</scope>
</dependency>
- <!--
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-all</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.directory.shared</groupId>
- <artifactId>shared-ldap-schema</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- -->
-
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>