diff --git a/nb-engine/nb-engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java b/nb-engine/nb-engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java index eca8b8c58..767a19959 100644 --- a/nb-engine/nb-engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java +++ b/nb-engine/nb-engine-cli/src/main/java/io/nosqlbench/engine/cli/NBCLI.java @@ -18,7 +18,9 @@ package io.nosqlbench.engine.cli; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import io.nosqlbench.adapter.diag.DriverAdapterLoader; import io.nosqlbench.adapters.api.activityconfig.rawyaml.RawOpsLoader; +import io.nosqlbench.engine.cmdstream.Cmd; import io.nosqlbench.engine.cmdstream.CmdType; import io.nosqlbench.nb.api.annotations.Annotation; import io.nosqlbench.nb.api.annotations.Layer; @@ -218,6 +220,19 @@ public class NBCLI implements Function, NBLabeledElement { } final NBCLIOptions options = new NBCLIOptions(args, Mode.ParseAllOptions); + + for (Cmd cmd : options.getCommands()) { + Map cmdArgMap = cmd.getArgMap(); + if (cmdArgMap.containsKey("driver")) { + String driverName = cmdArgMap.get("driver"); + Optional driverAdapter = + ServiceSelector.of(driverName, ServiceLoader.load(DriverAdapterLoader.class)).get(); + if (driverAdapter.isEmpty()) { + throw new BasicError("Unable to load default driver adapter '" + driverName + '\''); + } + } + } + NBCLI.logger = LogManager.getLogger("NBCLI"); NBIO.addGlobalIncludes(options.wantsIncludes()); diff --git a/nb-engine/nb-engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java b/nb-engine/nb-engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java index db04aa207..2eeb1ed94 100644 --- a/nb-engine/nb-engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java +++ b/nb-engine/nb-engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java @@ -73,13 +73,6 @@ public class CmdParser { cmdstructs.removeFirst(); Map params = new LinkedHashMap<>(); while (cmdstructs.peekFirst() instanceof parameter param) { - if (Objects.equals(param.name(), "driver")) { - Optional driverAdapter = - ServiceSelector.of(param.value(), ServiceLoader.load(DriverAdapterLoader.class)).get(); - if (driverAdapter.isEmpty()) { - throw new BasicError("Unable to load default driver adapter '" + param.value() + '\''); - } - } cmdstructs.removeFirst(); if (params.containsKey(param.name())) { throw new BasicError("Duplicate occurrence of option: " + param.name());