clarify default type of parameter

This commit is contained in:
Jonathan Shook
2020-06-30 20:38:07 -05:00
parent 5ca319e761
commit a0dc30a675
4 changed files with 14 additions and 17 deletions

View File

@@ -34,7 +34,6 @@ import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsBlock;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDoc; import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDoc;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDocList; import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtsDocList;
import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtDef;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList; import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
import io.nosqlbench.engine.api.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.ActivityDef;
import io.nosqlbench.engine.api.activityimpl.ParameterMap; import io.nosqlbench.engine.api.activityimpl.ParameterMap;
@@ -171,7 +170,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
StringBuilder psummary = new StringBuilder(); StringBuilder psummary = new StringBuilder();
boolean instrument = stmtDef.getOptionalParam("instrument") boolean instrument = stmtDef.getOptionalStringParam("instrument")
.or(() -> getParams().getOptionalString("instrument")) .or(() -> getParams().getOptionalString("instrument"))
.map(Boolean::parseBoolean) .map(Boolean::parseBoolean)
.orElse(false); .orElse(false);
@@ -194,7 +193,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
psummary.append(" statement=>").append(stmtForDriver); psummary.append(" statement=>").append(stmtForDriver);
stmtDef.getOptionalParam("cl") stmtDef.getOptionalStringParam("cl")
.map(DefaultConsistencyLevel::valueOf) .map(DefaultConsistencyLevel::valueOf)
.map(conlvl -> { .map(conlvl -> {
psummary.append(" consistency_level=>").append(conlvl); psummary.append(" consistency_level=>").append(conlvl);
@@ -202,7 +201,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
}) })
.ifPresent(stmtBuilder::setConsistencyLevel); .ifPresent(stmtBuilder::setConsistencyLevel);
stmtDef.getOptionalParam("serial_cl") stmtDef.getOptionalStringParam("serial_cl")
.map(DefaultConsistencyLevel::valueOf) .map(DefaultConsistencyLevel::valueOf)
.map(sconlvel -> { .map(sconlvel -> {
psummary.append(" serial_consistency_level=>").append(sconlvel); psummary.append(" serial_consistency_level=>").append(sconlvel);
@@ -210,7 +209,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
}) })
.ifPresent(stmtBuilder::setSerialConsistencyLevel); .ifPresent(stmtBuilder::setSerialConsistencyLevel);
stmtDef.getOptionalParam("idempotent") stmtDef.getOptionalStringParam("idempotent")
.map(Boolean::valueOf) .map(Boolean::valueOf)
.map(idempotent -> { .map(idempotent -> {
psummary.append(" idempotent=").append(idempotent); psummary.append(" idempotent=").append(idempotent);
@@ -222,7 +221,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
if (prepared) { if (prepared) {
PreparedStatement preparedStatement = getSession().prepare(stmtBuilder.build()); PreparedStatement preparedStatement = getSession().prepare(stmtBuilder.build());
CqlBinderTypes binderType = stmtDef.getOptionalParam("binder") CqlBinderTypes binderType = stmtDef.getOptionalStringParam("binder")
.map(CqlBinderTypes::valueOf) .map(CqlBinderTypes::valueOf)
.orElse(CqlBinderTypes.DEFAULT); .orElse(CqlBinderTypes.DEFAULT);
@@ -241,7 +240,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
} }
stmtDef.getOptionalParam("save") stmtDef.getOptionalStringParam("save")
.map(s -> s.split("[,; ]")) .map(s -> s.split("[,; ]"))
.map(Save::new) .map(Save::new)
.ifPresent(save_op -> { .ifPresent(save_op -> {
@@ -249,7 +248,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
template.addRowCycleOperators(save_op); template.addRowCycleOperators(save_op);
}); });
stmtDef.getOptionalParam("rsoperators") stmtDef.getOptionalStringParam("rsoperators")
.map(s -> s.split(",")) .map(s -> s.split(","))
.stream().flatMap(Arrays::stream) .stream().flatMap(Arrays::stream)
.map(ResultSetCycleOperators::newOperator) .map(ResultSetCycleOperators::newOperator)
@@ -258,7 +257,7 @@ public class CqlActivity extends SimpleActivity implements Activity, ActivityDef
template.addResultSetOperators(rso); template.addResultSetOperators(rso);
}); });
stmtDef.getOptionalParam("rowoperators") stmtDef.getOptionalStringParam("rowoperators")
.map(s -> s.split(",")) .map(s -> s.split(","))
.stream().flatMap(Arrays::stream) .stream().flatMap(Arrays::stream)
.map(RowCycleOperators::newOperator) .map(RowCycleOperators::newOperator)

View File

@@ -2,7 +2,6 @@ package io.nosqlbench.driver.mongodb;
import com.mongodb.ReadPreference; import com.mongodb.ReadPreference;
import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
import io.nosqlbench.engine.api.activityconfig.yaml.StmtDef;
import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate;
import io.nosqlbench.virtdata.core.templates.ParsedTemplate; import io.nosqlbench.virtdata.core.templates.ParsedTemplate;
import io.nosqlbench.virtdata.core.templates.StringBindings; import io.nosqlbench.virtdata.core.templates.StringBindings;
@@ -21,7 +20,7 @@ public class ReadyMongoStatement {
StringBindingsTemplate template = new StringBindingsTemplate(stmtDef.getStmt(), paramBindings); StringBindingsTemplate template = new StringBindingsTemplate(stmtDef.getStmt(), paramBindings);
this.bindings = template.resolve(); this.bindings = template.resolve();
this.readPreference = stmtDef.getOptionalParam("readPreference") this.readPreference = stmtDef.getOptionalStringParam("readPreference")
.map(ReadPreference::valueOf) .map(ReadPreference::valueOf)
.orElse(ReadPreference.primary()); .orElse(ReadPreference.primary());
} }

View File

@@ -24,9 +24,9 @@ public interface OpTemplate extends Tagged {
<V> V getParam(String name, Class<? extends V> type); <V> V getParam(String name, Class<? extends V> type);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
<V> Optional<V> getOptionalParam(String name, Class<? extends V> type); <V> Optional<V> getOptionalStringParam(String name, Class<? extends V> type);
Optional<String> getOptionalParam(String name); Optional<String> getOptionalStringParam(String name);
Map<String,String> getTags(); Map<String,String> getTags();

View File

@@ -20,7 +20,6 @@ package io.nosqlbench.engine.api.activityconfig.yaml;
import io.nosqlbench.engine.api.activityconfig.MultiMapLookup; import io.nosqlbench.engine.api.activityconfig.MultiMapLookup;
import io.nosqlbench.engine.api.activityconfig.ParsedStmt; import io.nosqlbench.engine.api.activityconfig.ParsedStmt;
import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtDef; import io.nosqlbench.engine.api.activityconfig.rawyaml.RawStmtDef;
import io.nosqlbench.engine.api.util.Tagged;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
@@ -92,7 +91,7 @@ public class StmtDef implements OpTemplate {
@Override @Override
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public <V> Optional<V> getOptionalParam(String name, Class<? extends V> type) { public <V> Optional<V> getOptionalStringParam(String name, Class<? extends V> type) {
if (type.isPrimitive()) { if (type.isPrimitive()) {
throw new RuntimeException("Do not use primitive types for the target class here. For example, Boolean.class is accepted, but boolean.class is not."); throw new RuntimeException("Do not use primitive types for the target class here. For example, Boolean.class is accepted, but boolean.class is not.");
} }
@@ -114,8 +113,8 @@ public class StmtDef implements OpTemplate {
} }
@Override @Override
public Optional<String> getOptionalParam(String name) { public Optional<String> getOptionalStringParam(String name) {
return getOptionalParam(name,String.class); return getOptionalStringParam(name,String.class);
} }