diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/datamappers/functions/to_cqlvector/from_string/CSVToCqlFloatVector.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/datamappers/functions/to_cqlvector/from_string/CSVToCqlFloatVector.java new file mode 100644 index 000000000..8f6a45c70 --- /dev/null +++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/datamappers/functions/to_cqlvector/from_string/CSVToCqlFloatVector.java @@ -0,0 +1,42 @@ +package io.nosqlbench.datamappers.functions.to_cqlvector.from_string; + +/* + * Copyright (c) 2022 nosqlbench + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +import com.datastax.oss.driver.api.core.data.CqlVector; +import io.nosqlbench.virtdata.api.annotations.Categories; +import io.nosqlbench.virtdata.api.annotations.Category; +import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Function; + +@ThreadSafeMapper +@Categories(Category.conversion) +public class CSVToCqlFloatVector implements Function> { + @Override + public CqlVector apply(String s) { + String[] split = s.split(","); + List floats = new ArrayList<>(split.length); + for (String string : split) { + floats.add(Float.parseFloat(string)); + } + return com.datastax.oss.driver.api.core.data.CqlVector.newInstance(floats); + } +} diff --git a/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToBoxedDoubleArray.java b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToBoxedDoubleArray.java new file mode 100644 index 000000000..d90624cdd --- /dev/null +++ b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToBoxedDoubleArray.java @@ -0,0 +1,40 @@ +package io.nosqlbench.virtdata.library.basics.shared.conversions.from_string; + +/* + * Copyright (c) 2022 nosqlbench + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +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; + +@ThreadSafeMapper +@Categories(Category.conversion) +public class FromCSVToBoxedDoubleArray implements Function { + + @Override + public Double[] apply(String s) { + String[] split = s.split(","); + Double[] doubles = new Double[split.length]; + for (int i = 0; i < split.length; i++) { + doubles[i] = Double.parseDouble(split[i]); + } + return doubles; + } +} diff --git a/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToBoxedFloatArray.java b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToBoxedFloatArray.java new file mode 100644 index 000000000..7d06a0145 --- /dev/null +++ b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToBoxedFloatArray.java @@ -0,0 +1,40 @@ +package io.nosqlbench.virtdata.library.basics.shared.conversions.from_string; + +/* + * Copyright (c) 2022 nosqlbench + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +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; + +@ThreadSafeMapper +@Categories(Category.conversion) +public class FromCSVToBoxedFloatArray implements Function { + + @Override + public Float[] apply(String s) { + String[] split = s.split(","); + Float[] floats = new Float[split.length]; + for (int i = 0; i < split.length; i++) { + floats[i] = Float.parseFloat(split[i]); + } + return floats; + } +} diff --git a/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToPrimitiveDoubleArray.java b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToPrimitiveDoubleArray.java new file mode 100644 index 000000000..c76cddae7 --- /dev/null +++ b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToPrimitiveDoubleArray.java @@ -0,0 +1,40 @@ +package io.nosqlbench.virtdata.library.basics.shared.conversions.from_string; + +/* + * Copyright (c) 2022 nosqlbench + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +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; + +@ThreadSafeMapper +@Categories(Category.conversion) +public class FromCSVToPrimitiveDoubleArray implements Function { + + @Override + public double[] apply(String s) { + String[] split = s.split(","); + double[] doubles = new double[split.length]; + for (int i = 0; i < split.length; i++) { + doubles[i] = Double.parseDouble(split[i]); + } + return doubles; + } +} diff --git a/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToPrimitiveFloatArray.java b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToPrimitiveFloatArray.java new file mode 100644 index 000000000..8018122ba --- /dev/null +++ b/nb-virtdata/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/shared/conversions/from_string/FromCSVToPrimitiveFloatArray.java @@ -0,0 +1,40 @@ +package io.nosqlbench.virtdata.library.basics.shared.conversions.from_string; + +/* + * Copyright (c) 2022 nosqlbench + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +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; + +@ThreadSafeMapper +@Categories(Category.conversion) +public class FromCSVToPrimitiveFloatArray implements Function { + + @Override + public float[] apply(String s) { + String[] split = s.split(","); + float[] floats = new float[split.length]; + for (int i = 0; i < split.length; i++) { + floats[i] = Float.parseFloat(split[i]); + } + return floats; + } +}