Author: henning
Date: Mon Oct 21 22:12:36 2013
New Revision: 1534396
URL: http://svn.apache.org/r1534396
Log:
Backport CONFIGURATION-534 from r1457498,
Modified:
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/RELEASE-NOTES.txt
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/changes/changes.xml
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/main/java/org/apache/commons/configuration/PropertiesConfiguration.java
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
Modified:
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/RELEASE-NOTES.txt
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/RELEASE-NOTES.txt?rev=1534396&r1=1534395&r2=1534396&view=diff
==============================================================================
---
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/RELEASE-NOTES.txt
(original)
+++
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/RELEASE-NOTES.txt
Mon Oct 21 22:12:36 2013
@@ -74,6 +74,12 @@ BUG FIXES IN 1.10
IMPROVEMENTS AND NEW FEATURES IN 1.10
=====================================
+* [CONFIGURATION-534] PropertyConfiguration's handling of includes depends on
the
+ existence of a base path
+
+ The includesAllowed property of PropertyConfiguration is now independent
+ from the existence of a base path.
+
* [CONFIGURATION-550] Missing conversion to char
Conversion to Character is now supported.
Modified:
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/changes/changes.xml?rev=1534396&r1=1534395&r2=1534396&view=diff
==============================================================================
---
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/changes/changes.xml
(original)
+++
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/changes/changes.xml
Mon Oct 21 22:12:36 2013
@@ -31,6 +31,10 @@
XMLConfiguration now adds attributes of elements defining a list to
all list nodes.
</action>
+ <action dev="oheger" type="update" issue="CONFIGURATION-534">
+ The includesAllowed property of PropertyConfiguration is now
independent
+ from the existence of a base path.
+ </action>
<action dev="oheger" type="update" issue="CONFIGURATION-546"
due-to="Justin Couch">
BeanHelper can now process BeanDefinitions initializing properties of
collection types of their target beans.
Modified:
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/main/java/org/apache/commons/configuration/PropertiesConfiguration.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/main/java/org/apache/commons/configuration/PropertiesConfiguration.java?rev=1534396&r1=1534395&r2=1534396&view=diff
==============================================================================
---
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/main/java/org/apache/commons/configuration/PropertiesConfiguration.java
(original)
+++
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/main/java/org/apache/commons/configuration/PropertiesConfiguration.java
Mon Oct 21 22:12:36 2013
@@ -227,7 +227,7 @@ public class PropertiesConfiguration ext
private volatile IOFactory ioFactory;
/** Allow file inclusion or not */
- private boolean includesAllowed;
+ private boolean includesAllowed = true;
/**
* Creates an empty PropertyConfiguration object which can be
@@ -237,7 +237,6 @@ public class PropertiesConfiguration ext
public PropertiesConfiguration()
{
layout = createLayout();
- setIncludesAllowed(false);
}
/**
@@ -309,12 +308,11 @@ public class PropertiesConfiguration ext
/**
* Controls whether additional files can be loaded by the include = <xxx>
- * statement or not. Base rule is, that objects created by the empty
- * C'tor can not have included files.
+ * statement or not. This is <b>true</b> per default.
*
- * @param includesAllowed includesAllowed True if Includes are allowed.
+ * @param includesAllowed True if Includes are allowed.
*/
- protected void setIncludesAllowed(boolean includesAllowed)
+ public void setIncludesAllowed(boolean includesAllowed)
{
this.includesAllowed = includesAllowed;
}
@@ -323,9 +321,25 @@ public class PropertiesConfiguration ext
* Reports the status of file inclusion.
*
* @return True if include files are loaded.
+ *
+ * @see isIncludedAllowed()
+ *
+ * @deprecated Only exists to not break backwards compatibility.
+ * Use {@link isIncludesAllowed()} instead.
*/
+ @Deprecated
public boolean getIncludesAllowed()
{
+ return isIncludesAllowed();
+ }
+
+ /**
+ * Reports the status of file inclusion.
+ *
+ * @return True if include files are loaded.
+ */
+ public boolean isIncludesAllowed()
+ {
return this.includesAllowed;
}
@@ -552,7 +566,7 @@ public class PropertiesConfiguration ext
if (StringUtils.isNotEmpty(getInclude())
&& key.equalsIgnoreCase(getInclude()))
{
- if (getIncludesAllowed())
+ if (isIncludesAllowed())
{
String[] files;
if (!isDelimiterParsingDisabled())
Modified:
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java?rev=1534396&r1=1534395&r2=1534396&view=diff
==============================================================================
---
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
(original)
+++
commons/proper/configuration/branches/CONFIGURATION_1_X_MAINTENANCE/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
Mon Oct 21 22:12:36 2013
@@ -153,6 +153,41 @@ public class TestPropertiesConfiguration
assertEquals("true", loaded);
}
+ /**
+ * Tests whether include files can be resolved if a configuration file is
+ * read from a reader.
+ */
+ @Test
+ public void testLoadIncludeFromReader() throws ConfigurationException,
+ IOException
+ {
+ StringReader in =
+ new StringReader(PropertiesConfiguration.getInclude() + " = "
+ +
ConfigurationAssert.getTestURL("include.properties"));
+ conf = new PropertiesConfiguration();
+ conf.read(in);
+ assertEquals("Include file not loaded", "true",
+ conf.getString("include.loaded"));
+ }
+
+ /**
+ * Tests whether include files can be disabled.
+ */
+ @Test
+ public void testDisableIncludes() throws ConfigurationException,
+ IOException
+ {
+ String content =
+ PropertiesConfiguration.getInclude()
+ + " = nonExistingIncludeFile" + CR + PROP_NAME + " = "
+ + PROP_VALUE + CR;
+ StringReader in = new StringReader(content);
+ conf = new PropertiesConfiguration();
+ conf.setIncludesAllowed(false);
+ conf.read(in);
+ assertEquals("Data not loaded", PROP_VALUE, conf.getString(PROP_NAME));
+ }
+
@Test
public void testSetInclude() throws Exception
{