Author: olamy
Date: Tue Dec 11 00:00:56 2012
New Revision: 1419916
URL: http://svn.apache.org/viewvc?rev=1419916&view=rev
Log:
correclty use archiva configuration for ldap connection
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/WEB-INF/applicationContext.xml
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java?rev=1419916&r1=1419915&r2=1419916&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java
Tue Dec 11 00:00:56 2012
@@ -18,13 +18,20 @@ package org.apache.archiva.web.runtime.l
* under the License.
*/
+import org.apache.archiva.admin.model.RepositoryAdminException;
import org.apache.archiva.admin.model.beans.ArchivaRuntimeConfiguration;
+import org.apache.archiva.admin.model.beans.LdapConfiguration;
import org.apache.archiva.admin.model.runtime.ArchivaRuntimeConfigurationAdmin;
import
org.apache.archiva.redback.common.ldap.connection.ConfigurableLdapConnectionFactory;
+import
org.apache.archiva.redback.common.ldap.connection.LdapConnectionConfiguration;
+import org.apache.archiva.redback.configuration.UserConfigurationKeys;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
+import javax.naming.InvalidNameException;
+import java.util.Map;
+import java.util.Properties;
/**
* @author Olivier Lamy
@@ -38,9 +45,59 @@ public class ArchivaLdapConnectionFactor
@Inject
private ArchivaRuntimeConfigurationAdmin archivaRuntimeConfigurationAdmin;
+ private LdapConnectionConfiguration ldapConnectionConfiguration;
+
@PostConstruct
public void initialize()
{
- // no op
+ try
+ {
+ LdapConfiguration ldapConfiguration =
+
archivaRuntimeConfigurationAdmin.getArchivaRuntimeConfiguration().getLdapConfiguration();
+ ldapConnectionConfiguration = new LdapConnectionConfiguration();
+ ldapConnectionConfiguration.setHostname(
ldapConfiguration.getHostName() );
+ ldapConnectionConfiguration.setPort( ldapConfiguration.getPort() );
+ ldapConnectionConfiguration.setSsl( ldapConfiguration.isSsl() );
+ ldapConnectionConfiguration.setBaseDn(
ldapConfiguration.getBaseDn() );
+ ldapConnectionConfiguration.setContextFactory(
ldapConfiguration.getContextFactory() );
+ ldapConnectionConfiguration.setBindDn(
ldapConfiguration.getBindDn() );
+ ldapConnectionConfiguration.setPassword(
ldapConfiguration.getPassword() );
+ ldapConnectionConfiguration.setAuthenticationMethod(
ldapConfiguration.getAuthenticationMethod() );
+ ldapConnectionConfiguration.setExtraProperties( toProperties(
ldapConfiguration.getExtraProperties() ) );
+ }
+ catch ( InvalidNameException e )
+ {
+ throw new RuntimeException( "Error while initializing connection
factory.", e );
+ }
+ catch ( RepositoryAdminException e )
+ {
+ throw new RuntimeException( "Error while initializing
ldapConnectionConfiguration: " + e.getMessage(), e );
+ }
+ }
+
+ private Properties toProperties( Map<String, String> map )
+ {
+ Properties properties = new Properties();
+ if ( map == null )
+ {
+ return properties;
+ }
+ for ( Map.Entry<String, String> entry : map.entrySet() )
+ {
+ properties.put( entry.getKey(), entry.getValue() );
+ }
+ return properties;
+ }
+
+ @Override
+ public LdapConnectionConfiguration getLdapConnectionConfiguration()
+ {
+ return this.ldapConnectionConfiguration;
+ }
+
+ @Override
+ public void setLdapConnectionConfiguration( LdapConnectionConfiguration
ldapConnectionConfiguration )
+ {
+ this.ldapConnectionConfiguration = ldapConnectionConfiguration;
}
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/WEB-INF/applicationContext.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/WEB-INF/applicationContext.xml?rev=1419916&r1=1419915&r2=1419916&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/WEB-INF/applicationContext.xml
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/WEB-INF/applicationContext.xml
Tue Dec 11 00:00:56 2012
@@ -139,9 +139,8 @@
<alias name="userManager#archiva" alias="userManager#configurable"/>
- <bean name="ldapConnectionFactory"
class="org.apache.archiva.redback.common.ldap.connection.ConfigurableLdapConnectionFactory">
- <property name="userConf" ref="userConfiguration#default"/>
- </bean>
+ <alias name="ldapConnectionFactory#archiva" alias="ldapConnectionFactory"/>
+ <alias name="ldapConnectionFactory#archiva"
alias="ldapConnectionFactory#configurable"/>
<!-- <component>
<role>org.apache.archiva.webdav.util.MimeTypes</role>