From 44b8119b380a88c3af9274bcc5ab860fcb0c8ae2 Mon Sep 17 00:00:00 2001
From: Jonathan Shook
Date: Tue, 16 Nov 2021 12:55:18 -0600
Subject: [PATCH] update categories for functions
---
.../functions/rainbow/TokenMapFileCycle.java | 3 +++
.../functions/rainbow/TokenMapFileNextCycle.java | 3 +++
.../functions/rainbow/TokenMapFileNextToken.java | 3 +++
.../functions/rainbow/TokenMapFileToken.java | 6 ++++++
.../functions/to_tuple/CustomFunc955.java | 3 +++
.../virtdata/api/annotations/Category.java | 3 ++-
.../virtdata/core/bindings/VirtDataDocs.java | 4 ++--
.../basics/shared/from_double/to_double/Add.java | 3 +++
.../basics/shared/from_double/to_double/Clamp.java | 3 +++
.../basics/shared/from_double/to_double/Div.java | 3 +++
.../basics/shared/from_double/to_double/Expr.java | 5 +++--
.../basics/shared/from_double/to_double/Max.java | 3 +++
.../basics/shared/from_double/to_double/Min.java | 3 +++
.../basics/shared/from_double/to_double/Mul.java | 3 +++
.../to_bytebuffer/HashedToByteBuffer.java | 3 +++
.../shared/from_long/to_double/FixedValues.java | 3 +++
.../from_long/to_double/HashedDoubleRange.java | 3 +++
.../to_double/HashedRangedToNonuniformDouble.java | 3 +++
.../shared/from_long/to_double/Interpolate.java | 3 +++
.../shared/from_long/to_int/AddCycleRange.java | 3 +++
.../shared/from_long/to_int/AddHashRange.java | 3 +++
.../basics/shared/from_long/to_int/CycleRange.java | 3 +++
.../basics/shared/from_long/to_int/Expr.java | 3 +++
.../basics/shared/from_long/to_int/FixedValue.java | 4 ++++
.../shared/from_long/to_int/FixedValues.java | 3 +++
.../basics/shared/from_long/to_int/Hash.java | 7 -------
.../shared/from_long/to_int/HashInterval.java | 3 +++
.../basics/shared/from_long/to_int/HashRange.java | 3 +++
.../shared/from_long/to_int/HashRangeScaled.java | 3 +++
.../shared/from_long/to_int/HashedLineToInt.java | 5 ++++-
.../basics/shared/from_long/to_int/Mod.java | 5 ++++-
.../shared/from_long/to_int/ModuloToInteger.java | 3 +++
.../basics/shared/from_long/to_int/Scale.java | 8 ++++----
.../basics/shared/from_long/to_int/SignedHash.java | 3 +++
.../shared/from_long/to_long/FixedValues.java | 3 +++
.../basics/shared/from_long/to_long/FullHash.java | 5 ++++-
.../basics/shared/from_long/to_long/Identity.java | 3 +++
.../shared/from_long/to_long/ModuloToLong.java | 3 +++
.../shared/from_long/to_long/Murmur3DivToLong.java | 7 +++++--
.../basics/shared/from_long/to_long/Shuffle.java | 5 ++---
.../shared/from_long/to_long/WeightedLongs.java | 5 ++++-
.../from_long/to_string/AlphaNumericString.java | 3 +++
.../shared/from_long/to_string/Combinations.java | 3 +++
.../shared/from_long/to_string/DirectoryLines.java | 5 ++++-
.../from_long/to_string/DivideToLongToString.java | 3 +++
.../basics/shared/from_long/to_string/Expr.java | 4 +++-
.../to_string/HashedFileExtractToString.java | 3 +++
.../from_long/to_string/HashedLineToString.java | 3 +++
.../to_string/HashedLinesToKeyValueString.java | 3 +++
.../to_string/HashedLoremExtractToString.java | 3 +++
.../shared/from_long/to_string/JoinTemplate.java | 3 +++
.../shared/from_long/to_string/ListTemplate.java | 3 +++
.../shared/from_long/to_string/LongToString.java | 3 +++
.../from_long/to_string/ModuloCSVLineToString.java | 7 +++++--
.../from_long/to_string/ModuloLineToString.java | 5 ++++-
.../from_long/to_string/Murmur3DivToString.java | 7 +++++--
.../from_long/to_string/NumberNameToString.java | 3 +++
.../from_long/to_string/StaticStringMapper.java | 3 +++
.../shared/from_long/to_string/Template.java | 3 +++
.../from_long/to_string/WeightedStrings.java | 5 ++++-
.../from_long/to_time_types/ElapsedNanoTime.java | 3 +++
.../basics/shared/from_long/to_uuid/Expr.java | 3 +++
.../shared/from_long/to_uuid/ToHashedUUID.java | 5 ++++-
.../basics/shared/from_string/MatchFunc.java | 3 +++
.../basics/shared/from_string/MatchRegex.java | 7 +++++--
.../nondeterministic/ThreadNumToInteger.java | 5 ++++-
.../shared/nondeterministic/ThreadNumToLong.java | 5 ++++-
.../basics/shared/stateful/LoadElement.java | 3 +++
.../shared/stateful/from_long/LoadInteger.java | 5 -----
.../basics/shared/stateful/from_long/LoadLong.java | 7 +------
.../library/basics/shared/unary_int/Expr.java | 3 +++
.../library/basics/shared/unary_int/Hash.java | 7 -------
.../basics/shared/unary_string/FieldExtractor.java | 7 +++++--
.../library/basics/shared/unary_string/Prefix.java | 5 ++++-
.../basics/shared/unary_string/ReplaceAll.java | 3 +++
.../basics/shared/unary_string/ReplaceRegex.java | 3 +++
.../library/basics/shared/unary_string/Suffix.java | 6 ++++--
.../library/basics/shared/unary_string/Trim.java | 3 +++
.../userlibs/apps/docsapp/VirtDataGenDocsApp.java | 14 +++++++++++---
79 files changed, 258 insertions(+), 64 deletions(-)
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
*/
@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