mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
Config API updates
This commit is contained in:
parent
03f7f13c2b
commit
4413152327
@ -26,7 +26,7 @@ public class ConfigModel implements NBConfigModel {
|
|||||||
|
|
||||||
public <T> ConfigModel add(Param<T> param) {
|
public <T> ConfigModel add(Param<T> param) {
|
||||||
this.params.add(param);
|
this.params.add(param);
|
||||||
for (String name : param.names) {
|
for (String name : param.getNames()) {
|
||||||
paramsByName.put(name, param);
|
paramsByName.put(name, param);
|
||||||
}
|
}
|
||||||
lastAdded = null;
|
lastAdded = null;
|
||||||
@ -146,7 +146,7 @@ public class ConfigModel implements NBConfigModel {
|
|||||||
List<String> found = new ArrayList<>();
|
List<String> found = new ArrayList<>();
|
||||||
String activename = null;
|
String activename = null;
|
||||||
Object cval = null;
|
Object cval = null;
|
||||||
for (String name : param.names) {
|
for (String name : param.getNames()) {
|
||||||
if (config.containsKey(name)) {
|
if (config.containsKey(name)) {
|
||||||
cval = config.get(name);
|
cval = config.get(name);
|
||||||
activename = name;
|
activename = name;
|
||||||
@ -192,14 +192,14 @@ public class ConfigModel implements NBConfigModel {
|
|||||||
for (Param<?> param : params) {
|
for (Param<?> param : params) {
|
||||||
if (param.isRequired() && param.getDefaultValue() == null) {
|
if (param.isRequired() && param.getDefaultValue() == null) {
|
||||||
boolean provided = false;
|
boolean provided = false;
|
||||||
for (String name : param.names) {
|
for (String name : param.getNames()) {
|
||||||
if (config.containsKey(name)) {
|
if (config.containsKey(name)) {
|
||||||
provided = true;
|
provided = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!provided) {
|
if (!provided) {
|
||||||
throw new RuntimeException("A required config element named '" + param.names +
|
throw new RuntimeException("A required config element named '" + param.getNames() +
|
||||||
"' and type '" + param.getType().getSimpleName() + "' was not found\n" +
|
"' and type '" + param.getType().getSimpleName() + "' was not found\n" +
|
||||||
"for configuring a " + getOf().getSimpleName());
|
"for configuring a " + getOf().getSimpleName());
|
||||||
}
|
}
|
||||||
|
@ -103,11 +103,15 @@ public class NBConfiguration {
|
|||||||
for (String name : names) {
|
for (String name : names) {
|
||||||
Param<?> param = model.getParam(names);
|
Param<?> param = model.getParam(names);
|
||||||
if (param!=null) {
|
if (param!=null) {
|
||||||
o = data.get(param.getNames());
|
for (String pname : param.getNames()) {
|
||||||
|
o =data.get(name);
|
||||||
if (o!=null) {
|
if (o!=null) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
throw new NBConfigError("Parameter was not found for " + Arrays.toString(names) + ".");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (o==null) {
|
if (o==null) {
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
|
@ -12,7 +12,7 @@ import java.util.regex.Pattern;
|
|||||||
*/
|
*/
|
||||||
public class Param<T> {
|
public class Param<T> {
|
||||||
|
|
||||||
public final List<String> names;
|
private final List<String> names;
|
||||||
public final Class<? extends T> type;
|
public final Class<? extends T> type;
|
||||||
public String description;
|
public String description;
|
||||||
private final T defaultValue;
|
private final T defaultValue;
|
||||||
@ -224,4 +224,5 @@ public class Param<T> {
|
|||||||
return isValid;
|
return isValid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user