From 3746037bd75d20e593a1125d440649b6e28e0984 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Tue, 23 Feb 2021 15:47:19 -0600 Subject: [PATCH] add warning for null value in named scenarios --- .../engine/api/activityconfig/rawyaml/RawScenarios.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawScenarios.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawScenarios.java index 6eeb55a89..998ab16ce 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawScenarios.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawScenarios.java @@ -1,11 +1,13 @@ package io.nosqlbench.engine.api.activityconfig.rawyaml; +import io.nosqlbench.nb.api.errors.BasicError; + import java.util.*; public class RawScenarios { public static String STEPNAME = "%03d"; - private Map> scenarios = new LinkedHashMap<>(); + private final Map> scenarios = new LinkedHashMap<>(); public List getScenarioNames() { return new ArrayList<>(scenarios.keySet()); @@ -20,6 +22,9 @@ public class RawScenarios { for (Map.Entry namedEntry : rawNamedScenarios.entrySet()) { String scenarioName = namedEntry.getKey(); Object scenarioObj = namedEntry.getValue(); + if (scenarioObj == null) { + throw new BasicError("Unable to use a null value for scenario named " + scenarioName + " in yaml."); + } if (scenarioObj instanceof CharSequence) { scenarios.put(scenarioName, Map.of(String.format(STEPNAME, 1), scenarioObj.toString())); } else if (scenarioObj instanceof List) {