mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
stdout adapter progress
This commit is contained in:
parent
50b73e277d
commit
e434ce7cde
@ -3,8 +3,11 @@ package io.nosqlbench.adapters.stdout;
|
||||
import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpMapper;
|
||||
import io.nosqlbench.engine.api.activityimpl.uniform.BaseDriverAdapter;
|
||||
import io.nosqlbench.engine.api.activityimpl.uniform.DriverAdapter;
|
||||
import io.nosqlbench.engine.api.activityimpl.uniform.DriverSpaceCache;
|
||||
import io.nosqlbench.engine.api.templating.OpTemplateSupplier;
|
||||
import io.nosqlbench.nb.annotations.Service;
|
||||
import io.nosqlbench.nb.api.config.standard.ConfigModel;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfigModel;
|
||||
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
|
||||
|
||||
@ -12,6 +15,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service(value = DriverAdapter.class, selector = "stdoutadapter")
|
||||
public class StdoutDriverAdapter extends BaseDriverAdapter<StdoutOp, StdoutSpace> implements OpTemplateSupplier {
|
||||
|
||||
@Override
|
||||
@ -27,7 +31,9 @@ public class StdoutDriverAdapter extends BaseDriverAdapter<StdoutOp, StdoutSpace
|
||||
|
||||
@Override
|
||||
public NBConfigModel getConfigModel() {
|
||||
return StdoutSpace.getConfigModel();
|
||||
return ConfigModel.of(this.getClass())
|
||||
.add(super.getConfigModel())
|
||||
.add(StdoutSpace.getConfigModel());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,18 +8,21 @@ import java.util.function.LongFunction;
|
||||
public class StdoutOpDispenser extends BaseOpDispenser<StdoutOp> {
|
||||
|
||||
private final LongFunction<StdoutSpace> ctxfunc;
|
||||
private final LongFunction<?> objectFunction;
|
||||
private final LongFunction<String> outFunction;
|
||||
|
||||
public StdoutOpDispenser(ParsedOp cmd, LongFunction<StdoutSpace> ctxfunc) {
|
||||
super(cmd);
|
||||
objectFunction = cmd.getAsRequiredFunction("stmt", Object.class);
|
||||
this.ctxfunc = ctxfunc;
|
||||
LongFunction<Object> objectFunction = cmd.getAsRequiredFunction("stmt", Object.class);
|
||||
LongFunction<String> stringfunc = l -> objectFunction.apply(l).toString();
|
||||
cmd.enhance(stringfunc,"suffix",String.class,(a,b) -> a+b);
|
||||
this.outFunction = stringfunc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StdoutOp apply(long value) {
|
||||
StdoutSpace ctx = ctxfunc.apply(value);
|
||||
String output = objectFunction.apply(value).toString();
|
||||
String output = outFunction.apply(value);
|
||||
return new StdoutOp(ctx,output);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user