commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <oliver.he...@oliver-heger.de>
Subject Re: [configuration] Brackets in key for property file causes exception
Date Sat, 27 Sep 2008 15:34:33 GMT
First of all, please prefix the subject with the name of the component 
you are interest in (as I have done now) because this is a shared list. 
Response below.

Pavel Savara schrieb:
> Hi,
> When we use brackets in property key we get an exception every time.
> Escaping brackets with \ doesn't help and i haven't found any mention
> that brackets are special characters in documentation
> we use common-configuration 1.5
> 
> Thanks for help.
I guess you use DefaultConfigurationBuilder for loading a combined 
configuration?

The exception is due to the fact that brackets have a special meaning in 
the query syntax for hierarchical configurations. 
(DefaultConfigurationBuilder transforms all configuration sources into 
hierarchical configurations, so also for properties, which are not 
hierarchical by default, the same rules apply.)

So far escaping brackets or other specific characters in property keys 
is not supported. It seems to be rather unusual to use brackets in 
property keys, so you may well be the first one who noticed this problem.

Unfortunately I don't have a working solution for this problem right 
now. I would like to ask you to create a new ticket in out bug tracking 
system [1], so this issue won't get lost.

Thanks
Oliver

[1] http://commons.apache.org/configuration/issue-tracking.html
> 
> Example
> 
> #property in property file
> test(ef)=false
> 
> causes 
> java.lang.NumberFormatException: For input string: "ef"
> 	at
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
> 	at java.lang.Integer.parseInt(Integer.java:447)
> 	at java.lang.Integer.parseInt(Integer.java:497)
> 	at org.apache.commons.configuration.tree.DefaultConfigurationKey
> $KeyIterator.checkIndex(DefaultConfigurationKey.java:834)
> 	at org.apache.commons.configuration.tree.DefaultConfigurationKey
> $KeyIterator.nextKey(DefaultConfigurationKey.java:511)
> 	at
> org.apache.commons.configuration.tree.DefaultExpressionEngine.findNodesForKey(DefaultExpressionEngine.java:462)
> 	at
> org.apache.commons.configuration.tree.DefaultExpressionEngine.query(DefaultExpressionEngine.java:286)
> 	at
> org.apache.commons.configuration.HierarchicalConfiguration.fetchNodeList(HierarchicalConfiguration.java:925)
> 	at
> org.apache.commons.configuration.HierarchicalConfiguration.setProperty(HierarchicalConfiguration.java:735)
> 	at
> org.apache.commons.configuration.ConfigurationUtils.copy(ConfigurationUtils.java:143)
> 	at
> org.apache.commons.configuration.ConfigurationUtils.convertToHierarchical(ConfigurationUtils.java:199)
> 	at org.apache.commons.configuration.CombinedConfiguration
> $ConfigData.getTransformedRoot(CombinedConfiguration.java:794)
> 	at
> org.apache.commons.configuration.CombinedConfiguration.constructCombinedNode(CombinedConfiguration.java:653)
> 	at
> org.apache.commons.configuration.CombinedConfiguration.getRootNode(CombinedConfiguration.java:504)
> 	at
> org.apache.commons.configuration.HierarchicalConfiguration.fetchNodeList(HierarchicalConfiguration.java:925)
> 	at
> org.apache.commons.configuration.HierarchicalConfiguration.getProperty(HierarchicalConfiguration.java:327)
> 	at
> org.apache.commons.configuration.CombinedConfiguration.getProperty(CombinedConfiguration.java:578)
> 	at
> org.apache.commons.configuration.AbstractConfiguration.resolveContainerStore(AbstractConfiguration.java:1155)
> 	at
> org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:1034)
> 	at
> org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:1017)

> 
> www.intrade.com
> The Prediction Market
> 
> ABOUT US: Intrade is The Prediction Market where members can buy and sell "shares" in
financial, political, weather and other important subjects. You can trade using real US$ and
you can learn to trade using virtual Intrade I$. 
> 
> Intrade and the predictive information generated by our members have been featured on
CNBC, CNN, Bloomberg, Fox, Fortune & others.
> 
> Becoming a member of Intrade gives you profit opportunity and access to the wisdom of
a crowd of many thousands of people from over 120 countries. 
> 
> Intrade News is available on RSS at http://www.intrade.com/news/newsRss.xml
> 
> CONFIDENTIALITY & DISCLAIMER: The information within this email is confidential and
may be privileged. It is intended solely for party to which it is addressed.
> 
> Please notify us immediately if you received this mail in error by returning it to the
sender and delete this copy from your system. You should also notify us at +353-1-6200 300.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message