Skip to content

Commit 296b904

Browse files
committed
Separate OBJECT and STRING result parsers
1 parent 8ba33b8 commit 296b904

File tree

5 files changed

+32
-9
lines changed

5 files changed

+32
-9
lines changed

driver/src/main/java/jdbc/client/helpers/result/RedisResultHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ private RedisResultHelper() {
182182
Optional<ResultParserWrapper> wrapper = wrappers.stream().filter(p -> p.isApplicable(query)).findFirst();
183183
if (wrapper.isPresent()) return wrapper.get().getResultParser();
184184
}
185-
return RESULT;
185+
return OBJECT;
186186
}
187187

188188
public static @NotNull RedisResult parseResult(@NotNull RedisQuery query, @Nullable Object data) {

driver/src/main/java/jdbc/client/helpers/result/parser/ResultParserFactory.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121

2222
public class ResultParserFactory {
2323

24-
public static final ResultParser RESULT = new ListResultParser<>() {
24+
public static final ResultParser OBJECT = new ListResultParser<>() {
2525
@Override
2626
protected @NotNull ListEncoder<Object> getBuilder() {
27-
return EncoderFactory.RESULT;
27+
return EncoderFactory.OBJECT;
2828
}
2929

3030
@Override
@@ -33,6 +33,18 @@ public class ResultParserFactory {
3333
}
3434
};
3535

36+
public static final ResultParser STRING = new ListResultParser<String, String>() {
37+
@Override
38+
protected @NotNull ListEncoder<String> getBuilder() {
39+
return EncoderFactory.STRING;
40+
}
41+
42+
@Override
43+
protected @NotNull SimpleConverter<String, String> getConverter() {
44+
return ConverterFactory.STRING;
45+
}
46+
};
47+
3648
public static final ResultParser LONG = new ListResultParser<Long, Long>() {
3749
@Override
3850
protected @NotNull ListEncoder<Long> getBuilder() {

driver/src/main/java/jdbc/client/helpers/result/parser/converter/type/TypeFactory.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ private TypeFactory() {
2222
}
2323

2424

25-
// TODO: think about it
26-
public static final SimpleType<Object> OBJECT = new SimpleType<>(RedisColumnTypeHelper.STRING); // object.toString()
25+
public static final SimpleType<Object> OBJECT = new SimpleType<>(RedisColumnTypeHelper.OBJECT);
2726

2827
public static final SimpleType<String> STRING = new SimpleType<>(RedisColumnTypeHelper.STRING);
2928

driver/src/main/java/jdbc/client/helpers/result/parser/encoder/EncoderFactory.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ private EncoderFactory() {
2020
}
2121

2222

23-
public static final ListEncoder<Object> RESULT = new ElementListEncoder<>() {
23+
public static final ListEncoder<Object> OBJECT = new ElementListEncoder<>() {
2424
@Override
2525
protected @NotNull Builder<Object> getBuilder() {
2626
return BuilderFactory.ENCODED_OBJECT;
@@ -32,6 +32,18 @@ private EncoderFactory() {
3232
}
3333
};
3434

35+
public static final ListEncoder<String> STRING = new ElementListEncoder<>() {
36+
@Override
37+
protected @NotNull Builder<String> getBuilder() {
38+
return BuilderFactory.STRING;
39+
}
40+
41+
@Override
42+
protected @NotNull Builder<List<String>> getListBuilder() {
43+
return BuilderFactory.STRING_LIST;
44+
}
45+
};
46+
3547
public static final ListEncoder<Long> LONG = new ElementListEncoder<>() {
3648
@Override
3749
protected @NotNull Builder<Long> getBuilder() {

driver/src/main/java/jdbc/types/RedisColumnTypeHelper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import static jdbc.Utils.toLowerCase;
88

99
public class RedisColumnTypeHelper {
10-
public static final String NULL = "null";
10+
public static final String OBJECT = "object";
1111
public static final String STRING = "string";
1212
public static final String LONG = "long";
1313
public static final String DOUBLE = "double";
@@ -20,7 +20,7 @@ private RedisColumnTypeHelper() {
2020
}
2121

2222
private static final Map<String, Integer> javaTypeMap = new HashMap<>() {{
23-
put(NULL, Types.NULL);
23+
put(OBJECT, Types.JAVA_OBJECT);
2424
put(STRING, Types.VARCHAR);
2525
put(LONG, Types.BIGINT);
2626
put(DOUBLE, Types.DOUBLE);
@@ -31,7 +31,7 @@ private RedisColumnTypeHelper() {
3131
}};
3232

3333
private static final Map<String, String> typeNameMap = new HashMap<>() {{
34-
put(NULL, "java.lang.Object");
34+
put(OBJECT, "java.lang.Object");
3535
put(STRING, "java.lang.String");
3636
put(LONG, "java.lang.Long");
3737
put(DOUBLE, "java.lang.Double");

0 commit comments

Comments
 (0)