From ac4b4d519b6e6e93b826b4993c16dc3d801ab485 Mon Sep 17 00:00:00 2001 From: Artyom Dubinin Date: Wed, 22 Mar 2023 14:32:54 +0300 Subject: [PATCH 1/2] Add can convert value to TupleResultConverter Needed for https://github.com/tarantool/cartridge-springdata/issues/123 --- CHANGELOG.md | 1 + .../value/ArrayValueToTarantoolTupleResultConverter.java | 5 +++++ .../driver/mappers/TarantoolCallResultMapperTest.java | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d32997728..3e75efda4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Split retrying into more detailed modules ([#341](https://github.com/tarantool/cartridge-java/issues/341)) - Add deep copy instead of shallow copy in default message pack mapper - Add a factory builder for constructing mapper hierarchies +- Add can convert value to TupleResultConverter ## [0.10.1] - 2023-01-13 diff --git a/src/main/java/io/tarantool/driver/mappers/converters/value/ArrayValueToTarantoolTupleResultConverter.java b/src/main/java/io/tarantool/driver/mappers/converters/value/ArrayValueToTarantoolTupleResultConverter.java index 63dc810df..0243cfb5e 100644 --- a/src/main/java/io/tarantool/driver/mappers/converters/value/ArrayValueToTarantoolTupleResultConverter.java +++ b/src/main/java/io/tarantool/driver/mappers/converters/value/ArrayValueToTarantoolTupleResultConverter.java @@ -30,4 +30,9 @@ public ArrayValueToTarantoolTupleResultConverter( public TarantoolResult fromValue(ArrayValue value) { return tarantoolResultFactory.createTarantoolTupleResultImpl(value, tupleConverter); } + + @Override + public boolean canConvertValue(ArrayValue value) { + return value.size() == 0 || value.get(0).isArrayValue(); + } } diff --git a/src/test/java/io/tarantool/driver/mappers/TarantoolCallResultMapperTest.java b/src/test/java/io/tarantool/driver/mappers/TarantoolCallResultMapperTest.java index cb25c1e50..cef5acb6d 100644 --- a/src/test/java/io/tarantool/driver/mappers/TarantoolCallResultMapperTest.java +++ b/src/test/java/io/tarantool/driver/mappers/TarantoolCallResultMapperTest.java @@ -108,7 +108,7 @@ void testDefaultTarantoolTupleResponse_singleResultShouldThrowException() { ArrayValue testTuples = ValueFactory.newArray(tupleOne.toMessagePackValue(defaultMapper)); // Another corner case, tuple result mapper should not be used for this result format - assertThrows(TarantoolTupleConversionException.class, () -> defaultResultMapper.fromValue(testTuples)); + assertThrows(MessagePackValueMapperException.class, () -> defaultResultMapper.fromValue(testTuples)); } @Test From d560f6cc2a23a398f3cc115cc00752e7fd2d8001 Mon Sep 17 00:00:00 2001 From: Artyom Dubinin Date: Tue, 28 Mar 2023 11:25:46 +0300 Subject: [PATCH 2/2] Update CHANGELOG.md Co-authored-by: Alexey Kuzin --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e75efda4..aff1afdd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ - Split retrying into more detailed modules ([#341](https://github.com/tarantool/cartridge-java/issues/341)) - Add deep copy instead of shallow copy in default message pack mapper - Add a factory builder for constructing mapper hierarchies -- Add can convert value to TupleResultConverter +- Add "can convert value" check to TupleResultConverter ## [0.10.1] - 2023-01-13