in redback-common/redback-common-configuration/redback-common-configuration-acc2/src/main/java/org/apache/archiva/redback/common/config/acc2/CommonsConfigurationRegistry.java [426:479]
public void addConfigurationFromResource( String name, String resource, String prefix )
throws RegistryException
{
if ( configuration instanceof CombinedConfiguration )
{
String atPrefix = StringUtils.isEmpty( prefix ) ? null : prefix;
CombinedConfiguration configuration = (CombinedConfiguration) this.configuration;
if ( resource.endsWith( ".properties" ) )
{
try
{
logger.debug( "Loading properties configuration from classloader resource: {}", resource );
FileBasedConfigurationBuilder<PropertiesConfiguration> builder = new FileBasedConfigurationBuilder<>( PropertiesConfiguration.class )
.configure( new Parameters( ).properties( )
.setLocationStrategy( new ClasspathLocationStrategy( ) )
.setFileName( resource ) );
builderMap.put( name, builder );
configuration.addConfiguration( builder.getConfiguration( ), name, atPrefix );
}
catch ( ConfigurationException e )
{
throw new RegistryException(
"Unable to add configuration from resource '" + resource + "': " + e.getMessage( ), e );
}
}
else if ( resource.endsWith( ".xml" ) )
{
try
{
logger.debug( "Loading XML configuration from classloader resource: {}", resource );
FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<>( XMLConfiguration.class )
.configure( new Parameters( ).xml( )
.setLocationStrategy( new ClasspathLocationStrategy( ) )
.setFileName( resource ) );
builderMap.put( name, builder );
configuration.addConfiguration( builder.getConfiguration( ), name, atPrefix );
}
catch ( ConfigurationException e )
{
throw new RegistryException(
"Unable to add configuration from resource '" + resource + "': " + e.getMessage( ), e );
}
}
else
{
throw new RegistryException(
"Unable to add configuration from resource '" + resource + "': unrecognised type" );
}
}
else
{
throw new RegistryException( "The underlying configuration object is not a combined configuration " );
}
}