diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsDoc.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsDoc.java index 9c4ed3e48..6b628a57f 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsDoc.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityconfig/rawyaml/RawStmtsDoc.java @@ -59,6 +59,24 @@ public class RawStmtsDoc extends StatementsOwner { throw new RuntimeException("Invalid object type for block data: " + blockData.getClass().getCanonicalName()); } } + } else if (blocksObjects instanceof Map) { + Map blockDataAsMap = (Map) blocksObjects; + for (Map.Entry entry : blockDataAsMap.entrySet()) { + String blockName = entry.getKey(); + Object blockData = entry.getValue(); + if (blockData instanceof Map) { + Map blockDataMap = (Map) blockData; + RawStmtsBlock rawStmtsBlock = new RawStmtsBlock(); + rawStmtsBlock.setName(blockName); + rawStmtsBlock.setFieldsByReflection(blockDataMap); + blocks.add(rawStmtsBlock); + } else { + throw new RuntimeException("Invalid object type for block data: " + blockData.getClass().getCanonicalName()); + } + + } + } else if (blocksObjects != null) { + throw new RuntimeException("Type of blocks interior data type not recognized:" + blocksObjects.getClass().getCanonicalName()); } Object scenariosData = properties.remove("scenarios");