HADOOP-4515. Configuration#getBoolean must not be case sensitive. (Sho Shimauchi via harsh)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1227964 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Harsh J 2012-01-06 05:42:24 +00:00
parent b3bcbe274d
commit 574f0b4c0a
3 changed files with 14 additions and 0 deletions

View File

@ -86,6 +86,8 @@ Trunk (unreleased changes)
HADOOP-7957. Classes deriving GetGroupsBase should be able to override HADOOP-7957. Classes deriving GetGroupsBase should be able to override
proxy creation. (jitendra) proxy creation. (jitendra)
HADOOP-4515. Configuration#getBoolean must not be case sensitive. (Sho Shimauchi via harsh)
BUGS BUGS
HADOOP-7851. Configuration.getClasses() never returns the default value. HADOOP-7851. Configuration.getClasses() never returns the default value.

View File

@ -826,6 +826,12 @@ public void setFloat(String name, float value) {
*/ */
public boolean getBoolean(String name, boolean defaultValue) { public boolean getBoolean(String name, boolean defaultValue) {
String valueString = getTrimmed(name); String valueString = getTrimmed(name);
if (null == valueString || "".equals(valueString)) {
return defaultValue;
}
valueString = valueString.toLowerCase();
if ("true".equals(valueString)) if ("true".equals(valueString))
return true; return true;
else if ("false".equals(valueString)) else if ("false".equals(valueString))

View File

@ -451,6 +451,9 @@ public void testBooleanValues() throws IOException {
appendProperty("test.bool3", " true "); appendProperty("test.bool3", " true ");
appendProperty("test.bool4", " false "); appendProperty("test.bool4", " false ");
appendProperty("test.bool5", "foo"); appendProperty("test.bool5", "foo");
appendProperty("test.bool6", "TRUE");
appendProperty("test.bool7", "FALSE");
appendProperty("test.bool8", "");
endConfig(); endConfig();
Path fileResource = new Path(CONFIG); Path fileResource = new Path(CONFIG);
conf.addResource(fileResource); conf.addResource(fileResource);
@ -459,6 +462,9 @@ public void testBooleanValues() throws IOException {
assertEquals(true, conf.getBoolean("test.bool3", false)); assertEquals(true, conf.getBoolean("test.bool3", false));
assertEquals(false, conf.getBoolean("test.bool4", true)); assertEquals(false, conf.getBoolean("test.bool4", true));
assertEquals(true, conf.getBoolean("test.bool5", true)); assertEquals(true, conf.getBoolean("test.bool5", true));
assertEquals(true, conf.getBoolean("test.bool6", false));
assertEquals(false, conf.getBoolean("test.bool7", true));
assertEquals(false, conf.getBoolean("test.bool8", false));
} }
public void testFloatValues() throws IOException { public void testFloatValues() throws IOException {