commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "N Campbell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CONFIGURATION-604) combining properties which use 3+ part names discards entries as of Commons 1.6+
Date Fri, 03 Jul 2015 18:49:04 GMT

    [ https://issues.apache.org/jira/browse/CONFIGURATION-604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14613397#comment-14613397
] 

N Campbell commented on CONFIGURATION-604:
------------------------------------------

Simple source


import java.util.Iterator;

import org.apache.commons.configuration.CombinedConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.tree.NodeCombiner;
import org.apache.commons.configuration.tree.OverrideCombiner;

public class CommonsIssue {	
	public static String propFile1 = "c:\\temp\\A.properties";
	public static String propFile2 = "c:\\temp\\B.properties";

	public static void main( String[] args ) throws ConfigurationException {
		testCombindedConfig();	 		
	}

	public static void testCombindedConfig() throws ConfigurationException {
		NodeCombiner combiner = new OverrideCombiner();
		CombinedConfiguration combinedConfig = new CombinedConfiguration(combiner);		

		PropertiesConfiguration conf1 = new PropertiesConfiguration();
		conf1.setDelimiterParsingDisabled(true);
		conf1.setThrowExceptionOnMissing(true);			
		conf1.load(propFile1);

		combinedConfig.addConfiguration(conf1);		

		PropertiesConfiguration conf2 = new PropertiesConfiguration();
		conf2.setDelimiterParsingDisabled(true);
		conf2.setThrowExceptionOnMissing(true);

		conf2.load(propFile2);
		combinedConfig.addConfiguration(conf2);

		@SuppressWarnings("unchecked")
		Iterator<String> keys = combinedConfig.getKeys();

		while (keys.hasNext()) {
			String key = keys.next();
			System.out.println(key + "=" + combinedConfig.getString(key));

		}		
	}
}

A.properties
x.y.simpleCase=false
x.y.between=false
x.y.isDistinctFrom=false
x.y=true

B.properties
x.y=true
x.y.between=true
x.y.comparison=true
x.y.in=true
x.y.isDistinctFrom=true
x.y.simpleCase=true





> combining properties which use 3+ part names discards entries as of Commons 1.6+
> --------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-604
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-604
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.6
>            Reporter: N Campbell
>
> When two property files are combined using commons config 1.5, the aggregate configuration
returns an expected result of 6 entries. If Commons configuration 1.6 or higher is used, the
resulting set drops to  which is not expected. 
> The property names include 2, 3 or 4 part names X.Y, X.Y.Z etc and it appears that as
of 1.6 if the names are arranged in 2 part, then 3 part etc that the combiner returns the
expected result.
> There does not appear to be any release notes etc that would suggest  that this isn't
a defect versus an intended implementation change.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message