mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
update categories for functions
This commit is contained in:
parent
b8295eb54e
commit
44b8119b38
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
* </LI>
|
||||
*/
|
||||
@ThreadSafeMapper
|
||||
@Categories({Category.experimental})
|
||||
public class CustomFunc955 implements LongFunction<Map<?, ?>>, NBMapConfigurable {
|
||||
|
||||
private final LongToIntFunction sizefunc;
|
||||
|
@ -12,5 +12,6 @@ public enum Category {
|
||||
functional,
|
||||
statistics,
|
||||
general,
|
||||
objects
|
||||
objects,
|
||||
experimental
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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<ByteBuffer> {
|
||||
|
||||
private final Hash hash;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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<Integer> {
|
||||
|
||||
private final int modulo;
|
||||
|
@ -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;
|
||||
|
@ -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<ByteBuffer> bb_TL = ThreadLocal.withInitial(() -> ByteBuffer.allocate(Long.BYTES));
|
||||
|
@ -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;
|
||||
|
@ -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> state_TL = ThreadLocal.withInitial(State::new);
|
||||
private final ThreadLocal<State> state_TL = ThreadLocal.withInitial(State::new);
|
||||
|
||||
@Override
|
||||
public long applyAsLong(long value) {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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> murmur3f_TL = ThreadLocal.withInitial(Murmur3F::new);
|
||||
private DivideToLong divideToLongMapper;
|
||||
private final ThreadLocal<Murmur3F> murmur3f_TL = ThreadLocal.withInitial(Murmur3F::new);
|
||||
private final DivideToLong divideToLongMapper;
|
||||
|
||||
public Murmur3DivToLong(long divisor) {
|
||||
this.divideToLongMapper = new DivideToLong(divisor);
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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<Long> {
|
||||
|
||||
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"})
|
||||
|
@ -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<String> {
|
||||
private static final String AVAILABLE_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
private final ThreadLocal<StringBuilder> threadStringBuilder = ThreadLocal.withInitial(StringBuilder::new);
|
||||
|
@ -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<String> {
|
||||
|
||||
private final char[][] charsets;
|
||||
|
@ -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<String> {
|
||||
|
||||
private final static Logger logger = LogManager.getLogger(DirectoryLines.class);
|
||||
@ -78,7 +81,7 @@ public class DirectoryLines implements LongFunction<String> {
|
||||
} 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;
|
||||
}
|
||||
|
@ -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<String> {
|
||||
|
||||
|
@ -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<String> {
|
||||
|
||||
private final String expr;
|
||||
|
@ -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<String> {
|
||||
|
||||
private final static Logger logger = LogManager.getLogger(HashedFileExtractToString.class);
|
||||
|
@ -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<String> {
|
||||
private final static Logger logger = LogManager.getLogger(HashedLineToString.class);
|
||||
private final HashInterval indexRange;
|
||||
|
@ -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<String> {
|
||||
private static final Logger logger = LogManager.getLogger(HashedLinesToKeyValueString.class);
|
||||
|
||||
|
@ -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<String> {
|
||||
|
||||
private final HashedFileExtractToString randomFileExtractMapper;
|
||||
|
@ -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<String> {
|
||||
|
||||
@Example({"JoinTemplate('--',NumberNameToString(),NumberNameToString())","create values like `one--one`, `two-two`, ..."})
|
||||
|
@ -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<List<String>> {
|
||||
|
||||
private final LongToIntFunction sizeFunc;
|
||||
|
@ -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<String> {
|
||||
|
||||
@Override
|
||||
|
@ -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<String> {
|
||||
private final static Logger logger = LogManager.getLogger(ModuloLineToString.class);
|
||||
|
||||
private List<String> lines = new ArrayList<>();
|
||||
private final List<String> 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) {
|
||||
|
@ -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<String> {
|
||||
private final static Logger logger = LogManager.getLogger(ModuloLineToString.class);
|
||||
private List<String> lines = new ArrayList<>();
|
||||
|
||||
private String filename;
|
||||
private final String filename;
|
||||
|
||||
public ModuloLineToString(String filename) {
|
||||
this.filename = filename;
|
||||
|
@ -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<String> {
|
||||
|
||||
private ThreadLocal<Murmur3F> murmur3F_TL = ThreadLocal.withInitial(Murmur3F::new);
|
||||
private DivideToLong divideToLongMapper;
|
||||
private final ThreadLocal<Murmur3F> murmur3F_TL = ThreadLocal.withInitial(Murmur3F::new);
|
||||
private final DivideToLong divideToLongMapper;
|
||||
|
||||
public Murmur3DivToString(long divisor) {
|
||||
this.divideToLongMapper = new DivideToLong(divisor);
|
||||
|
@ -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<String> {
|
||||
|
||||
private final static ThreadLocal<StringBuilder> tlsb = ThreadLocal.withInitial(StringBuilder::new);
|
||||
|
@ -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<String> {
|
||||
|
||||
private final String string;
|
||||
|
@ -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.</p>
|
||||
*/
|
||||
@ThreadSafeMapper
|
||||
@Categories({Category.general})
|
||||
public class Template implements LongFunction<String> {
|
||||
private final static Logger logger = LogManager.getLogger(Template.class);
|
||||
private static final String EXPR_BEGIN = "[[";
|
||||
|
@ -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<String> {
|
||||
|
||||
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) {
|
||||
|
@ -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) {
|
||||
|
@ -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<UUID> {
|
||||
|
||||
private final String expr;
|
||||
|
@ -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<UUID> {
|
||||
|
||||
private Hash longHash = new Hash();
|
||||
private final Hash longHash = new Hash();
|
||||
|
||||
@Override
|
||||
public UUID apply(long value) {
|
||||
|
@ -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<String,String> {
|
||||
|
||||
private final MatchEntry[] entries;
|
||||
|
@ -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<String,String> {
|
||||
|
||||
private final MatchEntry[] entries;
|
||||
@ -29,7 +32,7 @@ public class MatchRegex implements Function<String,String> {
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
@ -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<Integer> {
|
||||
|
||||
private static final Pattern pattern = Pattern.compile("^.*?(\\d+).*$");
|
||||
|
||||
private ThreadLocal<Integer> threadLocalInt = new ThreadLocal<Integer>() {
|
||||
private final ThreadLocal<Integer> threadLocalInt = new ThreadLocal<Integer>() {
|
||||
@Override
|
||||
protected Integer initialValue() {
|
||||
Matcher matcher = pattern.matcher(Thread.currentThread().getName());
|
||||
|
@ -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<Long> threadLocalInt = new ThreadLocal<Long>() {
|
||||
private final ThreadLocal<Long> threadLocalInt = new ThreadLocal<Long>() {
|
||||
@Override
|
||||
protected Long initialValue() {
|
||||
Matcher matcher = pattern.matcher(Thread.currentThread().getName());
|
||||
|
@ -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<Object,Object>, NBMapConfigurable {
|
||||
|
||||
private final String varname;
|
||||
|
@ -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 {
|
||||
|
@ -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<Object> 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) {
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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<String,String> {
|
||||
|
||||
private final static Logger logger = LogManager.getLogger(FieldExtractor.class);
|
||||
@ -21,8 +24,8 @@ public class FieldExtractor implements Function<String,String> {
|
||||
private final String splitDelim;
|
||||
private final String printDelim;
|
||||
private final int maxIdx;
|
||||
private int[] indexes;
|
||||
private ThreadLocal<StringBuilder> tlsb = ThreadLocal.withInitial(StringBuilder::new);
|
||||
private final int[] indexes;
|
||||
private final ThreadLocal<StringBuilder> 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) {
|
||||
|
@ -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<String,String>{
|
||||
private String prefix;
|
||||
private final String prefix;
|
||||
|
||||
@Example({"Prefix('PREFIX:')", "Prepend 'PREFIX:' to every input value"})
|
||||
public Prefix(String prefix){
|
||||
|
@ -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<String, String> {
|
||||
|
||||
private final String extant;
|
||||
|
@ -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<String, String> {
|
||||
|
||||
private final String replacement;
|
||||
|
@ -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<String,String> {
|
||||
private String suffix;
|
||||
private final String suffix;
|
||||
|
||||
@Example({"Suffix('--Fin')", "Append '--Fin' to every input value"})
|
||||
public Suffix(String suffix) {
|
||||
|
@ -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<String, String>{
|
||||
|
||||
@Override
|
||||
|
@ -165,14 +165,16 @@ public class VirtDataGenDocsApp implements Runnable {
|
||||
}
|
||||
|
||||
private FDoc loadAllDocs() {
|
||||
List<String> errors = new ArrayList<>();
|
||||
FDoc docsinfo = new FDoc();
|
||||
List<DocFuncData> allDocs = VirtDataDocs.getAllDocs();
|
||||
|
||||
for (DocFuncData docFuncData : allDocs) {
|
||||
FDocFunc fDocFunc = new FDocFunc(docFuncData);
|
||||
Set<Category> 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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user