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 4500F17416 for ; Tue, 11 Nov 2014 20:48:19 +0000 (UTC) Received: (qmail 58085 invoked by uid 500); 11 Nov 2014 20:48:19 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 58011 invoked by uid 500); 11 Nov 2014 20:48:19 -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 58002 invoked by uid 99); 11 Nov 2014 20:48:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Nov 2014 20:48:19 +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, 11 Nov 2014 20:47:56 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 44CAA2388A4A; Tue, 11 Nov 2014 20:47:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1638383 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration2/builder/ test/java/org/apache/commons/configuration2/builder/ Date: Tue, 11 Nov 2014 20:47:24 -0000 To: commits@commons.apache.org From: oheger@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20141111204724.44CAA2388A4A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oheger Date: Tue Nov 11 20:47:23 2014 New Revision: 1638383 URL: http://svn.apache.org/r1638383 Log: Extended BasicBuilderProperties by a ConfigurationDecoder property. It is now possible to set the decoder property via initialization parameters of a configuration builder. Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java?rev=1638383&r1=1638382&r2=1638383&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java (original) +++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java Tue Nov 11 20:47:23 2014 @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.Map; import org.apache.commons.configuration2.AbstractConfiguration; +import org.apache.commons.configuration2.ConfigurationDecoder; import org.apache.commons.configuration2.beanutils.BeanHelper; import org.apache.commons.configuration2.convert.ConversionHandler; import org.apache.commons.configuration2.convert.ListDelimiterHandler; @@ -82,6 +83,9 @@ public class BasicBuilderParameters impl /** The key for the conversionHandler property. */ private static final String PROP_CONVERSION_HANDLER = "conversionHandler"; + /** The key for the configurationDecoder property. */ + private static final String PROP_CONFIGURATION_DECODER = "configurationDecoder"; + /** The key for the {@code BeanHelper}. */ private static final String PROP_BEAN_HELPER = RESERVED_PARAMETER_PREFIX + "BeanHelper"; @@ -266,6 +270,17 @@ public class BasicBuilderParameters impl } /** + * {@inheritDoc} This implementation stores the passed in + * {@code ConfigurationDecoder} object in the internal parameters map. + */ + @Override + public BasicBuilderParameters setConfigurationDecoder( + ConfigurationDecoder decoder) + { + return setProperty(PROP_CONFIGURATION_DECODER, decoder); + } + + /** * Merges this object with the given parameters object. This method adds all * property values defined by the passed in parameters object to the * internal storage which are not already in. So properties already defined Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java?rev=1638383&r1=1638382&r2=1638383&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java (original) +++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java Tue Nov 11 20:47:23 2014 @@ -20,6 +20,7 @@ import java.util.Collection; import java.util.Map; import org.apache.commons.configuration2.AbstractConfiguration; +import org.apache.commons.configuration2.ConfigurationDecoder; import org.apache.commons.configuration2.beanutils.BeanHelper; import org.apache.commons.configuration2.convert.ConversionHandler; import org.apache.commons.configuration2.convert.ListDelimiterHandler; @@ -165,6 +166,16 @@ public interface BasicBuilderProperties< T setConversionHandler(ConversionHandler handler); /** + * Sets the {@code ConfigurationDecoder} object for this configuration. This + * object is called when encoded properties are queried using the + * {@code getEncodedString()} method. + * + * @param decoder the {@code ConfigurationDecoder} to be used + * @return a reference to this object for method chaining + */ + T setConfigurationDecoder(ConfigurationDecoder decoder); + + /** * Sets a {@code BeanHelper} object to be used by the configuration builder. * The {@code BeanHelper} is used to create the managed configuration * instance dynamically. It is not a property of the configuration as most Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java?rev=1638383&r1=1638382&r2=1638383&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java (original) +++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java Tue Nov 11 20:47:23 2014 @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import org.apache.commons.configuration2.ConfigurationDecoder; import org.apache.commons.configuration2.beanutils.BeanHelper; import org.apache.commons.configuration2.convert.ConversionHandler; import org.apache.commons.configuration2.convert.ListDelimiterHandler; @@ -515,4 +516,19 @@ public class TestBasicBuilderParameters { BasicBuilderParameters.fetchBeanHelper(null); } + + /** + * Tests whether a decoder can be set. + */ + @Test + public void testSetConfigurationDecoder() + { + ConfigurationDecoder decoder = + EasyMock.createMock(ConfigurationDecoder.class); + EasyMock.replay(decoder); + assertSame("Wrong result", params, + params.setConfigurationDecoder(decoder)); + assertSame("Decoder not set", decoder, + params.getParameters().get("configurationDecoder")); + } }