diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileCycle.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileCycle.java index 0fe512e13..9f5ac3bb6 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileCycle.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileCycle.java @@ -1,11 +1,14 @@ package io.nosqlbench.activitytype.cql.datamappers.functions.rainbow; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; /** * Utility function used for advanced data generation experiments. */ @ThreadSafeMapper +@Categories({Category.experimental}) public class TokenMapFileCycle extends TokenMapFileBaseFunction { public TokenMapFileCycle(String filename, boolean loopdata, boolean ascending) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextCycle.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextCycle.java index 6120eb241..a58baf36f 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextCycle.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextCycle.java @@ -1,11 +1,14 @@ package io.nosqlbench.activitytype.cql.datamappers.functions.rainbow; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; /** * Utility function used for advanced data generation experiments. */ @ThreadSafeMapper +@Categories({Category.experimental}) public class TokenMapFileNextCycle extends TokenMapFileBaseFunction { public TokenMapFileNextCycle(String filename, boolean loopdata, boolean ascending) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextToken.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextToken.java index cb45f11ea..90ac2e360 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextToken.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileNextToken.java @@ -1,11 +1,14 @@ package io.nosqlbench.activitytype.cql.datamappers.functions.rainbow; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; /** * Utility function used for advanced data generation experiments. */ @ThreadSafeMapper +@Categories({Category.experimental}) public class TokenMapFileNextToken extends TokenMapFileBaseFunction { public TokenMapFileNextToken(String filename, boolean loopdata, boolean ascending) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileToken.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileToken.java index 82af07c55..a17ce6c22 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileToken.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/rainbow/TokenMapFileToken.java @@ -1,8 +1,14 @@ package io.nosqlbench.activitytype.cql.datamappers.functions.rainbow; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; +/** + * Utility function used for advanced data generation experiments. + */ @ThreadSafeMapper +@Categories({Category.experimental}) public class TokenMapFileToken extends TokenMapFileBaseFunction { public TokenMapFileToken(String filename, boolean loopdata, boolean ascending) { diff --git a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java index 034379a28..57238b0a5 100644 --- a/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java +++ b/driver-cql-shaded/src/main/java/io/nosqlbench/activitytype/cql/datamappers/functions/to_tuple/CustomFunc955.java @@ -8,6 +8,8 @@ import io.nosqlbench.nb.api.config.standard.ConfigModel; import io.nosqlbench.nb.api.config.standard.NBConfigModel; import io.nosqlbench.nb.api.config.standard.NBMapConfigurable; import io.nosqlbench.nb.api.config.standard.Param; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.HashMap; @@ -31,6 +33,7 @@ import java.util.function.LongUnaryOperator; * */ @ThreadSafeMapper +@Categories({Category.experimental}) public class CustomFunc955 implements LongFunction>, NBMapConfigurable { private final LongToIntFunction sizefunc; diff --git a/virtdata-api/src/main/java/io/nosqlbench/virtdata/api/annotations/Category.java b/virtdata-api/src/main/java/io/nosqlbench/virtdata/api/annotations/Category.java index 9d4acd42c..3102ab1c3 100644 --- a/virtdata-api/src/main/java/io/nosqlbench/virtdata/api/annotations/Category.java +++ b/virtdata-api/src/main/java/io/nosqlbench/virtdata/api/annotations/Category.java @@ -12,5 +12,6 @@ public enum Category { functional, statistics, general, - objects + objects, + experimental } diff --git a/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/bindings/VirtDataDocs.java b/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/bindings/VirtDataDocs.java index db30c3d85..0811984e3 100644 --- a/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/bindings/VirtDataDocs.java +++ b/virtdata-api/src/main/java/io/nosqlbench/virtdata/core/bindings/VirtDataDocs.java @@ -34,13 +34,13 @@ public class VirtDataDocs { MethodHandle constructor = lookup.findConstructor(aClass, MethodType.methodType(Void.TYPE)); Object o = constructor.invoke(); if (DocFuncData.class.isAssignableFrom(o.getClass())) { - docs.add(DocFuncData.class.cast(o)); + docs.add((DocFuncData) o); } else { throw new RuntimeException("class " + o.getClass() + " could not be assigned to " + DocFuncData.class.getSimpleName()); } } } catch (Throwable e) { - throw new RuntimeException("Error while loading doc models:" + e.toString()); + throw new RuntimeException("Error while loading doc models:" + e); } return docs; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Add.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Add.java index 85f3be425..cebcf7a48 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Add.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Add.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.DoubleUnaryOperator; @ThreadSafeMapper +@Categories({Category.general}) public class Add implements DoubleUnaryOperator { private final double addend; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Clamp.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Clamp.java index 680f32caf..5273700ce 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Clamp.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Clamp.java @@ -1,11 +1,14 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.DoubleUnaryOperator; @ThreadSafeMapper +@Categories({Category.general}) public class Clamp implements DoubleUnaryOperator { private final double min; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Div.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Div.java index 2d69b2bb7..ce0962b52 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Div.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Div.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.DoubleUnaryOperator; @ThreadSafeMapper +@Categories({Category.general}) public class Div implements DoubleUnaryOperator { private final double divisor; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Expr.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Expr.java index c28d9cd23..3cf2c3b52 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Expr.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Expr.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.core.MVELExpr; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; @@ -10,10 +12,9 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.DoubleUnaryOperator; -import java.util.stream.Collectors; -import java.util.stream.Stream; @ThreadSafeMapper +@Categories({Category.functional}) public class Expr implements DoubleUnaryOperator { private final String expr; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Max.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Max.java index 3d1343fdf..acb2d73e6 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Max.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Max.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.DoubleUnaryOperator; @ThreadSafeMapper +@Categories({Category.general}) public class Max implements DoubleUnaryOperator { private final double max; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Min.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Min.java index 4fd7b5ca0..e27982e35 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Min.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Min.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.DoubleUnaryOperator; @ThreadSafeMapper +@Categories({Category.general}) public class Min implements DoubleUnaryOperator { private final double min; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Mul.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Mul.java index ebfea56b6..4001495d0 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Mul.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_double/to_double/Mul.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_double.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.DoubleUnaryOperator; @ThreadSafeMapper +@Categories({Category.general}) public class Mul implements DoubleUnaryOperator { private final double factor; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_bytebuffer/HashedToByteBuffer.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_bytebuffer/HashedToByteBuffer.java index dfc50e804..896c4322c 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_bytebuffer/HashedToByteBuffer.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_bytebuffer/HashedToByteBuffer.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_bytebuffer; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -29,6 +31,7 @@ import java.util.function.LongFunction; * boundary; */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedToByteBuffer implements LongFunction { private final Hash hash; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/FixedValues.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/FixedValues.java index edd566a72..f75da97cb 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/FixedValues.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/FixedValues.java @@ -1,11 +1,14 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongToDoubleFunction; @ThreadSafeMapper +@Categories({Category.general}) public class FixedValues implements LongToDoubleFunction { private final long[] fixedValues; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedDoubleRange.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedDoubleRange.java index c8ccc4f43..d8cb8e084 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedDoubleRange.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedDoubleRange.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -30,6 +32,7 @@ import java.util.function.LongToDoubleFunction; * expense of some precision at extremely large values. */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedDoubleRange implements LongToDoubleFunction { private final double min; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedRangedToNonuniformDouble.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedRangedToNonuniformDouble.java index ea6a0698e..a99e42fd2 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedRangedToNonuniformDouble.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/HashedRangedToNonuniformDouble.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -14,6 +16,7 @@ import java.util.function.LongToDoubleFunction; * stable for a given input value. */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedRangedToNonuniformDouble implements LongToDoubleFunction { private final long min; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/Interpolate.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/Interpolate.java index 380a789de..4d509f7e5 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/Interpolate.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_double/Interpolate.java @@ -1,12 +1,15 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_double; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongToDoubleFunction; @ThreadSafeMapper +@Categories({Category.general}) public class Interpolate implements LongToDoubleFunction { private final double scale; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddCycleRange.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddCycleRange.java index a5e3d1b0f..e865893c4 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddCycleRange.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddCycleRange.java @@ -1,11 +1,14 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.CycleRange; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class AddCycleRange implements LongToIntFunction { private final CycleRange cycleRange; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddHashRange.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddHashRange.java index a04225470..c7f18e7b0 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddHashRange.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/AddHashRange.java @@ -1,11 +1,14 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.HashRange; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class AddHashRange implements LongToIntFunction { private final HashRange hashRange; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/CycleRange.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/CycleRange.java index a8b221125..1861ff420 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/CycleRange.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/CycleRange.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class CycleRange implements LongToIntFunction { private final long minValue; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Expr.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Expr.java index c3640ac02..1b4c86723 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Expr.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Expr.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.core.MVELExpr; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; @@ -22,6 +24,7 @@ import java.util.function.LongToIntFunction; * are preceding functions which modify the input value. */ @ThreadSafeMapper +@Categories({Category.functional}) public class Expr implements LongToIntFunction { private final String expr; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValue.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValue.java index dfcfa2e6a..cbd7ee5eb 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValue.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValue.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -9,6 +11,8 @@ import java.util.function.LongToIntFunction; * Yield a fixed value. */ @ThreadSafeMapper +@Categories({Category.general}) + public class FixedValue implements LongToIntFunction { private final int fixedValue; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValues.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValues.java index 0a9558b6f..fce8f282a 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValues.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/FixedValues.java @@ -1,10 +1,13 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class FixedValues implements LongToIntFunction { private final int[] fixedValues; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Hash.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Hash.java index de9fb2248..32255443e 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Hash.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Hash.java @@ -8,13 +8,6 @@ import io.nosqlbench.virtdata.murmur.Murmur3F; import java.nio.ByteBuffer; import java.util.function.LongToIntFunction; -/** - * This uses the Murmur3F (64-bit optimized) version of Murmur3, - * not as a checksum, but as a simple hash. It doesn't bother - * pushing the high-64 bits of input, since it only uses the lower - * 64 bits of output. It does, however, return the absolute value. - * This is to make it play nice with users and other libraries. - */ @ThreadSafeMapper @Categories({Category.general}) public class Hash implements LongToIntFunction { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashInterval.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashInterval.java index 56369a200..c5230e05c 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashInterval.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashInterval.java @@ -1,6 +1,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; import io.nosqlbench.nb.api.errors.BasicError; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -8,6 +10,7 @@ import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class HashInterval implements LongToIntFunction { private final long minValue; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRange.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRange.java index 740b6be37..de4c1e995 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRange.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRange.java @@ -1,6 +1,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; import io.nosqlbench.nb.api.errors.BasicError; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -8,6 +10,7 @@ import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class HashRange implements LongToIntFunction { private final long minValue; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRangeScaled.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRangeScaled.java index 110ba309d..b294585eb 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRangeScaled.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashRangeScaled.java @@ -1,11 +1,14 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class HashRangeScaled implements LongToIntFunction { private final Hash hash = new Hash(); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashedLineToInt.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashedLineToInt.java index b2e811d65..f084bc002 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashedLineToInt.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/HashedLineToInt.java @@ -1,6 +1,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; import io.nosqlbench.nb.api.content.NBIO; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; @@ -13,9 +15,10 @@ import java.util.function.LongToIntFunction; * Each line in the file must contain one parsable integer value. */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedLineToInt implements LongToIntFunction { private final static Logger logger = LogManager.getLogger(HashedLineToInt.class); - private int[] values; + private final int[] values; private final String filename; private final Hash intHash; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Mod.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Mod.java index 6d93cc8b2..d5bb78469 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Mod.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Mod.java @@ -14,14 +14,17 @@ */ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class Mod implements LongToIntFunction { - private long modulo; + private final long modulo; public Mod(int modulo) { this.modulo = modulo; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/ModuloToInteger.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/ModuloToInteger.java index dd842f08b..9c30685e8 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/ModuloToInteger.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/ModuloToInteger.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongFunction; @@ -26,6 +28,7 @@ import java.util.function.LongFunction; * Return an integer value as the result of modulo division with the specified divisor. */ @ThreadSafeMapper +@Categories({Category.general}) public class ModuloToInteger implements LongFunction { private final int modulo; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Scale.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Scale.java index 8ea6dffe8..f25d8fab9 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Scale.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/Scale.java @@ -1,14 +1,14 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongToIntFunction; -/** - * Scale the input by the factor provided - * @deprecated Use Mul(...) instead - */ @ThreadSafeMapper +@Deprecated +@Categories({Category.general}) public class Scale implements LongToIntFunction { private final double scaleFactor; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/SignedHash.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/SignedHash.java index 0f2a9412d..a5fed9a9d 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/SignedHash.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_int/SignedHash.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.murmur.Murmur3F; @@ -7,6 +9,7 @@ import java.nio.ByteBuffer; import java.util.function.LongToIntFunction; @ThreadSafeMapper +@Categories({Category.general}) public class SignedHash implements LongToIntFunction { ThreadLocal bb_TL = ThreadLocal.withInitial(() -> ByteBuffer.allocate(Long.BYTES)); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FixedValues.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FixedValues.java index 58278da33..e5829c37b 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FixedValues.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FixedValues.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -10,6 +12,7 @@ import java.util.function.LongUnaryOperator; * increases. */ @ThreadSafeMapper +@Categories({Category.general}) public class FixedValues implements LongUnaryOperator { private final long[] fixedValues; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FullHash.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FullHash.java index 660d0e1cc..4880fa6d3 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FullHash.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/FullHash.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.murmur.Murmur3F; @@ -16,9 +18,10 @@ import java.util.function.LongUnaryOperator; * It does not return the absolute value, as {@link Hash} does. */ @ThreadSafeMapper +@Categories({Category.general}) public class FullHash implements LongUnaryOperator { - private ThreadLocal state_TL = ThreadLocal.withInitial(State::new); + private final ThreadLocal state_TL = ThreadLocal.withInitial(State::new); @Override public long applyAsLong(long value) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Identity.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Identity.java index 1885f91c7..97000600b 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Identity.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Identity.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongUnaryOperator; @@ -8,6 +10,7 @@ import java.util.function.LongUnaryOperator; * Simply returns the input value. This function intentionally does nothing. */ @ThreadSafeMapper +@Categories({Category.general}) public class Identity implements LongUnaryOperator { @Override public long applyAsLong(long operand) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/ModuloToLong.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/ModuloToLong.java index c7e288cf5..7c6a34e3d 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/ModuloToLong.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/ModuloToLong.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; @@ -28,6 +30,7 @@ import java.util.function.LongUnaryOperator; * Return a long value as the result of modulo division with the specified divisor. */ @ThreadSafeMapper +@Categories({Category.general}) public class ModuloToLong implements LongUnaryOperator { private final static Logger logger = LogManager.getLogger(ModuloToLong.class); private final long modulo; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Murmur3DivToLong.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Murmur3DivToLong.java index 7754b5d29..40099ad5d 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Murmur3DivToLong.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Murmur3DivToLong.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.DeprecatedFunction; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.murmur.Murmur3F; @@ -31,10 +33,11 @@ import java.util.function.LongUnaryOperator; */ @ThreadSafeMapper @DeprecatedFunction("This function is easily replaced with other simpler functions.") +@Categories({Category.general}) public class Murmur3DivToLong implements LongUnaryOperator { - private ThreadLocal murmur3f_TL = ThreadLocal.withInitial(Murmur3F::new); - private DivideToLong divideToLongMapper; + private final ThreadLocal murmur3f_TL = ThreadLocal.withInitial(Murmur3F::new); + private final DivideToLong divideToLongMapper; public Murmur3DivToLong(long divisor) { this.divideToLongMapper = new DivideToLong(divisor); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Shuffle.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Shuffle.java index 6e092ab39..18dd3b0b1 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Shuffle.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/Shuffle.java @@ -14,9 +14,7 @@ */ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; -import io.nosqlbench.virtdata.api.annotations.Description; -import io.nosqlbench.virtdata.api.annotations.Example; -import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; +import io.nosqlbench.virtdata.api.annotations.*; import io.nosqlbench.virtdata.library.basics.core.lfsrs.MetaShift; /** @@ -34,6 +32,7 @@ import io.nosqlbench.virtdata.library.basics.core.lfsrs.MetaShift; * This function *does* yield values that are deterministic. */ @ThreadSafeMapper +@Categories({Category.general}) @Description("Provides virtual shuffling extremely large numbers.") public class Shuffle extends MetaShift.Func { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/WeightedLongs.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/WeightedLongs.java index 4fd876165..8b25e019f 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/WeightedLongs.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_long/WeightedLongs.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_long; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_double.HashedDoubleRange; @@ -16,12 +18,13 @@ import java.util.function.LongFunction; * This function automatically hashes the input, so the result is already pseudo-random. */ @ThreadSafeMapper +@Categories({Category.general}) public class WeightedLongs implements LongFunction { private final String valuesAndWeights; private double[] unitWeights; // Positional weights after parsing and unit weight normalization private double[] cumulativeWeights; - private HashedDoubleRange unitRange = new HashedDoubleRange(0.0D, 1.0D); + private final HashedDoubleRange unitRange = new HashedDoubleRange(0.0D, 1.0D); private long[] values; @Example({"WeightedLongs('1:10;3;5;12345;1","Yield 1 62.5% of the time, 3 31.25% of the time, and 12345 6.2% of the time"}) diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java index d6588bbd8..7d4685a6a 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/AlphaNumericString.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -9,6 +11,7 @@ import java.util.function.LongFunction; * Create an alpha-numeric string of the specified length, character-by-character. */ @ThreadSafeMapper +@Categories({Category.general}) public class AlphaNumericString implements LongFunction { private static final String AVAILABLE_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; private final ThreadLocal threadStringBuilder = ThreadLocal.withInitial(StringBuilder::new); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Combinations.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Combinations.java index fadee187f..c90eed57f 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Combinations.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Combinations.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.util.CharsetMapping; @@ -22,6 +24,7 @@ import java.util.function.LongFunction; * which can be represented in a long value. (This is a very high number). */ @ThreadSafeMapper +@Categories({Category.general}) public class Combinations implements LongFunction { private final char[][] charsets; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DirectoryLines.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DirectoryLines.java index 0a3c53db4..a2ed05f90 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DirectoryLines.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DirectoryLines.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import org.apache.logging.log4j.Logger; @@ -23,6 +25,7 @@ import java.util.regex.Pattern; * from a set of files as input to a test or simulation. */ @ThreadSafeMapper +@Categories({Category.general}) public class DirectoryLines implements LongFunction { private final static Logger logger = LogManager.getLogger(DirectoryLines.class); @@ -78,7 +81,7 @@ public class DirectoryLines implements LongFunction { } catch (IOException e) { throw new RuntimeException(e); } - logger.debug("File reader: " + fileList.toString() + " in path: " + Paths.get(basepath).getFileName()); + logger.debug("File reader: " + fileList + " in path: " + Paths.get(basepath).getFileName()); fileList.paths.sort(Path::compareTo); return fileList.paths; } diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DivideToLongToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DivideToLongToString.java index b7b58f5d4..9f8b8a103 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DivideToLongToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/DivideToLongToString.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.DeprecatedFunction; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -30,6 +32,7 @@ import java.util.function.LongFunction; * as it is easily replaced by other functions. */ @ThreadSafeMapper +@Categories({Category.general}) @DeprecatedFunction("This function is easily replace by simpler functions.") public class DivideToLongToString implements LongFunction { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Expr.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Expr.java index 744a5a12f..6d870fdf5 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Expr.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Expr.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.core.MVELExpr; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; @@ -10,9 +12,9 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.LongFunction; -import java.util.function.LongUnaryOperator; @ThreadSafeMapper +@Categories({Category.functional}) public class Expr implements LongFunction { private final String expr; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedFileExtractToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedFileExtractToString.java index 83c9d2fc0..76be1c8fe 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedFileExtractToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedFileExtractToString.java @@ -19,6 +19,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; import io.nosqlbench.nb.api.content.NBIO; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.api.bindings.VirtDataConversions; @@ -37,6 +39,7 @@ import java.util.function.LongToIntFunction; * sized fragment. */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedFileExtractToString implements LongFunction { private final static Logger logger = LogManager.getLogger(HashedFileExtractToString.class); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLineToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLineToString.java index 2866a11a3..1e3d25f81 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLineToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLineToString.java @@ -20,6 +20,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; import io.nosqlbench.nb.api.content.NBIO; import io.nosqlbench.nb.api.errors.BasicError; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_int.HashInterval; import org.apache.logging.log4j.Logger; @@ -34,6 +36,7 @@ import java.util.function.LongFunction; * the specified file. */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedLineToString implements LongFunction { private final static Logger logger = LogManager.getLogger(HashedLineToString.class); private final HashInterval indexRange; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLinesToKeyValueString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLinesToKeyValueString.java index ad5d8e959..55a306c64 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLinesToKeyValueString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLinesToKeyValueString.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_collection.HashedLineToStringStringMap; import org.apache.logging.log4j.Logger; @@ -32,6 +34,7 @@ import java.util.stream.Collectors; * in the specified file, ranging in size between zero and the specified maximum. */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedLinesToKeyValueString implements LongFunction { private static final Logger logger = LogManager.getLogger(HashedLinesToKeyValueString.class); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLoremExtractToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLoremExtractToString.java index dc676a1e6..bdb7f91d7 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLoremExtractToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/HashedLoremExtractToString.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongFunction; @@ -28,6 +30,7 @@ import java.util.function.LongFunction; * */ @ThreadSafeMapper +@Categories({Category.general}) public class HashedLoremExtractToString implements LongFunction { private final HashedFileExtractToString randomFileExtractMapper; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/JoinTemplate.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/JoinTemplate.java index 47755c376..7534446c4 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/JoinTemplate.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/JoinTemplate.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -11,6 +13,7 @@ import java.util.function.LongUnaryOperator; * specified delimiter and optional prefix and suffix. */ @ThreadSafeMapper +@Categories({Category.general}) public class JoinTemplate extends Template implements LongFunction { @Example({"JoinTemplate('--',NumberNameToString(),NumberNameToString())","create values like `one--one`, `two-two`, ..."}) diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ListTemplate.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ListTemplate.java index e7f9c26d9..6996fd925 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ListTemplate.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ListTemplate.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -15,6 +17,7 @@ import java.util.function.LongToIntFunction; * between elements. */ @ThreadSafeMapper +@Categories({Category.general}) public class ListTemplate implements LongFunction> { private final LongToIntFunction sizeFunc; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/LongToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/LongToString.java index 880d982ed..a298f3e06 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/LongToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/LongToString.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.DeprecatedFunction; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -29,6 +31,7 @@ import java.util.function.LongFunction; */ @ThreadSafeMapper @DeprecatedFunction("This function is being replaced by ToString() for naming consistency.") +@Categories({Category.general}) public class LongToString implements LongFunction { @Override diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloCSVLineToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloCSVLineToString.java index 7c0c90fc7..f60c8df3a 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloCSVLineToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloCSVLineToString.java @@ -19,6 +19,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; import io.nosqlbench.nb.api.content.NBIO; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import org.apache.commons.csv.CSVParser; @@ -37,12 +39,13 @@ import java.util.function.LongFunction; * be provided in the CSV header line as written. */ @ThreadSafeMapper +@Categories({Category.general}) public class ModuloCSVLineToString implements LongFunction { private final static Logger logger = LogManager.getLogger(ModuloLineToString.class); - private List lines = new ArrayList<>(); + private final List lines = new ArrayList<>(); - private String filename; + private final String filename; @Example({"ModuloCSVLineToString('data/myfile.csv','lat')","load values for 'lat' from the CSV file myfile.csv."}) public ModuloCSVLineToString(String filename, String fieldname) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloLineToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloLineToString.java index 4f86764b6..1ef76005c 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloLineToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/ModuloLineToString.java @@ -19,6 +19,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; import io.nosqlbench.nb.api.content.NBIO; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; @@ -32,11 +34,12 @@ import java.util.function.LongFunction; * of lines in the file. */ @ThreadSafeMapper +@Categories({Category.general}) public class ModuloLineToString implements LongFunction { private final static Logger logger = LogManager.getLogger(ModuloLineToString.class); private List lines = new ArrayList<>(); - private String filename; + private final String filename; public ModuloLineToString(String filename) { this.filename = filename; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Murmur3DivToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Murmur3DivToString.java index 2c64d2ccf..2c4e0b3ad 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Murmur3DivToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Murmur3DivToString.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.DeprecatedFunction; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.murmur.Murmur3F; @@ -30,11 +32,12 @@ import java.util.function.LongFunction; * with the specified divisor to long and then converting the value to String. */ @ThreadSafeMapper +@Categories({Category.general}) @DeprecatedFunction("This function is easily replaced with other simpler functions.") public class Murmur3DivToString implements LongFunction { - private ThreadLocal murmur3F_TL = ThreadLocal.withInitial(Murmur3F::new); - private DivideToLong divideToLongMapper; + private final ThreadLocal murmur3F_TL = ThreadLocal.withInitial(Murmur3F::new); + private final DivideToLong divideToLongMapper; public Murmur3DivToString(long divisor) { this.divideToLongMapper = new DivideToLong(divisor); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/NumberNameToString.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/NumberNameToString.java index 9368ab6f8..1b0f333cf 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/NumberNameToString.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/NumberNameToString.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import uk.ydubey.formatter.numtoword.NumberInWordsFormatter; @@ -30,6 +32,7 @@ import java.util.function.LongFunction; * The maximum value is limited at 999,999,999. */ @ThreadSafeMapper +@Categories({Category.general,Category.premade}) public class NumberNameToString implements LongFunction { private final static ThreadLocal tlsb = ThreadLocal.withInitial(StringBuilder::new); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/StaticStringMapper.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/StaticStringMapper.java index 1cd5ff357..5dd256930 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/StaticStringMapper.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/StaticStringMapper.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongFunction; @@ -26,6 +28,7 @@ import java.util.function.LongFunction; * Return a static String value. */ @ThreadSafeMapper +@Categories({Category.general}) public class StaticStringMapper implements LongFunction { private final String string; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Template.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Template.java index 16fc4ee71..3f6c99d16 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Template.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/Template.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.api.bindings.VirtDataConversions; @@ -37,6 +39,7 @@ import java.util.regex.Pattern; * and then stitched together according to the template provided.

*/ @ThreadSafeMapper +@Categories({Category.general}) public class Template implements LongFunction { private final static Logger logger = LogManager.getLogger(Template.class); private static final String EXPR_BEGIN = "[["; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/WeightedStrings.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/WeightedStrings.java index e99bb6d7b..0a0b28352 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/WeightedStrings.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_string/WeightedStrings.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_double.HashedDoubleRange; @@ -15,12 +17,13 @@ import java.util.function.LongFunction; * to add up to any particular value. */ @ThreadSafeMapper +@Categories({Category.general}) public class WeightedStrings implements LongFunction { private final String valuesAndWeights; private double[] unitWeights; // Positional weights after parsing and unit weight normalization private double[] cumulativeWeights; - private HashedDoubleRange unitRange = new HashedDoubleRange(0.0D, 1.0D); + private final HashedDoubleRange unitRange = new HashedDoubleRange(0.0D, 1.0D); private String[] values; public WeightedStrings(String valuesAndWeights) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_time_types/ElapsedNanoTime.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_time_types/ElapsedNanoTime.java index 5d16b8959..86049df0e 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_time_types/ElapsedNanoTime.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_time_types/ElapsedNanoTime.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_time_types; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.LongUnaryOperator; @@ -9,6 +11,7 @@ import java.util.function.LongUnaryOperator; * CAUTION: This does not produce deterministic test data. */ @ThreadSafeMapper +@Categories({Category.general}) public class ElapsedNanoTime implements LongUnaryOperator { @Override public long applyAsLong(long operand) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/Expr.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/Expr.java index 69ae679a0..b72773c44 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/Expr.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/Expr.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_uuid; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.core.MVELExpr; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; @@ -13,6 +15,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.LongFunction; @ThreadSafeMapper +@Categories({Category.functional}) public class Expr implements LongFunction { private final String expr; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/ToHashedUUID.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/ToHashedUUID.java index 9c1a5eca7..0b204b5d8 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/ToHashedUUID.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_long/to_uuid/ToHashedUUID.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_long.to_uuid; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.shared.from_long.to_long.Hash; @@ -11,9 +13,10 @@ import java.util.function.LongFunction; * a version 4 (Random) UUID. */ @ThreadSafeMapper +@Categories({Category.general}) public class ToHashedUUID implements LongFunction { - private Hash longHash = new Hash(); + private final Hash longHash = new Hash(); @Override public UUID apply(long value) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchFunc.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchFunc.java index 0dd528752..36a0c0aad 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchFunc.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchFunc.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.core.composers.FunctionAssembly; @@ -18,6 +20,7 @@ import java.util.regex.Pattern; * String value may be provided as the associated output value. */ @ThreadSafeMapper +@Categories({Category.general}) public class MatchFunc implements Function { private final MatchEntry[] entries; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchRegex.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchRegex.java index 98e731894..3c9b69f0e 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchRegex.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/from_string/MatchRegex.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.from_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -13,9 +15,10 @@ import java.util.regex.Pattern; * If no matches occur, then the original value is passed through unchanged. * Patterns and replacements are passed as even,odd pairs indexed from the * 0th position. Back-references to matching groups are supported. - * + */ @ThreadSafeMapper +@Categories({Category.general}) public class MatchRegex implements Function { private final MatchEntry[] entries; @@ -29,7 +32,7 @@ public class MatchRegex implements Function { } entries = new MatchEntry[specs.length/2]; for (int i = 0; i < specs.length; i+=2) { - String pattern = specs[i].toString(); + String pattern = specs[i]; String replacement = specs[i+1]; entries[i/2]=new MatchEntry(pattern, replacement); } diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToInteger.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToInteger.java index 30f26b5c0..f31ba12d6 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToInteger.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToInteger.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.nondeterministic; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.DeprecatedFunction; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -33,11 +35,12 @@ import java.util.regex.Pattern; */ @ThreadSafeMapper @DeprecatedFunction("This is being replaced by ThreadNum() for naming consistency.") +@Categories({Category.general}) public class ThreadNumToInteger implements LongFunction { private static final Pattern pattern = Pattern.compile("^.*?(\\d+).*$"); - private ThreadLocal threadLocalInt = new ThreadLocal() { + private final ThreadLocal threadLocalInt = new ThreadLocal() { @Override protected Integer initialValue() { Matcher matcher = pattern.matcher(Thread.currentThread().getName()); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToLong.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToLong.java index 2bac10b9b..3ae18c13f 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToLong.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/nondeterministic/ThreadNumToLong.java @@ -18,6 +18,8 @@ package io.nosqlbench.virtdata.library.basics.shared.nondeterministic; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.DeprecatedFunction; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -33,10 +35,11 @@ import java.util.regex.Pattern; */ @ThreadSafeMapper @DeprecatedFunction("This is being replaced by ThreadNum() for naming consistency.") +@Categories({Category.general}) public class ThreadNumToLong implements LongUnaryOperator { private static final Pattern pattern = Pattern.compile("^.*?(\\d+).*$"); - private ThreadLocal threadLocalInt = new ThreadLocal() { + private final ThreadLocal threadLocalInt = new ThreadLocal() { @Override protected Long initialValue() { Matcher matcher = pattern.matcher(Thread.currentThread().getName()); diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/LoadElement.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/LoadElement.java index 2764d0142..86455b4ef 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/LoadElement.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/LoadElement.java @@ -4,6 +4,8 @@ import io.nosqlbench.nb.api.config.standard.ConfigModel; import io.nosqlbench.nb.api.config.standard.NBConfigModel; import io.nosqlbench.nb.api.config.standard.NBMapConfigurable; import io.nosqlbench.nb.api.config.standard.Param; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -18,6 +20,7 @@ import java.util.function.Function; * by the provided variable name. */ @ThreadSafeMapper +@Categories({Category.general}) public class LoadElement implements Function, NBMapConfigurable { private final String varname; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadInteger.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadInteger.java index 22c07f227..713493793 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadInteger.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadInteger.java @@ -10,11 +10,6 @@ import java.util.HashMap; import java.util.function.LongFunction; import java.util.function.LongToIntFunction; -/** - * Load a value from a named thread-local variable, where the variable - * name is fixed or a generated variable name from a provided function. - * If the named variable is not defined, then the default value is returned. - */ @Categories(Category.state) @ThreadSafeMapper public class LoadInteger implements LongToIntFunction { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadLong.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadLong.java index 8af96b9cb..c2464045c 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadLong.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/stateful/from_long/LoadLong.java @@ -10,18 +10,13 @@ import java.util.HashMap; import java.util.function.LongFunction; import java.util.function.LongUnaryOperator; -/** - * Load a value from a named thread-local variable, where the variable - * name is fixed or a generated variable name from a provided function. - * If the named variable is not defined, then the default value is returned. - */ @Categories(Category.state) @ThreadSafeMapper public class LoadLong implements LongUnaryOperator { private final String name; private final LongFunction nameFunc; - private long defaultValue; + private final long defaultValue; @Example({"LoadLong('foo',42L)","for the current thread, load a long value from the named variable."}) public LoadLong(String name) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Expr.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Expr.java index b3bee792c..99b176340 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Expr.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Expr.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_int; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import io.nosqlbench.virtdata.library.basics.core.MVELExpr; import io.nosqlbench.virtdata.library.basics.core.threadstate.SharedState; @@ -10,6 +12,7 @@ import java.util.HashMap; import java.util.function.IntUnaryOperator; @ThreadSafeMapper +@Categories({Category.functional}) public class Expr implements IntUnaryOperator { private final String expr; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Hash.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Hash.java index 026e298a2..6ddbcae7d 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Hash.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_int/Hash.java @@ -8,13 +8,6 @@ import io.nosqlbench.virtdata.murmur.Murmur3F; import java.nio.ByteBuffer; import java.util.function.IntUnaryOperator; -/** - * This uses the Murmur3F (64-bit optimized) version of Murmur3, - * not as a checksum, but as a simple hash. It doesn't bother - * pushing the high-64 bits of input, since it only uses the lower - * 64 bits of output. It does, however, return the absolute value. - * This is to make it play nice with users and other libraries. - */ @ThreadSafeMapper @Categories({Category.general}) public class Hash implements IntUnaryOperator { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/FieldExtractor.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/FieldExtractor.java index 69e767e2e..f94f4c59c 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/FieldExtractor.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/FieldExtractor.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import org.apache.logging.log4j.Logger; @@ -13,6 +15,7 @@ import java.util.function.Function; * a string with the same delimiter containing only the specified fields. */ @ThreadSafeMapper +@Categories({Category.general}) public class FieldExtractor implements Function { private final static Logger logger = LogManager.getLogger(FieldExtractor.class); @@ -21,8 +24,8 @@ public class FieldExtractor implements Function { private final String splitDelim; private final String printDelim; private final int maxIdx; - private int[] indexes; - private ThreadLocal tlsb = ThreadLocal.withInitial(StringBuilder::new); + private final int[] indexes; + private final ThreadLocal tlsb = ThreadLocal.withInitial(StringBuilder::new); @Example({"FieldExtractor('|,2,16')","extract fields 2 and 16 from the input data with '|' as the delimiter"}) public FieldExtractor(String fields) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Prefix.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Prefix.java index 9ef754dda..a6cfc75f1 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Prefix.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Prefix.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -9,8 +11,9 @@ import java.util.function.Function; * Add the specified prefix String to the input value and return the result. */ @ThreadSafeMapper +@Categories({Category.general}) public class Prefix implements Function{ - private String prefix; + private final String prefix; @Example({"Prefix('PREFIX:')", "Prepend 'PREFIX:' to every input value"}) public Prefix(String prefix){ diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceAll.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceAll.java index 42d339be3..a22b1153b 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceAll.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceAll.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -9,6 +11,7 @@ import java.util.function.Function; * Replace all occurrences of the extant string with the replacement string. */ @ThreadSafeMapper +@Categories({Category.general}) public class ReplaceAll implements Function { private final String extant; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceRegex.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceRegex.java index 0e5f225c5..c76d24af8 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceRegex.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/ReplaceRegex.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -12,6 +14,7 @@ import java.util.regex.Pattern; * Note, this is much less efficient than using the simple ReplaceAll for most cases. */ @ThreadSafeMapper +@Categories({Category.general}) public class ReplaceRegex implements Function { private final String replacement; diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Suffix.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Suffix.java index 2d2595e77..45c27487b 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Suffix.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Suffix.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.Example; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; @@ -8,9 +10,9 @@ import java.util.function.Function; /** * Add the specified prefix String to the input value and return the result. */ -@ThreadSafeMapper +@ThreadSafeMapper@Categories({Category.general}) public class Suffix implements Function { - private String suffix; + private final String suffix; @Example({"Suffix('--Fin')", "Append '--Fin' to every input value"}) public Suffix(String suffix) { diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Trim.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Trim.java index ed3bad0e8..fcbbeabcc 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Trim.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/unary_string/Trim.java @@ -1,5 +1,7 @@ package io.nosqlbench.virtdata.library.basics.shared.unary_string; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; import java.util.function.Function; @@ -8,6 +10,7 @@ import java.util.function.Function; * Trim the input value and return the result. */ @ThreadSafeMapper +@Categories({Category.general}) public class Trim implements Function{ @Override diff --git a/virtdata-userlibs/src/main/java/io/nosqlbench/virtdata/userlibs/apps/docsapp/VirtDataGenDocsApp.java b/virtdata-userlibs/src/main/java/io/nosqlbench/virtdata/userlibs/apps/docsapp/VirtDataGenDocsApp.java index 04b33d327..118ef7d7f 100644 --- a/virtdata-userlibs/src/main/java/io/nosqlbench/virtdata/userlibs/apps/docsapp/VirtDataGenDocsApp.java +++ b/virtdata-userlibs/src/main/java/io/nosqlbench/virtdata/userlibs/apps/docsapp/VirtDataGenDocsApp.java @@ -165,14 +165,16 @@ public class VirtDataGenDocsApp implements Runnable { } private FDoc loadAllDocs() { + List errors = new ArrayList<>(); FDoc docsinfo = new FDoc(); List allDocs = VirtDataDocs.getAllDocs(); + for (DocFuncData docFuncData : allDocs) { FDocFunc fDocFunc = new FDocFunc(docFuncData); Set categories = fDocFunc.getCategories(); if (categories.size() == 0) { - for (FDocCat knownCategoriy : docsinfo) { - for (FDocFuncs knownFunctionDocs : knownCategoriy) { + for (FDocCat knownCategory : docsinfo) { + for (FDocFuncs knownFunctionDocs : knownCategory) { if (knownFunctionDocs.getFunctionName().equals(fDocFunc.getFuncName())) { categories = knownFunctionDocs.iterator().next().getCategories(); break; @@ -183,9 +185,11 @@ public class VirtDataGenDocsApp implements Runnable { } } } + if (categories.size()==0) { categories = Set.of(Category.general); - logger.warn("Assigned generic category to " + fDocFunc.getFuncName()); + errors.add("function " + fDocFunc.getFuncName() + " had no categories assigned."); + } for (Category categoryName : categories) { @@ -193,6 +197,10 @@ public class VirtDataGenDocsApp implements Runnable { fDocCat.addFunctionDoc(fDocFunc); } } + if (errors.size()>0) { + errors.forEach(System.out::println); + System.exit(2); + } return docsinfo; }