diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java index b8b05705..fa50c465 100644 --- a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java +++ b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java @@ -21,7 +21,7 @@ import org.apache.archiva.redback.common.ldap.UserMapper; import org.apache.archiva.redback.common.ldap.connection.LdapConnectionFactory; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.commons.lang.StringUtils; import org.apache.archiva.redback.authentication.AuthenticationDataSource; import org.apache.archiva.redback.authentication.AuthenticationException; @@ -65,7 +65,7 @@ public class LdapBindAuthenticator @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration config; + private UserConfiguration config; @Inject private LdapCacheService ldapCacheService; diff --git a/redback-common/redback-common-jdo/src/main/java/org/apache/archiva/redback/common/jdo/UserConfigurableJdoFactory.java b/redback-common/redback-common-jdo/src/main/java/org/apache/archiva/redback/common/jdo/UserConfigurableJdoFactory.java index 2d3caf68..eeb1cf68 100644 --- a/redback-common/redback-common-jdo/src/main/java/org/apache/archiva/redback/common/jdo/UserConfigurableJdoFactory.java +++ b/redback-common/redback-common-jdo/src/main/java/org/apache/archiva/redback/common/jdo/UserConfigurableJdoFactory.java @@ -20,7 +20,7 @@ */ import org.apache.archiva.redback.components.jdo.DefaultConfigurableJdoFactory; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.commons.lang.StringUtils; import org.codehaus.plexus.interpolation.InterpolationException; import org.codehaus.plexus.interpolation.PropertiesBasedValueSource; @@ -48,7 +48,7 @@ public class UserConfigurableJdoFactory @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration config; + private UserConfiguration config; private String getConfigString( String key, String currentValue, String defaultValue ) { @@ -116,12 +116,12 @@ public void initialize() super.initialize(); } - public DefaultUserConfiguration getConfig() + public UserConfiguration getConfig() { return config; } - public void setConfig( DefaultUserConfiguration config ) + public void setConfig( UserConfiguration config ) { this.config = config; } diff --git a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/LdapUserMapper.java b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/LdapUserMapper.java index 5e65658b..3add782a 100644 --- a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/LdapUserMapper.java +++ b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/LdapUserMapper.java @@ -19,7 +19,7 @@ * under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.users.User; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; @@ -81,7 +81,7 @@ public class LdapUserMapper @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration userConf; + private UserConfiguration userConf; @PostConstruct public void initialize() @@ -301,12 +301,12 @@ public String[] getReturningAttributes() getPasswordAttribute() }; } - public DefaultUserConfiguration getUserConf() + public UserConfiguration getUserConf() { return userConf; } - public void setUserConf( DefaultUserConfiguration userConf ) + public void setUserConf( UserConfiguration userConf ) { this.userConf = userConf; } diff --git a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java index ff740334..2d6861f6 100644 --- a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java +++ b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java @@ -19,7 +19,7 @@ * under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -90,7 +90,7 @@ public class ConfigurableLdapConnectionFactory @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration userConf; + private UserConfiguration userConf; // ---------------------------------------------------------------------- // Component Lifecycle @@ -267,12 +267,12 @@ public void setExtraProperties( Properties extraProperties ) this.extraProperties = extraProperties; } - public DefaultUserConfiguration getUserConf() + public UserConfiguration getUserConf() { return userConf; } - public void setUserConf( DefaultUserConfiguration userConf ) + public void setUserConf( UserConfiguration userConf ) { this.userConf = userConf; } diff --git a/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/DefaultUserConfiguration.java b/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/DefaultUserConfiguration.java index bf1c43d5..b461f681 100644 --- a/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/DefaultUserConfiguration.java +++ b/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/DefaultUserConfiguration.java @@ -43,6 +43,7 @@ */ @Service( "userConfiguration" ) public class DefaultUserConfiguration + implements UserConfiguration { private static final String DEFAULT_CONFIG_RESOURCE = "org/apache/archiva/redback/config-defaults.properties"; diff --git a/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/UserConfiguration.java b/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/UserConfiguration.java new file mode 100644 index 00000000..754f2269 --- /dev/null +++ b/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/UserConfiguration.java @@ -0,0 +1,51 @@ +package org.apache.archiva.redback.configuration; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.archiva.redback.components.registry.RegistryException; + +import javax.annotation.PostConstruct; +import java.util.List; + +/** + * @author Olivier Lamy + */ +public interface UserConfiguration +{ + @PostConstruct + void initialize() + throws RegistryException; + + String getString( String key ); + + String getString( String key, String defaultValue ); + + int getInt( String key ); + + int getInt( String key, int defaultValue ); + + boolean getBoolean( String key ); + + boolean getBoolean( String key, boolean defaultValue ); + + @SuppressWarnings( "unchecked" ) + List getList( String key ); + + String getConcatenatedList( String key, String defaultValue ); +} diff --git a/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/DefaultUserConfigurationTest.java b/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/DefaultUserConfigurationTest.java index d87b5287..2293ea5b 100644 --- a/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/DefaultUserConfigurationTest.java +++ b/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/DefaultUserConfigurationTest.java @@ -42,7 +42,7 @@ public class DefaultUserConfigurationTest { @Inject @Named(value = "test") - DefaultUserConfiguration config; + UserConfiguration config; private void assertEmpty( String str ) { diff --git a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/checks/security/AdminAutoCreateCheck.java b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/checks/security/AdminAutoCreateCheck.java index 64c7ebb5..fce83a1b 100644 --- a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/checks/security/AdminAutoCreateCheck.java +++ b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/checks/security/AdminAutoCreateCheck.java @@ -20,7 +20,7 @@ */ import org.apache.archiva.redback.authentication.PasswordBasedAuthenticationDataSource; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.rbac.RBACManager; import org.apache.archiva.redback.role.RoleManager; import org.apache.archiva.redback.role.RoleManagerException; @@ -68,7 +68,7 @@ public class AdminAutoCreateCheck private UserManager userManager; @Inject - private DefaultUserConfiguration config; + private UserConfiguration config; @Inject protected SecuritySystem securitySystem; diff --git a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/MailerImpl.java b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/MailerImpl.java index d5c8a448..efba805a 100644 --- a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/MailerImpl.java +++ b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/MailerImpl.java @@ -33,7 +33,7 @@ import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.keys.AuthenticationKey; import org.apache.archiva.redback.policy.UserSecurityPolicy; import org.apache.archiva.redback.policy.UserValidationSettings; @@ -66,7 +66,7 @@ public class MailerImpl private SecuritySystem securitySystem; @Inject @Named(value="userConfiguration") - private DefaultUserConfiguration config; + private UserConfiguration config; public void sendAccountValidationEmail( Collection recipients, AuthenticationKey authkey, String baseUrl ) { diff --git a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java index d2e626f0..ce97cc45 100644 --- a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java +++ b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java @@ -19,13 +19,13 @@ * under the License. */ +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.keys.AuthenticationKey; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.exception.MethodInvocationException; import org.apache.velocity.exception.ParseErrorException; import org.apache.velocity.exception.ResourceNotFoundException; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -50,7 +50,7 @@ public class VelocityMailGenerator @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration config; + private UserConfiguration config; // FIXME use the spring directly @Inject @@ -130,12 +130,12 @@ private VelocityContext createVelocityContext( AuthenticationKey authkey, String } - public DefaultUserConfiguration getConfig() + public UserConfiguration getConfig() { return config; } - public void setConfig( DefaultUserConfiguration config ) + public void setConfig( UserConfiguration config ) { this.config = config; } diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java index 3daca92e..0f156313 100644 --- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java +++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java @@ -23,7 +23,7 @@ import org.apache.archiva.redback.authentication.AuthenticationException; import org.apache.archiva.redback.authentication.TokenBasedAuthenticationDataSource; import org.apache.archiva.redback.components.cache.Cache; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator; import org.apache.archiva.redback.integration.mail.Mailer; import org.apache.archiva.redback.integration.security.role.RedbackRoleConstants; @@ -87,7 +87,7 @@ public class DefaultUserService private SecuritySystem securitySystem; @Inject - private DefaultUserConfiguration config; + private UserConfiguration config; @Inject private RoleManager roleManager; diff --git a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/FakeCreateAdminServiceImpl.java b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/FakeCreateAdminServiceImpl.java index 0807c437..057faff6 100644 --- a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/FakeCreateAdminServiceImpl.java +++ b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/FakeCreateAdminServiceImpl.java @@ -19,7 +19,7 @@ * under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.rbac.RBACManager; import org.apache.archiva.redback.users.UserManager; import org.apache.archiva.redback.role.RoleManager; @@ -44,7 +44,7 @@ public class FakeCreateAdminServiceImpl private UserManager userManager; @Inject - private DefaultUserConfiguration config; + private UserConfiguration config; @Inject private RoleManager roleManager; diff --git a/redback-policy/src/main/java/org/apache/archiva/redback/policy/AbstractCookieSettings.java b/redback-policy/src/main/java/org/apache/archiva/redback/policy/AbstractCookieSettings.java index ab0f46bc..87b23844 100644 --- a/redback-policy/src/main/java/org/apache/archiva/redback/policy/AbstractCookieSettings.java +++ b/redback-policy/src/main/java/org/apache/archiva/redback/policy/AbstractCookieSettings.java @@ -22,7 +22,7 @@ import javax.inject.Inject; import javax.inject.Named; -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; /** * Base class for cookie settings. These will only differ by their configuration keys. @@ -35,7 +35,7 @@ public abstract class AbstractCookieSettings implements CookieSettings { @Inject @Named(value="userConfiguration") - protected DefaultUserConfiguration config; + protected UserConfiguration config; /** * Timeout (in minutes) for the sign on cookie. diff --git a/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserSecurityPolicy.java b/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserSecurityPolicy.java index cc7d4cc3..b393a766 100644 --- a/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserSecurityPolicy.java +++ b/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserSecurityPolicy.java @@ -19,7 +19,7 @@ * under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.users.User; import org.apache.archiva.redback.policy.rules.MustHavePasswordRule; import org.slf4j.Logger; @@ -65,7 +65,7 @@ public class DefaultUserSecurityPolicy @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration config; + private UserConfiguration config; @Inject @Named( value = "passwordEncoder#sha256" ) @@ -402,12 +402,12 @@ public CookieSettings getSignonCookieSettings() return signonCookieSettings; } - public DefaultUserConfiguration getConfig() + public UserConfiguration getConfig() { return config; } - public void setConfig( DefaultUserConfiguration config ) + public void setConfig( UserConfiguration config ) { this.config = config; } diff --git a/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserValidationSettings.java b/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserValidationSettings.java index b86f532e..9b913fc8 100644 --- a/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserValidationSettings.java +++ b/redback-policy/src/main/java/org/apache/archiva/redback/policy/DefaultUserValidationSettings.java @@ -19,7 +19,7 @@ * under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -36,7 +36,7 @@ public class DefaultUserValidationSettings implements UserValidationSettings { @Resource (name="userConfiguration") - private DefaultUserConfiguration config; + private UserConfiguration config; private boolean emailValidationRequired; diff --git a/redback-policy/src/main/java/org/apache/archiva/redback/policy/rules/AbstractPasswordRule.java b/redback-policy/src/main/java/org/apache/archiva/redback/policy/rules/AbstractPasswordRule.java index ec965e89..73183e0e 100644 --- a/redback-policy/src/main/java/org/apache/archiva/redback/policy/rules/AbstractPasswordRule.java +++ b/redback-policy/src/main/java/org/apache/archiva/redback/policy/rules/AbstractPasswordRule.java @@ -16,7 +16,7 @@ * limitations under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.policy.PasswordRule; import javax.inject.Inject; @@ -34,7 +34,7 @@ public abstract class AbstractPasswordRule protected boolean enabled = true; @Inject @Named (value="userConfiguration") - protected DefaultUserConfiguration config; + protected UserConfiguration config; public boolean isEnabled() { diff --git a/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java b/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java index f263eb1a..b1d09f0a 100644 --- a/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java +++ b/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java @@ -16,7 +16,7 @@ * limitations under the License. */ -import org.apache.archiva.redback.configuration.DefaultUserConfiguration; +import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.users.AbstractUserManager; import org.apache.archiva.redback.users.User; import org.apache.archiva.redback.users.UserManager; @@ -40,7 +40,7 @@ public class ConfigurableUserManager { @Inject @Named( value = "userConfiguration" ) - private DefaultUserConfiguration config; + private UserConfiguration config; @Inject private ApplicationContext applicationContext;