Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 156E6F211 for ; Tue, 2 Apr 2013 18:59:02 +0000 (UTC) Received: (qmail 48237 invoked by uid 500); 2 Apr 2013 18:59:01 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 48154 invoked by uid 500); 2 Apr 2013 18:59:01 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 48147 invoked by uid 99); 2 Apr 2013 18:59:01 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Apr 2013 18:59:01 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Apr 2013 18:58:59 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 6144D2388847; Tue, 2 Apr 2013 18:58:38 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1463670 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration/io/FileHandler.java test/java/org/apache/commons/configuration/io/TestFileHandler.java Date: Tue, 02 Apr 2013 18:58:38 -0000 To: commits@commons.apache.org From: oheger@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130402185838.6144D2388847@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oheger Date: Tue Apr 2 18:58:37 2013 New Revision: 1463670 URL: http://svn.apache.org/r1463670 Log: The FileLocator injected by FileHandler now always contains the encoding set for the current instance. Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java?rev=1463670&r1=1463669&r2=1463670&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java (original) +++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java Tue Apr 2 18:58:37 2013 @@ -675,13 +675,16 @@ public class FileHandler * {@code FileLocatorAware} interface. If this is the case, a * {@code FileLocator} instance is injected which returns only null * values. This method is called if no file location is available (e.g. if - * data is to be loaded from a stream). + * data is to be loaded from a stream). The encoding of the injected locator + * is derived from this object. */ private void injectNullFileLocator() { if (getContent() instanceof FileLocatorAware) { - ((FileLocatorAware) getContent()).initFileLocator(new FileSpec()); + FileSpec spec = new FileSpec(); + spec.setEncoding(getEncoding()); + ((FileLocatorAware) getContent()).initFileLocator(spec); } } Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java?rev=1463670&r1=1463669&r2=1463670&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java (original) +++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/io/TestFileHandler.java Tue Apr 2 18:58:37 2013 @@ -979,6 +979,23 @@ public class TestFileHandler } /** + * Tests that the locator injected into the content object has an encoding + * set. + */ + @Test + public void testLocatorAwareEncoding() throws ConfigurationException + { + FileBasedFileLocatorAwareTestImpl content = + new FileBasedFileLocatorAwareTestImpl(); + FileHandler handler = new FileHandler(content); + String encoding = "testEncoding"; + handler.setEncoding(encoding); + handler.save(new StringWriter()); + assertEquals("Encoding not set", encoding, content.getLocator() + .getEncoding()); + } + + /** * Tries to add a null listener. */ @Test(expected = IllegalArgumentException.class)