io.nosqlbench.engine.core.MarkdownDocInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of engine-core Show documentation
Show all versions of engine-core Show documentation
Runtime artifact for nosqlbench;
This module ties the core libraries, provided drivers, and API into a single executable jar
package io.nosqlbench.engine.core;
import io.nosqlbench.engine.api.activityapi.core.ActivityType;
import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.*;
import java.util.stream.Collectors;
public class MarkdownDocInfo {
private final static Logger logger = LoggerFactory.getLogger(MarkdownDocInfo.class);
public static Optional forHelpTopic(String topic) {
String help = null;
try {
help = new MarkdownDocInfo().forActivityInstance(topic);
return Optional.ofNullable(help);
} catch (Exception e) {
logger.debug("Did not find help topic for activity instance: " + topic);
}
try {
help = new MarkdownDocInfo().forResourceMarkdown(topic, "docs/");
return Optional.ofNullable(help);
} catch (Exception e) {
logger.debug("Did not find help topic for generic markdown file: " + topic + "(.md)");
}
return Optional.empty();
}
public String forResourceMarkdown(String s, String... additionalSearchPaths) {
Optional> docs = NBIO.local()
.prefix("docs")
.prefix(additionalSearchPaths)
.name(s)
.extension(".md")
.first();
return docs.map(Content::asString).orElse(null);
}
public String forActivityInstance(String s) {
ActivityType activityType = ActivityType.FINDER.getOrThrow(s);
return forResourceMarkdown(activityType.getName() + ".md", "docs/");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy