fix named scenarios substution bug

This commit is contained in:
Jonathan Shook 2020-08-12 14:32:39 -05:00
parent d527ff44af
commit edc3cb2879
2 changed files with 20 additions and 9 deletions

View File

@ -17,8 +17,6 @@
package io.nosqlbench.engine.api.activityconfig;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtDef;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDoc;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDocList;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsLoader;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
@ -27,7 +25,7 @@ import io.nosqlbench.nb.api.content.Content;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
public class StatementsLoader {
@ -48,15 +46,28 @@ public class StatementsLoader {
}
public static StmtsDocList loadContent(
Logger logger,
Content<?> content) {
Logger logger,
Content<?> content,
Map<String,String> params
) {
RawStmtsLoader loader = new RawStmtsLoader();
loader.addTransformer(new StrInterpolator());
loader.addTransformer(new StrInterpolator(params));
RawStmtsDocList rawDocList = loader.loadString(logger, content.get().toString());
StmtsDocList layered = new StmtsDocList(rawDocList);
return layered;
}
public static StmtsDocList loadContent(
Logger logger,
Content<?> content
) {
RawStmtsLoader loader = new RawStmtsLoader();
RawStmtsDocList rawDocList = loader.loadString(logger, content.get().toString());
StmtsDocList layered = new StmtsDocList(rawDocList);
return layered;
}
// }
public static StmtsDocList loadPath(
Logger logger,
String path,

View File

@ -83,10 +83,10 @@ public class NBCLIScenarioParser {
userParams.put(arg[0], arg[1]);
}
StrInterpolator userParamsInterp = new StrInterpolator(userParams);
// This will buffer the new command before adding it to the main arg list
LinkedList<String> buildCmdBuffer = new LinkedList<>();
StrInterpolator userParamsInterp = new StrInterpolator(userParams);
for (String scenarioName : scenarioNames) {
@ -98,7 +98,7 @@ public class NBCLIScenarioParser {
.extension("yaml")
.one();
StmtsDocList stmts = StatementsLoader.loadContent(logger, yamlWithNamedScenarios);
StmtsDocList stmts = StatementsLoader.loadContent(logger, yamlWithNamedScenarios, userParams);
Scenarios scenarios = stmts.getDocScenarios();