include filename in exceptions

This commit is contained in:
Jonathan Shook 2020-04-16 07:58:03 -05:00
parent fa41a711dd
commit b0300da068
2 changed files with 13 additions and 13 deletions

View File

@ -22,11 +22,8 @@ import io.nosqlbench.engine.api.activityconfig.rawyaml.RawYamlStatementLoader;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO;
import io.nosqlbench.nb.api.errors.BasicError;
import org.slf4j.Logger;
import java.nio.file.Path;
import java.util.Optional;
import java.util.function.Function;
public class StatementsLoader {
@ -50,11 +47,14 @@ public class StatementsLoader {
.prefix(searchPaths)
.name(path)
.one();
RawYamlStatementLoader loader = new RawYamlStatementLoader();
RawStmtsDocList rawDocList = loader.loadString(logger, content.get());
StmtsDocList layered = new StmtsDocList(rawDocList);
return layered;
try {
RawYamlStatementLoader loader = new RawYamlStatementLoader();
RawStmtsDocList rawDocList = loader.loadString(logger, content.get());
StmtsDocList layered = new StmtsDocList(rawDocList);
return layered;
} catch (Exception e) {
throw new RuntimeException("error while reading file " + path,e);
}
}
public static StmtsDocList load(Logger logger, String path, Function<String, String> transformer, String... searchPaths) {

View File

@ -26,18 +26,13 @@ import org.slf4j.Logger;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
public class RawYamlStatementLoader {
@ -51,10 +46,15 @@ public class RawYamlStatementLoader {
}
public RawStmtsDocList load(Logger logger, String fromPath, String... searchPaths) {
try {
Optional<Content<?>> oyaml = NBIO.all().prefix(searchPaths).name(fromPath).extension("yaml").first();
String data = oyaml.map(Content::asString).orElseThrow(() -> new BasicError("Unable to load " + fromPath));
data = applyTransforms(logger, data);
return parseYaml(logger, data);
} catch (Exception e) {
throw new RuntimeException("error while reading file " + fromPath,e);
}
}
public void addTransformer(Function<String, String> transformer) {