From 5a3f4e6e8c83114bf5c93f30d14ee035eeacde80 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Tue, 7 Apr 2020 16:18:15 -0500 Subject: [PATCH] use undeprecated substitutor --- .../{util => templating}/StrInterpolator.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) rename engine-api/src/main/java/io/nosqlbench/engine/api/{util => templating}/StrInterpolator.java (73%) diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/util/StrInterpolator.java b/engine-api/src/main/java/io/nosqlbench/engine/api/templating/StrInterpolator.java similarity index 73% rename from engine-api/src/main/java/io/nosqlbench/engine/api/util/StrInterpolator.java rename to engine-api/src/main/java/io/nosqlbench/engine/api/templating/StrInterpolator.java index de2668526..67b1e46a8 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/util/StrInterpolator.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/templating/StrInterpolator.java @@ -15,7 +15,7 @@ * / */ -package io.nosqlbench.engine.api.util; +package io.nosqlbench.engine.api.templating; import io.nosqlbench.engine.api.activityimpl.ActivityDef; import org.apache.commons.text.StrLookup; @@ -28,19 +28,25 @@ import java.util.function.Function; public class StrInterpolator implements Function { private MultiMap multimap = new MultiMap(); - private StringSubstitutor substitutor= - new StringSubstitutor(multimap,"<<",">>",'\\') - .setEnableSubstitutionInVariables(true); + private StringSubstitutor substitutor = + new StringSubstitutor(multimap, "<<", ">>", '\\') + .setEnableSubstitutionInVariables(true) + .setEnableUndefinedVariableException(true) + .setDisableSubstitutionInValues(true); + private StringSubstitutor substitutor2 = new StringSubstitutor(multimap, "TEMPLATE(", ")", '\\') - .setEnableSubstitutionInVariables(true); + .setEnableSubstitutionInVariables(true) + .setEnableUndefinedVariableException(true) + .setDisableSubstitutionInValues(true); public StrInterpolator(ActivityDef... activityDefs) { Arrays.stream(activityDefs) - .map(ad -> ad.getParams().getStringStringMap()) - .forEach(multimap::add); + .map(ad -> ad.getParams().getStringStringMap()) + .forEach(multimap::add); } - public StrInterpolator(Map basicMap) { + + public StrInterpolator(Map basicMap) { multimap.add(basicMap); } @@ -53,14 +59,14 @@ public class StrInterpolator implements Function { public String apply(String raw) { String after = substitutor.replace(substitutor2.replace(raw)); while (!after.equals(raw)) { - raw=after; + raw = after; after = substitutor.replace(substitutor2.replace(raw)); } return after; } - public LinkedHashMap getTemplateDetails(String input) { - LinkedHashMap details = new LinkedHashMap<>(); + public LinkedHashMap getTemplateDetails(String input) { + LinkedHashMap details = new LinkedHashMap<>(); return details; } @@ -70,13 +76,13 @@ public class StrInterpolator implements Function { private List> maps = new ArrayList<>(); private String warnPrefix = "UNSET"; - public void add(Map addedMap) { + public void add(Map addedMap) { maps.add(addedMap); } @Override public String lookup(String key) { - String defval=null; + String defval = null; String[] parts = key.split("[:,]", 2); if (parts.length == 2) {