From ede5e0de3e0efb4640393623aa7a73113699cbe3 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 12:04:54 +0000 Subject: [PATCH 01/13] feat: include an option to write value util using Valuewriter Signed-off-by: Otavio Santana --- .../jnosql/communication/ValueUtil.java | 69 ++++++++++++------- 1 file changed, 46 insertions(+), 23 deletions(-) diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java index bc18bec33..8a35f6925 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java @@ -34,75 +34,98 @@ public final class ValueUtil { private static final ValueWriter VALUE_WRITER = ValueWriterDecorator.getInstance(); @SuppressWarnings("rawtypes") private static final Function CONVERT = o -> { - if (o instanceof Value) { - return convert(Value.class.cast(o)); + if (o instanceof Value value) { + return convert(value); } - return getObject(o); + return getObject(o, VALUE_WRITER); }; private ValueUtil() { } /** - * converter a {@link Value} to Object + * Converts a {@link Value} to Object * * @param value the value - * @return a object converted + * @return an object converted */ public static Object convert(Value value) { + return convert(value, VALUE_WRITER); + } + + /** + * Converts a {@link Value} using a custom {@link ValueWriter}. + * + * @param value the value to be converted + * @param valueWriter the custom ValueWriter to use for conversion + * @return the converted object + */ + public static Object convert(Value value, ValueWriter valueWriter) { Objects.requireNonNull(value, "value is required"); + Objects.requireNonNull(valueWriter, "valueWriter is required"); Object val = value.get(); if (val instanceof Iterable) { - return getObjects(val); + return getObjects(val, valueWriter); } - return getObject(val); + return getObject(val, valueWriter); } - /** - * Converts the {@link Value} to {@link List} + * Converts a {@link Value} to {@link List} * * @param value the value * @return a list object */ - @SuppressWarnings("unchecked") public static List convertToList(Value value) { + return convertToList(value, VALUE_WRITER); + } + + /** + * Converts a {@link Value} to {@link List} using a custom {@link ValueWriter}. + * + * @param value the value + * @param valueWriter the custom ValueWriter to use for conversion + * @return a list object + */ + @SuppressWarnings("unchecked") + public static List convertToList(Value value, ValueWriter valueWriter) { Objects.requireNonNull(value, "value is required"); + Objects.requireNonNull(valueWriter, "valueWriter is required"); Object val = value.get(); if (val instanceof Iterable) { List items = new ArrayList<>(); Iterable.class.cast(val).forEach(items::add); if (items.size() == 1) { Object item = items.get(0); - //check if it is dynamic params + // check if it is dynamic params if (PARAM_CLASS_NAME.equals(item.getClass().getName())) { Object params = Value.class.cast(item).get(); if (params instanceof Iterable) { - return getObjects(Iterable.class.cast(params)); + return getObjects(Iterable.class.cast(params), valueWriter); } else { - return Collections.singletonList(getObject(params)); + return Collections.singletonList(getObject(params, valueWriter)); } } } - return (List) items.stream().map(CONVERT).collect(toList()); - + return (List) items.stream().map(o -> getObject(o, valueWriter)).collect(toList()); } - return Collections.singletonList(getObject(val)); + return Collections.singletonList(getObject(val, valueWriter)); } @SuppressWarnings("unchecked") - private static List getObjects(Object val) { + private static List getObjects(Object val, ValueWriter valueWriter) { return (List) StreamSupport.stream(Iterable.class.cast(val).spliterator(), false) - .map(CONVERT).collect(toList()); + .map(o -> getObject(o, valueWriter)) + .collect(toList()); } - @SuppressWarnings("unchecked") - private static Object getObject(Object val) { + @SuppressWarnings({"unchecked", "rawtypes"}) + private static Object getObject(Object val, ValueWriter valueWriter) { if (val == null) { return null; - } else if (VALUE_WRITER.test(val.getClass())) { - return VALUE_WRITER.write(val); + } else if (valueWriter.test(val.getClass())) { + return valueWriter.write(val); } return val; } -} \ No newline at end of file +} From 657bf21af6aa914d894eae63da8d051384194f29 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 12:06:10 +0000 Subject: [PATCH 02/13] fix: update value util to keep the same behavior Signed-off-by: Otavio Santana --- .../jnosql/communication/ValueUtil.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java index 8a35f6925..9485ad02b 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/ValueUtil.java @@ -34,8 +34,8 @@ public final class ValueUtil { private static final ValueWriter VALUE_WRITER = ValueWriterDecorator.getInstance(); @SuppressWarnings("rawtypes") private static final Function CONVERT = o -> { - if (o instanceof Value value) { - return convert(value); + if (o instanceof Value) { + return convert((Value) o); } return getObject(o, VALUE_WRITER); }; @@ -112,10 +112,15 @@ public static List convertToList(Value value, ValueWriter valueWri return Collections.singletonList(getObject(val, valueWriter)); } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes"}) private static List getObjects(Object val, ValueWriter valueWriter) { - return (List) StreamSupport.stream(Iterable.class.cast(val).spliterator(), false) - .map(o -> getObject(o, valueWriter)) + return (List) StreamSupport.stream(((Iterable) val).spliterator(), false) + .map(o -> { + if (o instanceof Value) { + return convert((Value) o, valueWriter); + } + return getObject(o, valueWriter); + }) .collect(toList()); } @@ -123,9 +128,12 @@ private static List getObjects(Object val, ValueWriter valueWriter private static Object getObject(Object val, ValueWriter valueWriter) { if (val == null) { return null; + } else if (val instanceof Value) { + return convert(Value.class.cast(val), valueWriter); } else if (valueWriter.test(val.getClass())) { return valueWriter.write(val); } return val; } } + From 6b64c430f19ccab271f3fbfaabde7cddbf0f81d8 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 12:07:37 +0000 Subject: [PATCH 03/13] test: create new scenarios to test value util with custom scenarios Signed-off-by: Otavio Santana --- .../jnosql/communication/ValueUtilTest.java | 74 ++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/ValueUtilTest.java b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/ValueUtilTest.java index 13ae551e6..4eed07b87 100644 --- a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/ValueUtilTest.java +++ b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/ValueUtilTest.java @@ -74,4 +74,76 @@ void shouldReturnNullWhenValueUtilHasNullValue() { Object result = ValueUtil.convert(Value.ofNull()); Assertions.assertNull(result); } -} \ No newline at end of file + + @Test + void shouldConvertWithCustomWriter() { + ValueWriter customWriter = new ValueWriter<>() { + @Override + public String write(Integer object) { + return "Custom-" + object; + } + + @Override + public boolean test(Class aClass) { + return Integer.class.equals(aClass); + } + }; + + Value value = Value.of(42); + assertEquals("Custom-42", ValueUtil.convert(value, customWriter)); + } + + @Test + void shouldConvertListWithCustomWriter() { + ValueWriter customWriter = new ValueWriter<>() { + @Override + public String write(Integer object) { + return "Custom-" + object; + } + + @Override + public boolean test(Class aClass) { + return Integer.class.equals(aClass); + } + }; + + Value value = Value.of(Arrays.asList(10, 20)); + assertEquals(Arrays.asList("Custom-10", "Custom-20"), ValueUtil.convertToList(value, customWriter)); + } + + @Test + void shouldConvertNestedValueWithCustomWriter() { + ValueWriter customWriter = new ValueWriter<>() { + @Override + public String write(Integer object) { + return "Custom-" + object; + } + + @Override + public boolean test(Class aClass) { + return Integer.class.equals(aClass); + } + }; + + Value value = Value.of(Arrays.asList(Value.of(10), Value.of(20))); + assertEquals(Arrays.asList("Custom-10", "Custom-20"), ValueUtil.convert(value, customWriter)); + } + + @Test + void shouldConvertNestedListWithCustomWriter() { + ValueWriter customWriter = new ValueWriter<>() { + @Override + public String write(Integer object) { + return "Custom-" + object; + } + + @Override + public boolean test(Class aClass) { + return Integer.class.equals(aClass); + } + }; + + Value value = Value.of(Arrays.asList(Value.of(10), Value.of(20))); + assertEquals(Arrays.asList("Custom-10", "Custom-20"), ValueUtil.convertToList(value, customWriter)); + } +} From e0a81caafae8c2d6cf1fb4b49edb4d6cc90140e5 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 12:13:19 +0000 Subject: [PATCH 04/13] chore: update pmd location Signed-off-by: Otavio Santana --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 480bd727c..11b7858bd 100644 --- a/pom.xml +++ b/pom.xml @@ -551,7 +551,7 @@ ${apache.pdm.plugin.version} - pmd/pmd-rules.xml + https://raw.githubusercontent.com/eclipse/jnosql/refs/heads/main/pmd/pmd-rules.xml **/org/eclipse/jnosql/query/**/*.java From fc2137bf64aed1fd5f70d567a62bf7ddd2089d40 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:44:19 +0000 Subject: [PATCH 05/13] feat: create value reader to UUID Signed-off-by: Otavio Santana --- .../communication/reader/UUIDValueReader.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java new file mode 100644 index 000000000..5d1635613 --- /dev/null +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java @@ -0,0 +1,25 @@ +package org.eclipse.jnosql.communication.reader; + +import org.eclipse.jnosql.communication.ValueReader; + +import java.util.UUID; + +public class UUIDValueReader implements ValueReader { + + @SuppressWarnings("unchecked") + @Override + public T read(Class type, Object value) { + if (value instanceof UUID) { + return (T) value; + } + if (value instanceof CharSequence) { + return (T) UUID.fromString((String) value); + } + return null; + } + + @Override + public boolean test(Class type) { + return UUID.class.equals(type); + } +} From 3639e017d08546eea1e27fbcd6891a87f57089f2 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:44:49 +0000 Subject: [PATCH 06/13] feat: include header Signed-off-by: Otavio Santana --- .../communication/reader/UUIDValueReader.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java index 5d1635613..83941e215 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java @@ -1,3 +1,19 @@ +/* + * + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Apache License v2.0 which accompanies this distribution. + * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + * and the Apache License v2.0 is available at http://www.opensource.org/licenses/apache2.0.php. + * + * You may elect to redistribute this code under either of these licenses. + * + * Contributors: + * + * Otavio Santana + * + */ package org.eclipse.jnosql.communication.reader; import org.eclipse.jnosql.communication.ValueReader; From ba593e835fff3abdc59416997b588061b938f24b Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:45:21 +0000 Subject: [PATCH 07/13] test: organize the header space Signed-off-by: Otavio Santana --- .../eclipse/jnosql/communication/reader/UUIDValueReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java index 83941e215..94c231022 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java @@ -20,7 +20,7 @@ import java.util.UUID; -public class UUIDValueReader implements ValueReader { +public class UUIDValueReader implements ValueReader { @SuppressWarnings("unchecked") @Override From 57b0252502c4b390f3c5e368f11501f7d7d18be8 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:45:48 +0000 Subject: [PATCH 08/13] test: create initial structure for uuid test scenarios Signed-off-by: Otavio Santana --- .../reader/UUIDValueReaderTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java diff --git a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java new file mode 100644 index 000000000..2b166c60b --- /dev/null +++ b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Apache License v2.0 which accompanies this distribution. + * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + * and the Apache License v2.0 is available at http://www.opensource.org/licenses/apache2.0.php. + * + * You may elect to redistribute this code under either of these licenses. + * + * Contributors: + * + * Otavio Santana + * + */ +package org.eclipse.jnosql.communication.reader; + +import static org.junit.jupiter.api.Assertions.*; + +class UUIDValueReaderTest { + +} From 0def5084b01b8fa345832ac100f3eddc67b68618 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:47:02 +0000 Subject: [PATCH 09/13] test: create uuid scenario Signed-off-by: Otavio Santana --- .../reader/UUIDValueReaderTest.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java index 2b166c60b..a646d11e8 100644 --- a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java +++ b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java @@ -16,8 +16,49 @@ */ package org.eclipse.jnosql.communication.reader; +import org.junit.jupiter.api.Test; + +import java.util.UUID; + import static org.junit.jupiter.api.Assertions.*; class UUIDValueReaderTest { + private final UUIDValueReader valueReader = new UUIDValueReader(); + + @Test + void shouldReadUUIDFromUUIDInstance() { + UUID uuid = UUID.randomUUID(); + UUID result = valueReader.read(UUID.class, uuid); + assertEquals(uuid, result); + } + + @Test + void shouldReadUUIDFromString() { + UUID uuid = UUID.randomUUID(); + UUID result = valueReader.read(UUID.class, uuid.toString()); + assertEquals(uuid, result); + } + + @Test + void shouldReturnNullForInvalidString() { + String invalidUUID = "invalid-uuid"; + assertThrows(IllegalArgumentException.class, () -> valueReader.read(UUID.class, invalidUUID)); + } + + @Test + void shouldReturnNullForUnsupportedType() { + Integer unsupportedValue = 42; + UUID result = valueReader.read(UUID.class, unsupportedValue); + assertNull(result); + } + + @Test + void shouldTestUUIDType() { + assertTrue(valueReader.test(UUID.class)); + } + @Test + void shouldNotTestNonUUIDType() { + assertFalse(valueReader.test(String.class)); + } } From aad11cae86d103950000c11b4268c26c0f73dd17 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:48:51 +0000 Subject: [PATCH 10/13] feat: create exception when the uuid is not a valid format Signed-off-by: Otavio Santana --- .../jnosql/communication/reader/UUIDValueReader.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java index 94c231022..004de01b3 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java @@ -16,6 +16,7 @@ */ package org.eclipse.jnosql.communication.reader; +import org.eclipse.jnosql.communication.CommunicationException; import org.eclipse.jnosql.communication.ValueReader; import java.util.UUID; @@ -29,11 +30,19 @@ public T read(Class type, Object value) { return (T) value; } if (value instanceof CharSequence) { - return (T) UUID.fromString((String) value); + return (T) getUuid(value); } return null; } + private static UUID getUuid(Object value) { + try { + return UUID.fromString(value.toString()); + } catch (IllegalArgumentException exp) { + throw new CommunicationException("There is an error to convert to UUID, because the value is not UUID format: " + value); + } + } + @Override public boolean test(Class type) { return UUID.class.equals(type); From 70c023bf01027cabd024fe77b0e01a30fc7b5d9b Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 15:49:12 +0000 Subject: [PATCH 11/13] test: update test scenario using the proper exception at uuid Signed-off-by: Otavio Santana --- .../jnosql/communication/reader/UUIDValueReaderTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java index a646d11e8..322312e11 100644 --- a/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java +++ b/jnosql-communication/jnosql-communication-core/src/test/java/org/eclipse/jnosql/communication/reader/UUIDValueReaderTest.java @@ -16,6 +16,7 @@ */ package org.eclipse.jnosql.communication.reader; +import org.eclipse.jnosql.communication.CommunicationException; import org.junit.jupiter.api.Test; import java.util.UUID; @@ -42,7 +43,7 @@ void shouldReadUUIDFromString() { @Test void shouldReturnNullForInvalidString() { String invalidUUID = "invalid-uuid"; - assertThrows(IllegalArgumentException.class, () -> valueReader.read(UUID.class, invalidUUID)); + assertThrows(CommunicationException.class, () -> valueReader.read(UUID.class, invalidUUID)); } @Test From 709ebb041dc13f60abe3a3e74d2e46aaae8304af Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 16:03:27 +0000 Subject: [PATCH 12/13] feat: keep the execption at the UUID value reader Signed-off-by: Otavio Santana --- .../eclipse/jnosql/communication/reader/UUIDValueReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java index 004de01b3..c0ed28e03 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java +++ b/jnosql-communication/jnosql-communication-core/src/main/java/org/eclipse/jnosql/communication/reader/UUIDValueReader.java @@ -39,7 +39,7 @@ private static UUID getUuid(Object value) { try { return UUID.fromString(value.toString()); } catch (IllegalArgumentException exp) { - throw new CommunicationException("There is an error to convert to UUID, because the value is not UUID format: " + value); + throw new CommunicationException("There is an error to convert to UUID, because the value is not UUID format: " + value, exp); } } From 00b95f6cfbfee739586fc75cd5bc2b3a04c00cb7 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 15 Dec 2024 16:04:35 +0000 Subject: [PATCH 13/13] chore: include uuid value reader Signed-off-by: Otavio Santana --- .../services/org.eclipse.jnosql.communication.ValueReader | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jnosql-communication/jnosql-communication-core/src/main/resources/META-INF/services/org.eclipse.jnosql.communication.ValueReader b/jnosql-communication/jnosql-communication-core/src/main/resources/META-INF/services/org.eclipse.jnosql.communication.ValueReader index 064ca188e..96da0208d 100644 --- a/jnosql-communication/jnosql-communication-core/src/main/resources/META-INF/services/org.eclipse.jnosql.communication.ValueReader +++ b/jnosql-communication/jnosql-communication-core/src/main/resources/META-INF/services/org.eclipse.jnosql.communication.ValueReader @@ -23,4 +23,5 @@ org.eclipse.jnosql.communication.reader.YearReader org.eclipse.jnosql.communication.reader.ZonedDateTimeReader org.eclipse.jnosql.communication.reader.LocalTimeReader org.eclipse.jnosql.communication.reader.OffsetDateTimeReader -org.eclipse.jnosql.communication.reader.OffsetTimeReader \ No newline at end of file +org.eclipse.jnosql.communication.reader.OffsetTimeReader +org.eclipse.jnosql.communication.reader.UUIDValueReader