isolated logical and physical view of YAML

This commit is contained in:
Jonathan Shook 2020-03-16 11:51:39 -05:00
parent ef1983e2f6
commit 550a942712
5 changed files with 32 additions and 3 deletions

View File

@ -59,7 +59,7 @@ public class RawStmtsDoc extends StatementsOwner {
this.blocks.addAll(blocks);
}
public RawScenarios getScenarios() {
public RawScenarios getRawScenarios() {
return this.scenarios;
}

View File

@ -0,0 +1,21 @@
package io.nosqlbench.engine.api.activityconfig.yaml;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawScenarios;
import java.util.List;
public class Scenarios {
private RawScenarios rawScenarios;
public Scenarios(RawScenarios rawScenarios) {
this.rawScenarios = rawScenarios;
}
public List<String> getScenarioNames() {
return rawScenarios.getScenarioNames();
}
public List<String> getNamedScneario(String scenarioName) {
return rawScenarios.getNamedScenario(scenarioName);
}
}

View File

@ -104,4 +104,8 @@ public class StmtsDoc implements Tagged, Iterable<StmtsBlock> {
}
public Scenarios getScenarios() {
return new Scenarios(rawStmtsDoc.getRawScenarios());
}
}

View File

@ -17,6 +17,7 @@
package io.nosqlbench.engine.api.activityconfig.yaml;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawScenarios;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDocList;
import io.nosqlbench.engine.api.util.TagFilter;
@ -82,4 +83,8 @@ public class StmtsDocList implements Iterable<StmtsDoc> {
.forEach(docBindings::putAll);
return docBindings;
}
public List<Scenarios> getDocScenarios() {
return this.getStmtDocs().stream().map(StmtsDoc::getScenarios).collect(Collectors.toList());
}
}

View File

@ -21,7 +21,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;
import java.util.LinkedHashMap;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@ -65,7 +64,7 @@ public class RawYamlStatementLoaderTest {
assertThat(rawStmtsDocs).hasSize(2);
RawStmtsDoc rawStmtsDoc = rawStmtsDocs.get(0);
List<RawStmtsBlock> blocks = rawStmtsDoc.getBlocks();
RawScenarios rawScenarios = rawStmtsDoc.getScenarios();
RawScenarios rawScenarios = rawStmtsDoc.getRawScenarios();
assertThat(rawScenarios.getScenarioNames()).containsExactly("default", "schema-only");
List<String> defaultScenario = rawScenarios.getNamedScenario("default");
assertThat(defaultScenario).containsExactly("run type=stdout alias=step1","run type=stdout alias=step2");