From b23cf34cc08d0c84087829a05602d401bbbfc05d Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Tue, 27 Nov 2012 22:48:18 +0000 Subject: rename UserConfiguration to DefaultUserConfiguration to be able to extract an interface git-svn-id: https://svn.apache.org/repos/asf/archiva/redback/redback-core/trunk@1414451 13f79535-47bb-0310-9956-ffa450edef68 --- .../authentication/ldap/LdapBindAuthenticator.java | 4 +- .../src/test/resources/META-INF/spring-context.xml | 2 +- .../common/jdo/UserConfigurableJdoFactory.java | 8 +- .../redback/common/ldap/LdapUserMapper.java | 8 +- .../ConfigurableLdapConnectionFactory.java | 8 +- .../src/test/resources/spring-context.xml | 2 +- .../configuration/DefaultUserConfiguration.java | 222 +++++++++++++++++++++ .../redback/configuration/UserConfiguration.java | 222 --------------------- .../DefaultUserConfigurationTest.java | 108 ++++++++++ .../configuration/UserConfigurationTest.java | 109 ---------- .../src/test/resources/META-INF/spring-context.xml | 2 +- .../checks/security/AdminAutoCreateCheck.java | 4 +- .../redback/integration/mail/MailerImpl.java | 4 +- .../integration/mail/VelocityMailGenerator.java | 8 +- .../src/test/resources/spring-context.xml | 2 +- .../redback/rest/services/DefaultUserService.java | 4 +- .../rest/services/FakeCreateAdminServiceImpl.java | 4 +- .../src/test/resources/spring-context.xml | 2 +- .../src/test/resources/spring-context.xml | 2 +- .../src/test/resources/spring-context.xml | 2 +- .../redback/policy/AbstractCookieSettings.java | 4 +- .../redback/policy/DefaultUserSecurityPolicy.java | 8 +- .../policy/DefaultUserValidationSettings.java | 4 +- .../redback/policy/rules/AbstractPasswordRule.java | 4 +- .../src/test/resources/spring-context.xml | 2 +- .../src/test/resources/spring-context.xml | 2 +- .../src/test/resources/spring-context.xml | 2 +- .../src/test/resources/jpox-spring-context.xml | 2 +- .../src/test/resources/spring-context.xml | 2 +- .../src/test/resources/spring-context.xml | 2 +- .../configurable/ConfigurableUserManager.java | 4 +- .../src/test/resources/spring-context.xml | 2 +- 32 files changed, 382 insertions(+), 383 deletions(-) create mode 100644 redback-configuration/src/main/java/org/apache/archiva/redback/configuration/DefaultUserConfiguration.java delete mode 100644 redback-configuration/src/main/java/org/apache/archiva/redback/configuration/UserConfiguration.java create mode 100644 redback-configuration/src/test/java/org/apache/archiva/redback/configuration/DefaultUserConfigurationTest.java delete mode 100644 redback-configuration/src/test/java/org/apache/archiva/redback/configuration/UserConfigurationTest.java 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 fa50c4654..b8b057058 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 @@ package org.apache.archiva.redback.authentication.ldap; import org.apache.archiva.redback.common.ldap.UserMapper; import org.apache.archiva.redback.common.ldap.connection.LdapConnectionFactory; -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + private DefaultUserConfiguration config; @Inject private LdapCacheService ldapCacheService; diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/test/resources/META-INF/spring-context.xml b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/test/resources/META-INF/spring-context.xml index d923b30cb..ba7d70010 100644 --- a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/test/resources/META-INF/spring-context.xml +++ b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/test/resources/META-INF/spring-context.xml @@ -56,7 +56,7 @@ - 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 eeb1cf681..2d3caf682 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 @@ package org.apache.archiva.redback.common.jdo; */ import org.apache.archiva.redback.components.jdo.DefaultConfigurableJdoFactory; -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + private DefaultUserConfiguration config; private String getConfigString( String key, String currentValue, String defaultValue ) { @@ -116,12 +116,12 @@ public class UserConfigurableJdoFactory super.initialize(); } - public UserConfiguration getConfig() + public DefaultUserConfiguration getConfig() { return config; } - public void setConfig( UserConfiguration config ) + public void setConfig( DefaultUserConfiguration 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 3add782ae..5e65658b4 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 @@ package org.apache.archiva.redback.common.ldap; * under the License. */ -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration userConf; + private DefaultUserConfiguration userConf; @PostConstruct public void initialize() @@ -301,12 +301,12 @@ public class LdapUserMapper getPasswordAttribute() }; } - public UserConfiguration getUserConf() + public DefaultUserConfiguration getUserConf() { return userConf; } - public void setUserConf( UserConfiguration userConf ) + public void setUserConf( DefaultUserConfiguration 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 2d6861f6e..ff7403345 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 @@ package org.apache.archiva.redback.common.ldap.connection; * under the License. */ -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -90,7 +90,7 @@ public class ConfigurableLdapConnectionFactory @Inject @Named( value = "userConfiguration" ) - private UserConfiguration userConf; + private DefaultUserConfiguration userConf; // ---------------------------------------------------------------------- // Component Lifecycle @@ -267,12 +267,12 @@ public class ConfigurableLdapConnectionFactory this.extraProperties = extraProperties; } - public UserConfiguration getUserConf() + public DefaultUserConfiguration getUserConf() { return userConf; } - public void setUserConf( UserConfiguration userConf ) + public void setUserConf( DefaultUserConfiguration userConf ) { this.userConf = userConf; } diff --git a/redback-common/redback-common-ldap/src/test/resources/spring-context.xml b/redback-common/redback-common-ldap/src/test/resources/spring-context.xml index 1181c9f3c..6bb89bcf2 100644 --- a/redback-common/redback-common-ldap/src/test/resources/spring-context.xml +++ b/redback-common/redback-common-ldap/src/test/resources/spring-context.xml @@ -23,7 +23,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> - + src/test/resources/test.properties 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 new file mode 100644 index 000000000..bf1c43d5d --- /dev/null +++ b/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/DefaultUserConfiguration.java @@ -0,0 +1,222 @@ +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.Registry; +import org.apache.archiva.redback.components.registry.RegistryException; +import org.apache.archiva.redback.components.evaluator.DefaultExpressionEvaluator; +import org.apache.archiva.redback.components.evaluator.EvaluatorException; +import org.apache.archiva.redback.components.evaluator.ExpressionEvaluator; +import org.apache.archiva.redback.components.evaluator.sources.SystemPropertyExpressionSource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import javax.inject.Inject; +import javax.inject.Named; +import java.io.File; +import java.util.List; + +/** + * ConfigurationFactory + * + * @author Joakim Erdfelt + * + */ +@Service( "userConfiguration" ) +public class DefaultUserConfiguration +{ + private static final String DEFAULT_CONFIG_RESOURCE = "org/apache/archiva/redback/config-defaults.properties"; + + protected Logger log = LoggerFactory.getLogger( getClass() ); + + /** + * + * + * @deprecated Please configure the Plexus registry instead + */ + private List configs; + + private Registry lookupRegistry; + + private static final String PREFIX = "org.apache.archiva.redback"; + + @Inject + @Named( value = "commons-configuration" ) + private Registry registry; + + //TODO move this method call in the constructor + + @PostConstruct + public void initialize() + throws RegistryException + { + performLegacyInitialization(); + + try + { + registry.addConfigurationFromResource( DEFAULT_CONFIG_RESOURCE, PREFIX ); + } + catch ( RegistryException e ) + { + // Ok, not found in context classloader; try the one in this jar. + + ClassLoader prevCl = Thread.currentThread().getContextClassLoader(); + try + { + + Thread.currentThread().setContextClassLoader( getClass().getClassLoader() ); + registry.addConfigurationFromResource( DEFAULT_CONFIG_RESOURCE, PREFIX ); + } + finally + { + Thread.currentThread().setContextClassLoader( prevCl ); + } + } + + lookupRegistry = registry.getSubset( PREFIX ); + + log.debug("User configuration {}", lookupRegistry.dump() ); + + } + + private void performLegacyInitialization() + throws RegistryException + { + ExpressionEvaluator evaluator = new DefaultExpressionEvaluator(); + evaluator.addExpressionSource( new SystemPropertyExpressionSource() ); + + if ( configs != null ) + { + if ( !configs.isEmpty() ) + { + // TODO: plexus should be able to do this on it's own. + log.warn( + "DEPRECATED: the elements is deprecated. Please configure the Plexus registry instead" ); + } + + for ( String configName : configs ) + { + try + { + configName = evaluator.expand( configName ); + } + catch ( EvaluatorException e ) + { + log.warn( "Unable to resolve configuration name: " + e.getMessage(), e ); + } + log.info( "Attempting to find configuration [{}] (resolved to [{}])", configName, configName ); + + registry.addConfigurationFromFile( new File( configName ), PREFIX ); + } + } + } + + public String getString( String key ) + { + return lookupRegistry.getString( key ); + } + + public String getString( String key, String defaultValue ) + { + String value = lookupRegistry.getString( key, defaultValue ); + return value; + } + + public int getInt( String key ) + { + return lookupRegistry.getInt( key ); + } + + public int getInt( String key, int defaultValue ) + { + return lookupRegistry.getInt( key, defaultValue ); + } + + public boolean getBoolean( String key ) + { + return lookupRegistry.getBoolean( key ); + } + + public boolean getBoolean( String key, boolean defaultValue ) + { + return lookupRegistry.getBoolean( key, defaultValue ); + } + + @SuppressWarnings( "unchecked" ) + public List getList( String key ) + { + return lookupRegistry.getList( key ); + } + + public String getConcatenatedList( String key, String defaultValue ) + { + String concatenatedList; + List list = getList( key ); + if ( !list.isEmpty() ) + { + StringBuilder s = new StringBuilder(); + for ( String value : list ) + { + if ( s.length() > 0 ) + { + s.append( "," ); + } + s.append( value ); + } + concatenatedList = s.toString(); + } + else + { + concatenatedList = defaultValue; + } + + return concatenatedList; + } + + /** + * @return + * @deprecated + */ + public List getConfigs() + { + return configs; + } + + /** + * @param configs + * @deprecated + */ + public void setConfigs( List configs ) + { + this.configs = configs; + } + + public Registry getRegistry() + { + return registry; + } + + public void setRegistry( Registry registry ) + { + this.registry = registry; + } +} 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 deleted file mode 100644 index f6fd48651..000000000 --- a/redback-configuration/src/main/java/org/apache/archiva/redback/configuration/UserConfiguration.java +++ /dev/null @@ -1,222 +0,0 @@ -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.Registry; -import org.apache.archiva.redback.components.registry.RegistryException; -import org.apache.archiva.redback.components.evaluator.DefaultExpressionEvaluator; -import org.apache.archiva.redback.components.evaluator.EvaluatorException; -import org.apache.archiva.redback.components.evaluator.ExpressionEvaluator; -import org.apache.archiva.redback.components.evaluator.sources.SystemPropertyExpressionSource; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; -import javax.inject.Inject; -import javax.inject.Named; -import java.io.File; -import java.util.List; - -/** - * ConfigurationFactory - * - * @author Joakim Erdfelt - * - */ -@Service( "userConfiguration" ) -public class UserConfiguration -{ - private static final String DEFAULT_CONFIG_RESOURCE = "org/apache/archiva/redback/config-defaults.properties"; - - protected Logger log = LoggerFactory.getLogger( getClass() ); - - /** - * - * - * @deprecated Please configure the Plexus registry instead - */ - private List configs; - - private Registry lookupRegistry; - - private static final String PREFIX = "org.apache.archiva.redback"; - - @Inject - @Named( value = "commons-configuration" ) - private Registry registry; - - //TODO move this method call in the constructor - - @PostConstruct - public void initialize() - throws RegistryException - { - performLegacyInitialization(); - - try - { - registry.addConfigurationFromResource( DEFAULT_CONFIG_RESOURCE, PREFIX ); - } - catch ( RegistryException e ) - { - // Ok, not found in context classloader; try the one in this jar. - - ClassLoader prevCl = Thread.currentThread().getContextClassLoader(); - try - { - - Thread.currentThread().setContextClassLoader( getClass().getClassLoader() ); - registry.addConfigurationFromResource( DEFAULT_CONFIG_RESOURCE, PREFIX ); - } - finally - { - Thread.currentThread().setContextClassLoader( prevCl ); - } - } - - lookupRegistry = registry.getSubset( PREFIX ); - - log.debug("User configuration {}", lookupRegistry.dump() ); - - } - - private void performLegacyInitialization() - throws RegistryException - { - ExpressionEvaluator evaluator = new DefaultExpressionEvaluator(); - evaluator.addExpressionSource( new SystemPropertyExpressionSource() ); - - if ( configs != null ) - { - if ( !configs.isEmpty() ) - { - // TODO: plexus should be able to do this on it's own. - log.warn( - "DEPRECATED: the elements is deprecated. Please configure the Plexus registry instead" ); - } - - for ( String configName : configs ) - { - try - { - configName = evaluator.expand( configName ); - } - catch ( EvaluatorException e ) - { - log.warn( "Unable to resolve configuration name: " + e.getMessage(), e ); - } - log.info( "Attempting to find configuration [{}] (resolved to [{}])", configName, configName ); - - registry.addConfigurationFromFile( new File( configName ), PREFIX ); - } - } - } - - public String getString( String key ) - { - return lookupRegistry.getString( key ); - } - - public String getString( String key, String defaultValue ) - { - String value = lookupRegistry.getString( key, defaultValue ); - return value; - } - - public int getInt( String key ) - { - return lookupRegistry.getInt( key ); - } - - public int getInt( String key, int defaultValue ) - { - return lookupRegistry.getInt( key, defaultValue ); - } - - public boolean getBoolean( String key ) - { - return lookupRegistry.getBoolean( key ); - } - - public boolean getBoolean( String key, boolean defaultValue ) - { - return lookupRegistry.getBoolean( key, defaultValue ); - } - - @SuppressWarnings( "unchecked" ) - public List getList( String key ) - { - return lookupRegistry.getList( key ); - } - - public String getConcatenatedList( String key, String defaultValue ) - { - String concatenatedList; - List list = getList( key ); - if ( !list.isEmpty() ) - { - StringBuilder s = new StringBuilder(); - for ( String value : list ) - { - if ( s.length() > 0 ) - { - s.append( "," ); - } - s.append( value ); - } - concatenatedList = s.toString(); - } - else - { - concatenatedList = defaultValue; - } - - return concatenatedList; - } - - /** - * @return - * @deprecated - */ - public List getConfigs() - { - return configs; - } - - /** - * @param configs - * @deprecated - */ - public void setConfigs( List configs ) - { - this.configs = configs; - } - - public Registry getRegistry() - { - return registry; - } - - public void setRegistry( Registry registry ) - { - this.registry = registry; - } -} 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 new file mode 100644 index 000000000..d87b52874 --- /dev/null +++ b/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/DefaultUserConfigurationTest.java @@ -0,0 +1,108 @@ +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 junit.framework.TestCase; +import org.codehaus.plexus.util.StringUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.inject.Inject; +import javax.inject.Named; + +/** + * DefaultUserConfigurationTest + * + * @author Joakim Erdfelt + * + */ +@RunWith( SpringJUnit4ClassRunner.class ) +@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" } ) +public class DefaultUserConfigurationTest + extends TestCase +{ + + @Inject @Named(value = "test") + DefaultUserConfiguration config; + + private void assertEmpty( String str ) + { + if ( StringUtils.isNotEmpty( str ) ) + { + fail( "Expected String to be empty." ); + } + } + + @Test + public void testLoad() + throws Exception + { + assertNotNull( config ); + // check that the configuration loaded correctly - if this fails, maybe you aren't in the right basedir + assertNotNull( config.getString( "test.value" ) ); + } + + @Test + public void testGetString() + throws Exception + { + // Test default configuration entry + assertEquals( "25", config.getString( "email.smtp.port" ) ); + // Test overlaid configuration entry + assertEquals( "127.0.2.2", config.getString( "email.smtp.host" ) ); + // Test default value + assertEquals( "127.0.0.1", config.getString( "email.smtp.host.bad", "127.0.0.1" ) ); +/* Requires commons-configuration 1.4 + // Test expressions + assertEquals( "jdbc:derby:" + System.getProperty( "plexus.home" ) + "/database;create=true", + config.getString( "jdbc.url" ) ); + assertEquals( "foo/bar", config.getString( "test.expression" ) ); +*/ + + assertEmpty( config.getString( "email.smtp.foo.foo" ) ); + } + + @Test + public void testGetBoolean() + throws Exception + { + assertFalse( config.getBoolean( "email.smtp.ssl.enabled" ) ); + assertFalse( config.getBoolean( "email.smtp.tls.enabled" ) ); + } + + @Test + public void testGetInt() + throws Exception + { + assertEquals( 25, config.getInt( "email.smtp.port" ) ); + assertEquals( 8080, config.getInt( "email.smtp.port.bad", 8080 ) ); + } + + @Test + public void testConcatenatedList() + { + assertEquals( "uid=brett,dc=codehaus,dc=org", config.getConcatenatedList( "ldap.bind.dn", null ) ); + assertEquals( "dc=codehaus,dc=org", config.getConcatenatedList( "ldap.base.dn", null ) ); + assertEquals( "foo", config.getConcatenatedList( "short.list", null ) ); + assertEquals( "bar,baz", config.getConcatenatedList( "no.list", "bar,baz" ) ); + } +} diff --git a/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/UserConfigurationTest.java b/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/UserConfigurationTest.java deleted file mode 100644 index 63aec7455..000000000 --- a/redback-configuration/src/test/java/org/apache/archiva/redback/configuration/UserConfigurationTest.java +++ /dev/null @@ -1,109 +0,0 @@ -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 junit.framework.TestCase; -import org.apache.archiva.redback.configuration.UserConfiguration; -import org.codehaus.plexus.util.StringUtils; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.inject.Inject; -import javax.inject.Named; - -/** - * UserConfigurationTest - * - * @author Joakim Erdfelt - * - */ -@RunWith( SpringJUnit4ClassRunner.class ) -@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" } ) -public class UserConfigurationTest - extends TestCase -{ - - @Inject @Named(value = "test") - UserConfiguration config; - - private void assertEmpty( String str ) - { - if ( StringUtils.isNotEmpty( str ) ) - { - fail( "Expected String to be empty." ); - } - } - - @Test - public void testLoad() - throws Exception - { - assertNotNull( config ); - // check that the configuration loaded correctly - if this fails, maybe you aren't in the right basedir - assertNotNull( config.getString( "test.value" ) ); - } - - @Test - public void testGetString() - throws Exception - { - // Test default configuration entry - assertEquals( "25", config.getString( "email.smtp.port" ) ); - // Test overlaid configuration entry - assertEquals( "127.0.2.2", config.getString( "email.smtp.host" ) ); - // Test default value - assertEquals( "127.0.0.1", config.getString( "email.smtp.host.bad", "127.0.0.1" ) ); -/* Requires commons-configuration 1.4 - // Test expressions - assertEquals( "jdbc:derby:" + System.getProperty( "plexus.home" ) + "/database;create=true", - config.getString( "jdbc.url" ) ); - assertEquals( "foo/bar", config.getString( "test.expression" ) ); -*/ - - assertEmpty( config.getString( "email.smtp.foo.foo" ) ); - } - - @Test - public void testGetBoolean() - throws Exception - { - assertFalse( config.getBoolean( "email.smtp.ssl.enabled" ) ); - assertFalse( config.getBoolean( "email.smtp.tls.enabled" ) ); - } - - @Test - public void testGetInt() - throws Exception - { - assertEquals( 25, config.getInt( "email.smtp.port" ) ); - assertEquals( 8080, config.getInt( "email.smtp.port.bad", 8080 ) ); - } - - @Test - public void testConcatenatedList() - { - assertEquals( "uid=brett,dc=codehaus,dc=org", config.getConcatenatedList( "ldap.bind.dn", null ) ); - assertEquals( "dc=codehaus,dc=org", config.getConcatenatedList( "ldap.base.dn", null ) ); - assertEquals( "foo", config.getConcatenatedList( "short.list", null ) ); - assertEquals( "bar,baz", config.getConcatenatedList( "no.list", "bar,baz" ) ); - } -} diff --git a/redback-configuration/src/test/resources/META-INF/spring-context.xml b/redback-configuration/src/test/resources/META-INF/spring-context.xml index 05f746cd3..5db29e960 100644 --- a/redback-configuration/src/test/resources/META-INF/spring-context.xml +++ b/redback-configuration/src/test/resources/META-INF/spring-context.xml @@ -27,7 +27,7 @@ default-lazy-init="true"> - + src/test/resources/props/test-another.properties 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 fce83a1b0..64c7ebb52 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 @@ package org.apache.archiva.redback.integration.checks.security; */ import org.apache.archiva.redback.authentication.PasswordBasedAuthenticationDataSource; -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + private DefaultUserConfiguration 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 efba805ac..d5c8a4486 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.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + private DefaultUserConfiguration 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 eb5ed2ca7..d2e626f09 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 @@ -25,7 +25,7 @@ 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.UserConfiguration; +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 UserConfiguration config; + private DefaultUserConfiguration config; // FIXME use the spring directly @Inject @@ -130,12 +130,12 @@ public class VelocityMailGenerator } - public UserConfiguration getConfig() + public DefaultUserConfiguration getConfig() { return config; } - public void setConfig( UserConfiguration config ) + public void setConfig( DefaultUserConfiguration config ) { this.config = config; } diff --git a/redback-integrations/redback-common-integrations/src/test/resources/spring-context.xml b/redback-integrations/redback-common-integrations/src/test/resources/spring-context.xml index 6285b3562..2b706ba84 100644 --- a/redback-integrations/redback-common-integrations/src/test/resources/spring-context.xml +++ b/redback-integrations/redback-common-integrations/src/test/resources/spring-context.xml @@ -42,7 +42,7 @@ - + src/test/config/mail.properties 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 0f1563133..3daca92ef 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 net.sf.ehcache.CacheManager; 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.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + private DefaultUserConfiguration 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 5d92085c5..0807c437d 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,9 +19,9 @@ package org.apache.archiva.redback.rest.services; * under the License. */ +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; import org.apache.archiva.redback.rbac.RBACManager; import org.apache.archiva.redback.users.UserManager; -import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.role.RoleManager; import org.apache.archiva.redback.rest.api.services.UserService; @@ -44,7 +44,7 @@ public class FakeCreateAdminServiceImpl private UserManager userManager; @Inject - private UserConfiguration config; + private DefaultUserConfiguration config; @Inject private RoleManager roleManager; diff --git a/redback-integrations/redback-rest/redback-rest-services/src/test/resources/spring-context.xml b/redback-integrations/redback-rest/redback-rest-services/src/test/resources/spring-context.xml index 24a2c9222..906a0fd48 100644 --- a/redback-integrations/redback-rest/redback-rest-services/src/test/resources/spring-context.xml +++ b/redback-integrations/redback-rest/redback-rest-services/src/test/resources/spring-context.xml @@ -27,7 +27,7 @@ http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> - diff --git a/redback-keys/redback-keys-providers/redback-keys-cached/src/test/resources/spring-context.xml b/redback-keys/redback-keys-providers/redback-keys-cached/src/test/resources/spring-context.xml index 384e015a4..5d60d1dcf 100644 --- a/redback-keys/redback-keys-providers/redback-keys-cached/src/test/resources/spring-context.xml +++ b/redback-keys/redback-keys-providers/redback-keys-cached/src/test/resources/spring-context.xml @@ -40,7 +40,7 @@ - + diff --git a/redback-keys/redback-keys-providers/redback-keys-jdo/src/test/resources/spring-context.xml b/redback-keys/redback-keys-providers/redback-keys-jdo/src/test/resources/spring-context.xml index 9b6c1e6b2..38e6ca73a 100644 --- a/redback-keys/redback-keys-providers/redback-keys-jdo/src/test/resources/spring-context.xml +++ b/redback-keys/redback-keys-providers/redback-keys-jdo/src/test/resources/spring-context.xml @@ -36,7 +36,7 @@ - + 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 87b23844c..ab0f46bca 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 @@ package org.apache.archiva.redback.policy; import javax.inject.Inject; import javax.inject.Named; -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; /** * 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 UserConfiguration config; + protected DefaultUserConfiguration 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 b393a7667..cc7d4cc3a 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 @@ package org.apache.archiva.redback.policy; * under the License. */ -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + private DefaultUserConfiguration config; @Inject @Named( value = "passwordEncoder#sha256" ) @@ -402,12 +402,12 @@ public class DefaultUserSecurityPolicy return signonCookieSettings; } - public UserConfiguration getConfig() + public DefaultUserConfiguration getConfig() { return config; } - public void setConfig( UserConfiguration config ) + public void setConfig( DefaultUserConfiguration 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 9b913fc82..b86f532ea 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 @@ package org.apache.archiva.redback.policy; * under the License. */ -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -36,7 +36,7 @@ public class DefaultUserValidationSettings implements UserValidationSettings { @Resource (name="userConfiguration") - private UserConfiguration config; + private DefaultUserConfiguration 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 73183e0ed..ec965e890 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 @@ package org.apache.archiva.redback.policy.rules; * limitations under the License. */ -import org.apache.archiva.redback.configuration.UserConfiguration; +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; 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 UserConfiguration config; + protected DefaultUserConfiguration config; public boolean isEnabled() { diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/resources/spring-context.xml b/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/resources/spring-context.xml index 205285159..bc04bd968 100755 --- a/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/resources/spring-context.xml +++ b/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/resources/spring-context.xml @@ -38,7 +38,7 @@ - + diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/resources/spring-context.xml b/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/resources/spring-context.xml index 878d20ed2..9699fe7f7 100644 --- a/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/resources/spring-context.xml +++ b/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/resources/spring-context.xml @@ -41,7 +41,7 @@ - + diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-memory/src/test/resources/spring-context.xml b/redback-rbac/redback-rbac-providers/redback-rbac-memory/src/test/resources/spring-context.xml index 39f03401f..5fea76993 100755 --- a/redback-rbac/redback-rbac-providers/redback-rbac-memory/src/test/resources/spring-context.xml +++ b/redback-rbac/redback-rbac-providers/redback-rbac-memory/src/test/resources/spring-context.xml @@ -37,7 +37,7 @@ - + diff --git a/redback-rbac/redback-rbac-role-manager/src/test/resources/jpox-spring-context.xml b/redback-rbac/redback-rbac-role-manager/src/test/resources/jpox-spring-context.xml index f89806a21..9ffa44202 100644 --- a/redback-rbac/redback-rbac-role-manager/src/test/resources/jpox-spring-context.xml +++ b/redback-rbac/redback-rbac-role-manager/src/test/resources/jpox-spring-context.xml @@ -70,7 +70,7 @@ - + diff --git a/redback-rbac/redback-rbac-role-manager/src/test/resources/spring-context.xml b/redback-rbac/redback-rbac-role-manager/src/test/resources/spring-context.xml index 230f31465..5311b6249 100755 --- a/redback-rbac/redback-rbac-role-manager/src/test/resources/spring-context.xml +++ b/redback-rbac/redback-rbac-role-manager/src/test/resources/spring-context.xml @@ -39,7 +39,7 @@ - + diff --git a/redback-system/src/test/resources/spring-context.xml b/redback-system/src/test/resources/spring-context.xml index 9b6c1e6b2..38e6ca73a 100644 --- a/redback-system/src/test/resources/spring-context.xml +++ b/redback-system/src/test/resources/spring-context.xml @@ -36,7 +36,7 @@ - + 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 beee4dd84..f263eb1a2 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,11 +16,11 @@ package org.apache.archiva.redback.users.configurable; * limitations under the License. */ +import org.apache.archiva.redback.configuration.DefaultUserConfiguration; import org.apache.archiva.redback.users.AbstractUserManager; import org.apache.archiva.redback.users.User; import org.apache.archiva.redback.users.UserManager; import org.apache.archiva.redback.users.UserNotFoundException; -import org.apache.archiva.redback.configuration.UserConfiguration; import org.apache.archiva.redback.users.UserQuery; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; @@ -40,7 +40,7 @@ public class ConfigurableUserManager { @Inject @Named( value = "userConfiguration" ) - private UserConfiguration config; + private DefaultUserConfiguration config; @Inject private ApplicationContext applicationContext; diff --git a/redback-users/redback-users-providers/redback-users-jdo/src/test/resources/spring-context.xml b/redback-users/redback-users-providers/redback-users-jdo/src/test/resources/spring-context.xml index 6b40351b5..2db3f24aa 100644 --- a/redback-users/redback-users-providers/redback-users-jdo/src/test/resources/spring-context.xml +++ b/redback-users/redback-users-providers/redback-users-jdo/src/test/resources/spring-context.xml @@ -34,7 +34,7 @@ - + -- cgit v1.2.3