From e7154f5c20433d55a4f6ef19194ef2afded0b6f5 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Mon, 4 Mar 2024 16:50:21 -0600 Subject: [PATCH] support nulls in string compositor construction --- .../core/templates/StringCompositor.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/templates/StringCompositor.java b/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/templates/StringCompositor.java index d0be6483a..e2f35f285 100644 --- a/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/templates/StringCompositor.java +++ b/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/templates/StringCompositor.java @@ -40,37 +40,37 @@ public class StringCompositor implements LongFunction { private final Function stringfunc; - public StringCompositor(ParsedTemplateString template, Map fconfig, Function stringfunc) { - Map specs = new HashMap<>(); + public StringCompositor(ParsedTemplateString template, Map fconfig, Function stringfunc) { + Map specs = new HashMap<>(); List bindpoints = template.getBindPoints(); for (BindPoint bindPoint : bindpoints) { String spec = bindPoint.getBindspec(); - specs.compute(spec,(s,i) -> i==null ? specs.size() : i); + specs.compute(spec, (s, i) -> i == null ? specs.size() : i); } mappers = new DataMapper[specs.size()]; - specs.forEach((k,v) -> { - mappers[v]= VirtData.getOptionalMapper(k,fconfig).orElseThrow(); + specs.forEach((k, v) -> { + mappers[v] = VirtData.getOptionalMapper(k, fconfig).orElseThrow(); }); String[] even_odd_spans = template.getSpans(); - this.spans = new String[bindpoints.size()+1]; + this.spans = new String[bindpoints.size() + 1]; LUT = new int[bindpoints.size()]; for (int i = 0; i < bindpoints.size(); i++) { - spans[i]=even_odd_spans[i<<1]; - LUT[i]=specs.get(template.getBindPoints().get(i).getBindspec()); + spans[i] = even_odd_spans[i << 1]; + LUT[i] = specs.get(template.getBindPoints().get(i).getBindspec()); } - spans[spans.length-1]=even_odd_spans[even_odd_spans.length-1]; + spans[spans.length - 1] = even_odd_spans[even_odd_spans.length - 1]; this.stringfunc = stringfunc; int minsize = 0; for (int i = 0; i < 100; i++) { String result = apply(i); - minsize = Math.max(minsize,result.length()); + minsize = Math.max(minsize, result.length()); } - bufsize = minsize*2; + bufsize = minsize * 2; } - public StringCompositor(ParsedTemplateString template, Map fconfig) { - this(template,fconfig,Object::toString); + public StringCompositor(ParsedTemplateString template, Map fconfig) { + this(template, fconfig, s -> s != null ? s.toString() : "NULL"); } @Override @@ -81,9 +81,9 @@ public class StringCompositor implements LongFunction { ary[i] = stringfunc.apply(mappers[i].apply(value)); } for (int i = 0; i < LUT.length; i++) { - sb.append(spans[i]).append(ary[LUT[i]]); + sb.append(spans[i]).append(ary[LUT[i]]); } - sb.append(spans[spans.length-1]); + sb.append(spans[spans.length - 1]); return sb.toString(); } }