diff --git a/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo b/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo index 31c57cd65..49a858bc2 100644 --- a/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo +++ b/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo @@ -1571,6 +1571,12 @@ 1.4.0+ String + + baseGroupsDn + The LDAP base dn for groups (if empty baseDn is used). + 1.4.0+ + String + contextFactory contextFactory to use. diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java index f41c7dfb9..eba93395d 100644 --- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java +++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java @@ -65,6 +65,11 @@ public class LdapConfiguration */ private String bindDn; + /** + * The LDAP base dn for groups (if empty baseDn is used). + */ + private String baseGroupsDn; + /** * The LDAP password. */ @@ -216,4 +221,14 @@ public class LdapConfiguration } } } + + public String getBaseGroupsDn() + { + return baseGroupsDn; + } + + public void setBaseGroupsDn( String baseGroupsDn ) + { + this.baseGroupsDn = baseGroupsDn; + } } diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java index 36116b0dd..ebb117e06 100644 --- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java +++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java @@ -49,7 +49,7 @@ import java.util.Set; * @author Olivier Lamy * @since 1.4-M4 */ -@Service( "userConfiguration#archiva" ) +@Service("userConfiguration#archiva") public class DefaultRedbackRuntimeConfigurationAdmin implements RedbackRuntimeConfigurationAdmin, UserConfiguration { @@ -60,11 +60,11 @@ public class DefaultRedbackRuntimeConfigurationAdmin private ArchivaConfiguration archivaConfiguration; @Inject - @Named( value = "userConfiguration#redback" ) + @Named(value = "userConfiguration#redback") UserConfiguration userConfiguration; @Inject - @Named( value = "cache#users" ) + @Named(value = "cache#users") private Cache usersCache; @PostConstruct @@ -118,6 +118,11 @@ public class DefaultRedbackRuntimeConfigurationAdmin ldapConfiguration.setSsl( userConfiguration.getBoolean( UserConfigurationKeys.LDAP_SSL, false ) ); ldapConfiguration.setBaseDn( userConfiguration.getConcatenatedList( UserConfigurationKeys.LDAP_BASEDN, null ) ); + + ldapConfiguration.setBaseGroupsDn( + userConfiguration.getConcatenatedList( UserConfigurationKeys.LDAP_GROUPS_BASEDN, + ldapConfiguration.getBaseDn() ) ); + ldapConfiguration.setContextFactory( userConfiguration.getString( UserConfigurationKeys.LDAP_CONTEX_FACTORY, null ) ); ldapConfiguration.setBindDn( @@ -520,6 +525,10 @@ public class DefaultRedbackRuntimeConfigurationAdmin { return getRedbackRuntimeConfiguration().getLdapConfiguration().getBindDn(); } + if ( UserConfigurationKeys.LDAP_GROUPS_BASEDN.equals( key ) ) + { + return getRedbackRuntimeConfiguration().getLdapConfiguration().getBaseGroupsDn(); + } return userConfiguration.getConcatenatedList( key, defaultValue ); } diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java index 80bf050d3..6c7558e67 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java @@ -35,6 +35,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import javax.inject.Inject; +import javax.inject.Named; import javax.ws.rs.core.Response; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -63,6 +64,9 @@ public class DefaultSystemStatusService private RepositoryScanner scanner; + // display spring scheduled + //@Inject @Named (value="springScheduler"); + @Inject public DefaultSystemStatusService( ApplicationContext applicationContext, RepositoryScanner scanner )