make config model construction more uniform

This commit is contained in:
Jonathan Shook
2021-07-22 17:40:06 -05:00
parent ab24cc5aef
commit 284e86e64f
3 changed files with 42 additions and 45 deletions

View File

@@ -3,10 +3,7 @@ package io.nosqlbench.engine.core.metrics;
import io.nosqlbench.nb.annotations.Service;
import io.nosqlbench.nb.api.annotations.Annotation;
import io.nosqlbench.nb.api.annotations.Annotator;
import io.nosqlbench.nb.api.config.standard.NBMapConfigurable;
import io.nosqlbench.nb.api.config.standard.ConfigModel;
import io.nosqlbench.nb.api.config.standard.NBConfigModel;
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
import io.nosqlbench.nb.api.config.standard.*;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -35,16 +32,16 @@ public class LoggingAnnotator implements Annotator, NBMapConfigurable {
public void applyConfig(Map<String, ?> providedConfig) {
NBConfigModel configModel = getConfigModel();
NBConfiguration cfg = configModel.apply(providedConfig);
String levelName = cfg.param("level", String.class);
String levelName = cfg.get("level");
this.level = Level.valueOf(levelName);
}
@Override
public NBConfigModel getConfigModel() {
return ConfigModel.of(this.getClass())
.defaults("level", "INFO",
"The logging level to use for this annotator")
.asReadOnly();
.add(Param.defaultTo("level", "INFO")
.setDescription("The logging level to use for this annotator"))
.asReadOnly();
}
}