Skip to content

Commit 001385a

Browse files
committed
address PR reviews. use java util Optional. Consolidate two vector codec proxies. e.t.c
1 parent 13d9bce commit 001385a

File tree

25 files changed

+322
-426
lines changed

25 files changed

+322
-426
lines changed

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ccm-public

core/src/main/java/com/datastax/oss/driver/api/core/data/CqlVector.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package com.datastax.oss.driver.api.core.data;
1919

2020
import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
21-
import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry;
2221
import com.datastax.oss.driver.internal.core.type.codec.ParseUtils;
2322
import com.datastax.oss.driver.shaded.guava.common.base.Preconditions;
2423
import com.datastax.oss.driver.shaded.guava.common.base.Predicates;
@@ -79,9 +78,7 @@ public static <V> CqlVector<V> newInstance(List<V> list) {
7978
}
8079

8180
/**
82-
* Create a new CqlVector instance from the specified string representation. Note that this method
83-
* is intended to mirror {@link #toString()}; passing this method the output from a <code>toString
84-
* </code> call on some CqlVector should return a CqlVector that is equal to the origin instance.
81+
* Create a new CqlVector instance from the specified string representation.
8582
*
8683
* @param str a String representation of a CqlVector
8784
* @param subtypeCodec
@@ -90,7 +87,7 @@ public static <V> CqlVector<V> newInstance(List<V> list) {
9087
public static <V> CqlVector<V> from(@NonNull String str, @NonNull TypeCodec<V> subtypeCodec) {
9188
Preconditions.checkArgument(str != null, "Cannot create CqlVector from null string");
9289
Preconditions.checkArgument(!str.isEmpty(), "Cannot create CqlVector from empty string");
93-
if (str == null || str.isEmpty() || str.equalsIgnoreCase("NULL")) return null;
90+
if (str.equalsIgnoreCase("NULL")) return null;
9491

9592
int idx = ParseUtils.skipSpaces(str, 0);
9693
if (str.charAt(idx++) != '[')
@@ -102,7 +99,7 @@ public static <V> CqlVector<V> from(@NonNull String str, @NonNull TypeCodec<V> s
10299
idx = ParseUtils.skipSpaces(str, idx);
103100

104101
if (str.charAt(idx) == ']') {
105-
return null;
102+
return new CqlVector<>(new ArrayList<>());
106103
}
107104

108105
List<V> list = new ArrayList<>();
@@ -231,11 +228,17 @@ public int hashCode() {
231228
return Objects.hash(list);
232229
}
233230

231+
/**
232+
* Only works if the inner type of the vector is a Number. Will throw otherwise.
233+
*
234+
* @return the string representation
235+
*/
234236
@Override
235237
public String toString() {
236238
if (this.list.isEmpty()) return "[]";
237-
TypeCodec<T> subcodec = CodecRegistry.DEFAULT.codecFor(list.get(0));
238-
return this.list.stream().map(subcodec::format).collect(Collectors.joining(", ", "[", "]"));
239+
return this.list.stream()
240+
.map(ele -> ele.toString())
241+
.collect(Collectors.joining(", ", "[", "]"));
239242
}
240243

241244
/**

core/src/main/java/com/datastax/oss/driver/api/core/type/codec/TypeCodec.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
import com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata;
2525
import com.datastax.oss.driver.api.core.type.DataType;
2626
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
27-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2827
import com.datastax.oss.driver.shaded.guava.common.base.Preconditions;
2928
import edu.umd.cs.findbugs.annotations.NonNull;
3029
import edu.umd.cs.findbugs.annotations.Nullable;
3130
import java.nio.ByteBuffer;
31+
import java.util.Optional;
3232

3333
/**
3434
* Manages the two-way conversion between a CQL type and a Java type.
@@ -238,6 +238,6 @@ default boolean accepts(@NonNull DataType cqlType) {
238238

239239
@NonNull
240240
default Optional<Integer> serializedSize() {
241-
return Optional.absent();
241+
return Optional.empty();
242242
}
243243
}

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/BigIntCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
import com.datastax.oss.driver.api.core.type.DataTypes;
2323
import com.datastax.oss.driver.api.core.type.codec.PrimitiveLongCodec;
2424
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
25-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2625
import edu.umd.cs.findbugs.annotations.NonNull;
2726
import edu.umd.cs.findbugs.annotations.Nullable;
2827
import java.nio.ByteBuffer;
28+
import java.util.Optional;
2929
import net.jcip.annotations.ThreadSafe;
3030

3131
@ThreadSafe

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/BlobCodec.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.datastax.oss.driver.api.core.type.DataTypes;
2323
import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
2424
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
25-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2625
import com.datastax.oss.protocol.internal.util.Bytes;
2726
import edu.umd.cs.findbugs.annotations.NonNull;
2827
import edu.umd.cs.findbugs.annotations.Nullable;
@@ -84,10 +83,4 @@ public ByteBuffer parse(@Nullable String value) {
8483
? null
8584
: Bytes.fromHexString(value);
8685
}
87-
88-
@NonNull
89-
@Override
90-
public Optional<Integer> serializedSize() {
91-
return Optional.absent();
92-
}
9386
}

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/BooleanCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
import com.datastax.oss.driver.api.core.type.DataTypes;
2323
import com.datastax.oss.driver.api.core.type.codec.PrimitiveBooleanCodec;
2424
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
25-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2625
import edu.umd.cs.findbugs.annotations.NonNull;
2726
import edu.umd.cs.findbugs.annotations.Nullable;
2827
import java.nio.ByteBuffer;
28+
import java.util.Optional;
2929
import net.jcip.annotations.ThreadSafe;
3030

3131
@ThreadSafe

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/CounterCodec.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import com.datastax.oss.driver.api.core.type.DataType;
2121
import com.datastax.oss.driver.api.core.type.DataTypes;
22-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2322
import edu.umd.cs.findbugs.annotations.NonNull;
2423
import net.jcip.annotations.ThreadSafe;
2524

@@ -30,10 +29,4 @@ public class CounterCodec extends BigIntCodec {
3029
public DataType getCqlType() {
3130
return DataTypes.COUNTER;
3231
}
33-
34-
@NonNull
35-
@Override
36-
public Optional<Integer> serializedSize() {
37-
return Optional.absent();
38-
}
3932
}

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/CqlDurationCodec.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
2525
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
2626
import com.datastax.oss.driver.internal.core.type.util.VIntCoding;
27-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2827
import com.datastax.oss.driver.shaded.guava.common.io.ByteArrayDataOutput;
2928
import com.datastax.oss.driver.shaded.guava.common.io.ByteStreams;
3029
import com.datastax.oss.protocol.internal.util.Bytes;
@@ -116,10 +115,4 @@ public CqlDuration parse(@Nullable String value) {
116115
? null
117116
: CqlDuration.from(value);
118117
}
119-
120-
@NonNull
121-
@Override
122-
public Optional<Integer> serializedSize() {
123-
return Optional.absent();
124-
}
125118
}

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/DateCodec.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.datastax.oss.driver.api.core.type.codec.TypeCodecs;
2727
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
2828
import com.datastax.oss.driver.internal.core.util.Strings;
29-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
3029
import edu.umd.cs.findbugs.annotations.NonNull;
3130
import edu.umd.cs.findbugs.annotations.Nullable;
3231
import java.nio.ByteBuffer;
@@ -153,10 +152,4 @@ private static int cqlDateToDaysSinceEpoch(long raw) {
153152

154153
private static final long MAX_CQL_LONG_VALUE = ((1L << 32) - 1);
155154
private static final long EPOCH_AS_CQL_LONG = (1L << 31);
156-
157-
@NonNull
158-
@Override
159-
public Optional<Integer> serializedSize() {
160-
return Optional.absent();
161-
}
162155
}

core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/DecimalCodec.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.datastax.oss.driver.api.core.type.DataTypes;
2323
import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
2424
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
25-
import com.datastax.oss.driver.shaded.guava.common.base.Optional;
2625
import edu.umd.cs.findbugs.annotations.NonNull;
2726
import edu.umd.cs.findbugs.annotations.Nullable;
2827
import java.math.BigDecimal;
@@ -108,10 +107,4 @@ public BigDecimal parse(@Nullable String value) {
108107
String.format("Cannot parse decimal value from \"%s\"", value));
109108
}
110109
}
111-
112-
@NonNull
113-
@Override
114-
public Optional<Integer> serializedSize() {
115-
return Optional.absent();
116-
}
117110
}

0 commit comments

Comments
 (0)