From: Mathieu Baudier Date: Mon, 23 Nov 2009 19:31:00 +0000 (+0000) Subject: Improve Apache directory server X-Git-Tag: argeo-commons-2.1.30~1699 X-Git-Url: http://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=581b6f0af126457c76a09af00071a4de687f06c7 Improve Apache directory server git-svn-id: https://svn.argeo.org/commons/trunk@3149 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/security/demo/org.argeo.security.demo.ldap/META-INF/MANIFEST.MF b/security/demo/org.argeo.security.demo.ldap/META-INF/MANIFEST.MF deleted file mode 100644 index 00885883a..000000000 --- a/security/demo/org.argeo.security.demo.ldap/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-SymbolicName: org.argeo.security.demo.ldap -Bundle-Version: 0.1.2.SNAPSHOT -Fragment-Host: org.argeo.security.manager.ldap diff --git a/security/demo/org.argeo.security.demo.ldap/ldap.properties b/security/demo/org.argeo.security.demo.ldap/ldap.properties deleted file mode 100644 index 970468a8a..000000000 --- a/security/demo/org.argeo.security.demo.ldap/ldap.properties +++ /dev/null @@ -1,5 +0,0 @@ -argeo.ldap.rootdn=dc=demo,dc=argeo,dc=org -argeo.ldap.host=localhost -argeo.ldap.port=10389 -argeo.ldap.manager.userdn=uid=admin,ou=system -argeo.ldap.manager.password=secret diff --git a/security/modules/org.argeo.security.manager.ldap/ldap.properties b/security/modules/org.argeo.security.manager.ldap/ldap.properties new file mode 100644 index 000000000..970468a8a --- /dev/null +++ b/security/modules/org.argeo.security.manager.ldap/ldap.properties @@ -0,0 +1,5 @@ +argeo.ldap.rootdn=dc=demo,dc=argeo,dc=org +argeo.ldap.host=localhost +argeo.ldap.port=10389 +argeo.ldap.manager.userdn=uid=admin,ou=system +argeo.ldap.manager.password=secret diff --git a/server/modules/org.argeo.server.ads.server/META-INF/spring/ads.xml b/server/modules/org.argeo.server.ads.server/META-INF/spring/ads.xml index 6f7f6a615..b579ee5f8 100644 --- a/server/modules/org.argeo.server.ads.server/META-INF/spring/ads.xml +++ b/server/modules/org.argeo.server.ads.server/META-INF/spring/ads.xml @@ -19,7 +19,7 @@ - osgibundle:init.ldif + ${argeo.ads.init.ldif} diff --git a/server/modules/org.argeo.server.ads.server/ads.properties b/server/modules/org.argeo.server.ads.server/ads.properties index 2596f1a58..ea544d586 100644 --- a/server/modules/org.argeo.server.ads.server/ads.properties +++ b/server/modules/org.argeo.server.ads.server/ads.properties @@ -2,3 +2,4 @@ argeo.ldap.rootdn=dc=demo,dc=argeo,dc=org argeo.ldap.port=10389 argeo.ldap.manager.userdn=uid=admin,ou=system argeo.ldap.manager.password=secret +argeo.ads.init.ldif=osgibundle:init.ldif \ No newline at end of file diff --git a/server/runtime/org.argeo.server.ads/pom.xml b/server/runtime/org.argeo.server.ads/pom.xml index f5894520c..bdb675889 100644 --- a/server/runtime/org.argeo.server.ads/pom.xml +++ b/server/runtime/org.argeo.server.ads/pom.xml @@ -42,6 +42,16 @@ org.apache.directory com.springsource.org.apache.directory.server.jndi + + + + org.slf4j + com.springsource.slf4j.api + + @@ -61,5 +71,9 @@ org.slf4j com.springsource.slf4j.org.apache.commons.logging + + org.slf4j + com.springsource.slf4j.api + diff --git a/server/runtime/org.argeo.server.ads/src/main/java/org/argeo/server/ads/AdsContainer.java b/server/runtime/org.argeo.server.ads/src/main/java/org/argeo/server/ads/AdsContainer.java index 4a36f721d..febc36303 100644 --- a/server/runtime/org.argeo.server.ads/src/main/java/org/argeo/server/ads/AdsContainer.java +++ b/server/runtime/org.argeo.server.ads/src/main/java/org/argeo/server/ads/AdsContainer.java @@ -1,6 +1,8 @@ package org.argeo.server.ads; import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import java.util.Properties; @@ -11,6 +13,7 @@ import javax.naming.NamingException; import javax.naming.directory.InitialDirContext; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.directory.server.configuration.MutableServerStartupConfiguration; @@ -55,15 +58,23 @@ public class AdsContainer implements InitializingBean, DisposableBean { .getAbsolutePath() + File.separator + "ldif")); + // Deals with provided LDIF files if (ldifs.size() > 0) configuration.getLdifDirectory().mkdirs(); for (Resource ldif : ldifs) { - FileUtils.copyURLToFile(ldif.getURL(), new File(configuration - .getLdifDirectory().getAbsolutePath() - + File.separator + ldif.getFilename().replace(':', '_'))); - if (log.isDebugEnabled()) - log.debug("Copied " + ldif + " to LDIF directory " - + configuration.getLdifDirectory()); + File targetFile = new File(configuration.getLdifDirectory() + .getAbsolutePath() + + File.separator + ldif.getFilename().replace(':', '_')); + OutputStream output = null; + try { + output = new FileOutputStream(targetFile); + IOUtils.copy(ldif.getInputStream(), output); + if (log.isDebugEnabled()) + log.debug("Copied " + ldif + " to LDIF directory " + + configuration.getLdifDirectory()); + } finally { + IOUtils.closeQuietly(output); + } } Properties env = new Properties();