HADOOP-7851. Configuration.getClasses() never returns the default value. (amarrk)
(cherry picked from commit 82d57ee7fee82919b42066af38063a27d0998806)
This commit is contained in:
parent
d9492839d0
commit
425d597d48
@ -2199,9 +2199,11 @@ public Class<?> getClassByNameOrNull(String name) {
|
||||
* or <code>defaultValue</code>.
|
||||
*/
|
||||
public Class<?>[] getClasses(String name, Class<?> ... defaultValue) {
|
||||
String[] classnames = getTrimmedStrings(name);
|
||||
if (classnames == null)
|
||||
String valueString = getRaw(name);
|
||||
if (null == valueString) {
|
||||
return defaultValue;
|
||||
}
|
||||
String[] classnames = getTrimmedStrings(name);
|
||||
try {
|
||||
Class<?>[] classes = new Class<?>[classnames.length];
|
||||
for(int i = 0; i < classnames.length; i++) {
|
||||
|
@ -1382,6 +1382,27 @@ public void testNullValueProperties() throws Exception {
|
||||
assertEquals("value", conf.get("attr"));
|
||||
}
|
||||
|
||||
public void testGetClassesShouldReturnDefaultValue() throws Exception {
|
||||
Configuration config = new Configuration();
|
||||
Class<?>[] classes =
|
||||
config.getClasses("testClassName", Configuration.class);
|
||||
assertEquals(
|
||||
"Not returning expected number of classes. Number of returned classes ="
|
||||
+ classes.length, 1, classes.length);
|
||||
assertEquals("Not returning the default class Name", Configuration.class,
|
||||
classes[0]);
|
||||
}
|
||||
|
||||
public void testGetClassesShouldReturnEmptyArray()
|
||||
throws Exception {
|
||||
Configuration config = new Configuration();
|
||||
config.set("testClassName", "");
|
||||
Class<?>[] classes = config.getClasses("testClassName", Configuration.class);
|
||||
assertEquals(
|
||||
"Not returning expected number of classes. Number of returned classes ="
|
||||
+ classes.length, 0, classes.length);
|
||||
}
|
||||
|
||||
public static void main(String[] argv) throws Exception {
|
||||
junit.textui.TestRunner.main(new String[]{
|
||||
TestConfiguration.class.getName()
|
||||
|
Loading…
x
Reference in New Issue
Block a user