Return-Path: X-Original-To: apmail-commons-issues-archive@minotaur.apache.org Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id ED1C218C17 for ; Wed, 7 Oct 2015 19:35:26 +0000 (UTC) Received: (qmail 21411 invoked by uid 500); 7 Oct 2015 19:35:26 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 21318 invoked by uid 500); 7 Oct 2015 19:35:26 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 21304 invoked by uid 99); 7 Oct 2015 19:35:26 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Oct 2015 19:35:26 +0000 Date: Wed, 7 Oct 2015 19:35:26 +0000 (UTC) From: "Oliver Heger (JIRA)" To: issues@commons.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CONFIGURATION-613) MapConfiguration cannot handle property set to single \t or \n MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CONFIGURATION-613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14947443#comment-14947443 ] Oliver Heger commented on CONFIGURATION-613: -------------------------------------------- Can you please have a look at the most recent code in subversion? There have already some changes been applied to {{MapConfiguration}}. Especially, the class now uses the inherited _list delimiter handler_ for splitting, and here a flag can be passed in whether trimming is enabled or not. > MapConfiguration cannot handle property set to single \t or \n > -------------------------------------------------------------- > > Key: CONFIGURATION-613 > URL: https://issues.apache.org/jira/browse/CONFIGURATION-613 > Project: Commons Configuration > Issue Type: Bug > Reporter: Maarten Boekhold > > See the following test, written in groovy (2.4.4). Open a groovyConsole, copy/paste in this code and hit ctrl-Enter to run. You need a working internet connection. > {code} > @Grab(group='commons-configuration', module='commons-configuration', version='1.9') > import org.apache.commons.configuration.MapConfiguration > import org.apache.commons.configuration.PropertiesConfiguration > // groovy dollar-slashy-string syntax, ignores backslash > // as an escape character so \t remains a literal string > // backslash + t > def propsString = $/ > prefix.field1=\t > prefix.field2=a\tb > /$ > // Java properties work > Properties props = new Properties() > props.load(new StringReader(propsString)) > // OK > assert props.getProperty('prefix.field1') == '\t' > // OK > assert props.getProperty('prefix.field2') == 'a\tb' > // PropertiesConfiguration works > PropertiesConfiguration propscfg = new PropertiesConfiguration() > propscfg.load(new StringReader(propsString)) > // OK > assert propscfg.getString('prefix.field1') == '\t' > // OK > assert propscfg.getProperty('prefix.field2') == 'a\tb' > // MapConfiguration does not work > MapConfiguration mapcfg = new MapConfiguration(props) > // OK > assert mapcfg.getProperty('prefix.field2') == 'a\tb' > // FAIL > // MapConfiguration loses the single tab character > assert mapcfg.getString('prefix.field1') == '\t' > {code} > Output is: > {noformat} > Exception thrown > Assertion failed: > assert mapcfg.getString('prefix.field1') == '\t' > | | | > | "" false > org.apache.commons.configuration.MapConfiguration@1cd4064c > at ConsoleScript13.run(ConsoleScript13:35) > {noformat} > As you can see, once we've 'converted' the java.util.Properties instance to a MapConfiguration, the single \t character is lost. *Embedded* tab characters however are retained! -- This message was sent by Atlassian JIRA (v6.3.4#6332)