From b2651885e34dc40d6b959118d2b36dacc8d4c08b Mon Sep 17 00:00:00 2001 From: workdone0 Date: Wed, 24 Apr 2024 19:37:51 +0530 Subject: [PATCH] Added check to see if the driver is invalid --- .../engine/core/lifecycle/session/CmdParser.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java index 91ced2c37..b9c875a53 100644 --- a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java +++ b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/session/CmdParser.java @@ -16,8 +16,10 @@ package io.nosqlbench.engine.core.lifecycle.session; +import io.nosqlbench.adapter.diag.DriverAdapterLoader; import io.nosqlbench.engine.cmdstream.Cmd; import io.nosqlbench.engine.cmdstream.CmdArg; +import io.nosqlbench.nb.annotations.ServiceSelector; import io.nosqlbench.nb.api.errors.BasicError; import java.util.*; @@ -72,6 +74,13 @@ 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(); params.put(param.name(),CmdArg.of(cmd.name(),param.name(),param.op(),param.value())); }