From 85ec7f577fd891af85b6ce44d123f4d5fe234624 Mon Sep 17 00:00:00 2001 From: Jaime Polidura Date: Wed, 14 Jun 2023 13:21:05 +0200 Subject: [PATCH] Added custom serialization --- .idea/inspectionProfiles/Project_Default.xml | 14 ++++++++ pom.xml | 2 +- .../DefaultDatabaseTypeMapper.java | 29 ----------------- .../es/jaimetruman/MySQLQueryBuilder.java | 28 ++++++++++++---- .../_shared/DatabaseTypeSerializerMapper.java | 30 ++++++++++++++++++ .../serializers/BooleanSerialzier.java | 10 ++++++ .../serializers/CollectionSerializer.java | 17 ++++++++++ .../_shared/serializers/EnumSerializer.java | 10 ++++++ .../serializers/LocalDateTimeSerializer.java | 15 +++++++++ .../_shared/serializers/StringSerializer.java | 10 ++++++ .../_shared/serializers/UUIDSerializer.java | 12 +++++++ .../delete/DeleteOptionsCompare.java | 10 +++--- .../jaimetruman/insert/InsertOptionFinal.java | 2 +- .../select/SelectOptionCompare.java | 10 +++--- .../update/UpdateOptionCompare.java | 10 +++--- .../jaimetruman/update/UpdateOptionFull1.java | 2 +- .../update/UpdateOptionInitial.java | 2 +- .../serializers/CollectionSerializerTest.java | 29 +++++++++++++++++ .../serializers/EnumSerialzierTest.java | 17 ++++++++++ .../es/jaimetruman/delete/DeleteTest.java | 2 +- .../es/jaimetruman/insert/InsertTest.java | 1 - .../DefaultDatabaseTypeMapper.class | Bin 1302 -> 0 bytes .../es/jaimetruman/MySQLQueryBuilder.class | Bin 808 -> 1892 bytes .../DatabaseTypeSerializerMapper.class | Bin 0 -> 1829 bytes .../serializers/BooleanSerialzier.class | Bin 0 -> 913 bytes .../serializers/CollectionSerializer.class | Bin 0 -> 1358 bytes .../_shared/serializers/EnumSerializer.class | Bin 0 -> 969 bytes .../serializers/LocalDateTimeSerializer.class | Bin 0 -> 1182 bytes .../serializers/StringSerializer.class | Bin 0 -> 909 bytes .../_shared/serializers/UUIDSerializer.class | Bin 0 -> 967 bytes .../delete/DeleteOptionsCompare.class | Bin 1882 -> 1888 bytes .../insert/InsertOptionFinal.class | Bin 2321 -> 2341 bytes .../select/SelectOptionCompare.class | Bin 1851 -> 1857 bytes .../update/UpdateOptionCompare.class | Bin 1869 -> 1875 bytes .../update/UpdateOptionFull1.class | Bin 1602 -> 1616 bytes .../update/UpdateOptionInitial.class | Bin 1296 -> 1310 bytes ...alizerTest$ColletionSerializerObject.class | Bin 0 -> 852 bytes .../CollectionSerializerTest.class | Bin 0 -> 1290 bytes .../EnumSerialzierTest$EjemploEnum.class | Bin 0 -> 1377 bytes .../serializers/EnumSerialzierTest.class | Bin 0 -> 1003 bytes .../es/jaimetruman/delete/DeleteTest.class | Bin 1165 -> 1165 bytes 41 files changed, 206 insertions(+), 56 deletions(-) delete mode 100644 src/main/java/es/jaimetruman/DefaultDatabaseTypeMapper.java create mode 100644 src/main/java/es/jaimetruman/_shared/DatabaseTypeSerializerMapper.java create mode 100644 src/main/java/es/jaimetruman/_shared/serializers/BooleanSerialzier.java create mode 100644 src/main/java/es/jaimetruman/_shared/serializers/CollectionSerializer.java create mode 100644 src/main/java/es/jaimetruman/_shared/serializers/EnumSerializer.java create mode 100644 src/main/java/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.java create mode 100644 src/main/java/es/jaimetruman/_shared/serializers/StringSerializer.java create mode 100644 src/main/java/es/jaimetruman/_shared/serializers/UUIDSerializer.java create mode 100644 src/test/java/es/jaimetruman/_shared/serializers/CollectionSerializerTest.java create mode 100644 src/test/java/es/jaimetruman/_shared/serializers/EnumSerialzierTest.java delete mode 100644 target/classes/es/jaimetruman/DefaultDatabaseTypeMapper.class create mode 100644 target/classes/es/jaimetruman/_shared/DatabaseTypeSerializerMapper.class create mode 100644 target/classes/es/jaimetruman/_shared/serializers/BooleanSerialzier.class create mode 100644 target/classes/es/jaimetruman/_shared/serializers/CollectionSerializer.class create mode 100644 target/classes/es/jaimetruman/_shared/serializers/EnumSerializer.class create mode 100644 target/classes/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.class create mode 100644 target/classes/es/jaimetruman/_shared/serializers/StringSerializer.class create mode 100644 target/classes/es/jaimetruman/_shared/serializers/UUIDSerializer.class create mode 100644 target/test-classes/es/jaimetruman/_shared/serializers/CollectionSerializerTest$ColletionSerializerObject.class create mode 100644 target/test-classes/es/jaimetruman/_shared/serializers/CollectionSerializerTest.class create mode 100644 target/test-classes/es/jaimetruman/_shared/serializers/EnumSerialzierTest$EjemploEnum.class create mode 100644 target/test-classes/es/jaimetruman/_shared/serializers/EnumSerialzierTest.class diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 11b2bb4..9123b34 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -2,11 +2,25 @@ \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8a19dfd..21886f2 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ com.github.JaimeTruman Java-DDD - 1.1.12 + 1.1.15 diff --git a/src/main/java/es/jaimetruman/DefaultDatabaseTypeMapper.java b/src/main/java/es/jaimetruman/DefaultDatabaseTypeMapper.java deleted file mode 100644 index c17e44e..0000000 --- a/src/main/java/es/jaimetruman/DefaultDatabaseTypeMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package es.jaimetruman; - -import es.jaime.javaddd.domain.database.DatabaseTypeMapper; - -import java.util.Collection; -import java.util.UUID; - -public final class DefaultDatabaseTypeMapper implements DatabaseTypeMapper { - @Override - public String map(T value) { - String formatted; - - if(value == null){ - return "null"; - }else if(value instanceof String || value instanceof UUID){ - formatted = "'" + value.toString() + "'"; - }else if (value instanceof Boolean) { - formatted = (Boolean) value ? "1" : "0"; - }else if(value instanceof Enum){ - formatted = "'" + value.toString()+ "'"; - }else if(value instanceof Collection){ - formatted = "'" + value.toString() + "'"; - }else{ - formatted = value.toString(); - } - - return formatted; - } -} diff --git a/src/main/java/es/jaimetruman/MySQLQueryBuilder.java b/src/main/java/es/jaimetruman/MySQLQueryBuilder.java index 064d4fa..e85dfaf 100644 --- a/src/main/java/es/jaimetruman/MySQLQueryBuilder.java +++ b/src/main/java/es/jaimetruman/MySQLQueryBuilder.java @@ -1,15 +1,31 @@ package es.jaimetruman; -import es.jaime.javaddd.domain.database.DatabaseTypeMapper; +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; +import es.jaimetruman._shared.DatabaseTypeSerializerMapper; +import es.jaimetruman._shared.serializers.*; + +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.UUID; public final class MySQLQueryBuilder { - private static DatabaseTypeMapper databaseTypeMapper = new DefaultDatabaseTypeMapper(); + private final static DatabaseTypeSerializerMapper DATABASE_TYPE_SERIALIZER_MAPPER; + + static { + DATABASE_TYPE_SERIALIZER_MAPPER = new DatabaseTypeSerializerMapper(); + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(Boolean.class, new BooleanSerialzier()); + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(Collection.class, new CollectionSerializer()); + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(Enum.class, new EnumSerializer()); + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer()); + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(String.class, new StringSerializer()); + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(UUID.class, new UUIDSerializer()); + } - public static void setDatabaseTypeMapper(final DatabaseTypeMapper newDatabaseTypeMapper) { - databaseTypeMapper = newDatabaseTypeMapper; + public static void addCustomSerializer(Class type, DatabaseTypeSerializer serializer) { + DATABASE_TYPE_SERIALIZER_MAPPER.addSerializer(type, serializer); } - public static DatabaseTypeMapper getDatabaseTypeMapper() { - return databaseTypeMapper; + public static DatabaseTypeSerializerMapper getDatabaseTypeSerializerMapper() { + return DATABASE_TYPE_SERIALIZER_MAPPER; } } diff --git a/src/main/java/es/jaimetruman/_shared/DatabaseTypeSerializerMapper.java b/src/main/java/es/jaimetruman/_shared/DatabaseTypeSerializerMapper.java new file mode 100644 index 0000000..ebbcea5 --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/DatabaseTypeSerializerMapper.java @@ -0,0 +1,30 @@ +package es.jaimetruman._shared; + +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public final class DatabaseTypeSerializerMapper { + private final Map, DatabaseTypeSerializer> mappings; + + public DatabaseTypeSerializerMapper() { + this.mappings = new ConcurrentHashMap<>(); + } + + public void addSerializer(Class type, DatabaseTypeSerializer serializer) { + this.mappings.put(type, serializer); + } + + public String serialize(T t) { + if(t == null){ + return ""; + } + if(!mappings.containsKey(t.getClass())){ + return t.toString(); + } + + return this.mappings.get(t.getClass()) + .serialize(t); + } +} diff --git a/src/main/java/es/jaimetruman/_shared/serializers/BooleanSerialzier.java b/src/main/java/es/jaimetruman/_shared/serializers/BooleanSerialzier.java new file mode 100644 index 0000000..46ca648 --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/serializers/BooleanSerialzier.java @@ -0,0 +1,10 @@ +package es.jaimetruman._shared.serializers; + +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; + +public final class BooleanSerialzier implements DatabaseTypeSerializer { + @Override + public String serialize(Boolean bool) { + return bool == Boolean.TRUE ? "1" : "0"; + } +} diff --git a/src/main/java/es/jaimetruman/_shared/serializers/CollectionSerializer.java b/src/main/java/es/jaimetruman/_shared/serializers/CollectionSerializer.java new file mode 100644 index 0000000..dda7ab8 --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/serializers/CollectionSerializer.java @@ -0,0 +1,17 @@ +package es.jaimetruman._shared.serializers; + +import com.fasterxml.jackson.databind.ObjectMapper; +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; +import lombok.SneakyThrows; + +import java.util.Collection; + +public final class CollectionSerializer implements DatabaseTypeSerializer { + private final ObjectMapper objectMapper = new ObjectMapper(); + + @Override + @SneakyThrows + public String serialize(Collection objects) { + return String.format("'%s'", objectMapper.writeValueAsString(objects)); + } +} diff --git a/src/main/java/es/jaimetruman/_shared/serializers/EnumSerializer.java b/src/main/java/es/jaimetruman/_shared/serializers/EnumSerializer.java new file mode 100644 index 0000000..caa0db3 --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/serializers/EnumSerializer.java @@ -0,0 +1,10 @@ +package es.jaimetruman._shared.serializers; + +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; + +public final class EnumSerializer implements DatabaseTypeSerializer { + @Override + public String serialize(Enum anEnum) { + return String.format("'%s'", anEnum.toString()); + } +} diff --git a/src/main/java/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.java b/src/main/java/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.java new file mode 100644 index 0000000..cb5f048 --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.java @@ -0,0 +1,15 @@ +package es.jaimetruman._shared.serializers; + +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +public final class LocalDateTimeSerializer implements DatabaseTypeSerializer { + private DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @Override + public String serialize(LocalDateTime localDateTime) { + return localDateTime.format(formatter); + } +} diff --git a/src/main/java/es/jaimetruman/_shared/serializers/StringSerializer.java b/src/main/java/es/jaimetruman/_shared/serializers/StringSerializer.java new file mode 100644 index 0000000..a0f058c --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/serializers/StringSerializer.java @@ -0,0 +1,10 @@ +package es.jaimetruman._shared.serializers; + +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; + +public final class StringSerializer implements DatabaseTypeSerializer { + @Override + public String serialize(String s) { + return String.format("'%s'", s); + } +} diff --git a/src/main/java/es/jaimetruman/_shared/serializers/UUIDSerializer.java b/src/main/java/es/jaimetruman/_shared/serializers/UUIDSerializer.java new file mode 100644 index 0000000..f66dbdd --- /dev/null +++ b/src/main/java/es/jaimetruman/_shared/serializers/UUIDSerializer.java @@ -0,0 +1,12 @@ +package es.jaimetruman._shared.serializers; + +import es.jaime.javaddd.domain.database.DatabaseTypeSerializer; + +import java.util.UUID; + +public final class UUIDSerializer implements DatabaseTypeSerializer { + @Override + public String serialize(UUID uuid) { + return String.format("'%s'", uuid.toString()); + } +} diff --git a/src/main/java/es/jaimetruman/delete/DeleteOptionsCompare.java b/src/main/java/es/jaimetruman/delete/DeleteOptionsCompare.java index e8e3508..ec6595b 100644 --- a/src/main/java/es/jaimetruman/delete/DeleteOptionsCompare.java +++ b/src/main/java/es/jaimetruman/delete/DeleteOptionsCompare.java @@ -13,22 +13,22 @@ public DeleteOptionsCompare(String query, String... toAppend) { } public DeleteOptionsFull equal (Object value) { - return new DeleteOptionsFull(builder.toString(), "= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new DeleteOptionsFull(builder.toString(), "= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public DeleteOptionsFull bigger(Object value) { - return new DeleteOptionsFull(builder.toString(), "> ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new DeleteOptionsFull(builder.toString(), "> ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public DeleteOptionsFull smaller(Object value) { - return new DeleteOptionsFull(builder.toString(), "< ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new DeleteOptionsFull(builder.toString(), "< ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public DeleteOptionsFull smallerOrEqual (Object value) { - return new DeleteOptionsFull(builder.toString(), "<= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new DeleteOptionsFull(builder.toString(), "<= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public DeleteOptionsFull biggerOrEqual(Object value) { - return new DeleteOptionsFull(builder.toString(), ">= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new DeleteOptionsFull(builder.toString(), ">= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } } diff --git a/src/main/java/es/jaimetruman/insert/InsertOptionFinal.java b/src/main/java/es/jaimetruman/insert/InsertOptionFinal.java index 6e3c8b7..edfde57 100644 --- a/src/main/java/es/jaimetruman/insert/InsertOptionFinal.java +++ b/src/main/java/es/jaimetruman/insert/InsertOptionFinal.java @@ -18,7 +18,7 @@ public String values (Object... values) { StringBuilder newStringBuilder = new StringBuilder(this.builder); newStringBuilder.append(Stream.of(values) - .map(value -> MySQLQueryBuilder.getDatabaseTypeMapper().map(value)) + .map(value -> MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)) .collect(Collectors.joining(", "))) .append(")"); diff --git a/src/main/java/es/jaimetruman/select/SelectOptionCompare.java b/src/main/java/es/jaimetruman/select/SelectOptionCompare.java index bd5b7cb..7d42656 100644 --- a/src/main/java/es/jaimetruman/select/SelectOptionCompare.java +++ b/src/main/java/es/jaimetruman/select/SelectOptionCompare.java @@ -13,22 +13,22 @@ public SelectOptionCompare(String query, String... toAppend) { } public SelectOptionFull equal (Object value) { - return new SelectOptionFull(builder.toString(), "= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new SelectOptionFull(builder.toString(), "= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public SelectOptionFull bigger(Object value) { - return new SelectOptionFull(builder.toString(), "> ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new SelectOptionFull(builder.toString(), "> ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public SelectOptionFull smaller(Object value) { - return new SelectOptionFull(builder.toString(), "< ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new SelectOptionFull(builder.toString(), "< ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public SelectOptionFull smallerOrEqual (Object value) { - return new SelectOptionFull(builder.toString(), "<= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new SelectOptionFull(builder.toString(), "<= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public SelectOptionFull biggerOrEqual(Object value) { - return new SelectOptionFull(builder.toString(), ">= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new SelectOptionFull(builder.toString(), ">= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } } diff --git a/src/main/java/es/jaimetruman/update/UpdateOptionCompare.java b/src/main/java/es/jaimetruman/update/UpdateOptionCompare.java index 28ae537..fe9df5b 100644 --- a/src/main/java/es/jaimetruman/update/UpdateOptionCompare.java +++ b/src/main/java/es/jaimetruman/update/UpdateOptionCompare.java @@ -14,23 +14,23 @@ public UpdateOptionCompare(String string, String... toAppend) { } public UpdateOptionFull2 equal (Object value) { - return new UpdateOptionFull2(builder.toString(), "= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value), " "); + return new UpdateOptionFull2(builder.toString(), "= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value), " "); } public UpdateOptionFull2 bigger(Object value) { - return new UpdateOptionFull2(builder.toString(), "> ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value)); + return new UpdateOptionFull2(builder.toString(), "> ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)); } public UpdateOptionFull2 smaller(Object value) { - return new UpdateOptionFull2(builder.toString(), "< ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value)); + return new UpdateOptionFull2(builder.toString(), "< ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)); } public UpdateOptionFull2 smallerOrEqual (Object value) { - return new UpdateOptionFull2(builder.toString(), "<= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value)); + return new UpdateOptionFull2(builder.toString(), "<= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)); } public UpdateOptionFull2 biggerOrEqual(Object value) { - return new UpdateOptionFull2(builder.toString(), ">= ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value)); + return new UpdateOptionFull2(builder.toString(), ">= ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)); } } diff --git a/src/main/java/es/jaimetruman/update/UpdateOptionFull1.java b/src/main/java/es/jaimetruman/update/UpdateOptionFull1.java index 4e6e912..81718ae 100644 --- a/src/main/java/es/jaimetruman/update/UpdateOptionFull1.java +++ b/src/main/java/es/jaimetruman/update/UpdateOptionFull1.java @@ -13,7 +13,7 @@ public UpdateOptionFull1(String string, String... toAppend) { } public UpdateOptionFull1 andSet (String field, Object value) { - return new UpdateOptionFull1(builder.toString(), ", ", field, " = ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value)); + return new UpdateOptionFull1(builder.toString(), ", ", field, " = ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)); } public UpdateOptionCompare where (String value) { diff --git a/src/main/java/es/jaimetruman/update/UpdateOptionInitial.java b/src/main/java/es/jaimetruman/update/UpdateOptionInitial.java index 39dc62d..0e38e46 100644 --- a/src/main/java/es/jaimetruman/update/UpdateOptionInitial.java +++ b/src/main/java/es/jaimetruman/update/UpdateOptionInitial.java @@ -13,6 +13,6 @@ public UpdateOptionInitial (String table) { } public UpdateOptionFull1 set (String field, Object value) { - return new UpdateOptionFull1(builder.toString(), "SET ", field, " = ", MySQLQueryBuilder.getDatabaseTypeMapper().map(value)); + return new UpdateOptionFull1(builder.toString(), "SET ", field, " = ", MySQLQueryBuilder.getDatabaseTypeSerializerMapper().serialize(value)); } } diff --git a/src/test/java/es/jaimetruman/_shared/serializers/CollectionSerializerTest.java b/src/test/java/es/jaimetruman/_shared/serializers/CollectionSerializerTest.java new file mode 100644 index 0000000..3c955c2 --- /dev/null +++ b/src/test/java/es/jaimetruman/_shared/serializers/CollectionSerializerTest.java @@ -0,0 +1,29 @@ +package es.jaimetruman._shared.serializers; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Arrays; +import java.util.List; + +public final class CollectionSerializerTest { + @Test + public void collectionSerializer() { + CollectionSerializer collectionSerializer = new CollectionSerializer(); + + String serialized = collectionSerializer.serialize(Arrays.asList( + new ColletionSerializerObject("jaime", 3), + new ColletionSerializerObject("pedro", 12) + )); + + Assert.assertEquals("'[{\"nombre\":\"jaime\",\"puntos\":3.0},{\"nombre\":\"pedro\",\"puntos\":12.0}]'", serialized); + } + + @AllArgsConstructor + public static class ColletionSerializerObject { + @Getter private String nombre; + @Getter private double puntos; + } +} diff --git a/src/test/java/es/jaimetruman/_shared/serializers/EnumSerialzierTest.java b/src/test/java/es/jaimetruman/_shared/serializers/EnumSerialzierTest.java new file mode 100644 index 0000000..2a876cf --- /dev/null +++ b/src/test/java/es/jaimetruman/_shared/serializers/EnumSerialzierTest.java @@ -0,0 +1,17 @@ +package es.jaimetruman._shared.serializers; + +import org.junit.Assert; +import org.junit.Test; + +public final class EnumSerialzierTest { + @Test + public void enumSerializer() { + EnumSerializer enumSerializer = new EnumSerializer(); + + Assert.assertEquals("'VALOR1'", enumSerializer.serialize(EjemploEnum.VALOR1));; + } + + public enum EjemploEnum { + VALOR1, VALOR2 + } +} diff --git a/src/test/java/es/jaimetruman/delete/DeleteTest.java b/src/test/java/es/jaimetruman/delete/DeleteTest.java index bf72c56..4d15d4b 100644 --- a/src/test/java/es/jaimetruman/delete/DeleteTest.java +++ b/src/test/java/es/jaimetruman/delete/DeleteTest.java @@ -10,6 +10,6 @@ public void deleteTest() { .where("nombre").equal("jaimetruman") .build(); - Assert.assertEquals(query, "DELETE FROM jugadores WHERE nombre = 'jaimetruman' "); + Assert.assertEquals("DELETE FROM jugadores WHERE nombre = 'jaimetruman' ", query); } } diff --git a/src/test/java/es/jaimetruman/insert/InsertTest.java b/src/test/java/es/jaimetruman/insert/InsertTest.java index bf9def7..050a99e 100644 --- a/src/test/java/es/jaimetruman/insert/InsertTest.java +++ b/src/test/java/es/jaimetruman/insert/InsertTest.java @@ -12,5 +12,4 @@ public void testInsert () { Assert.assertEquals(query, "INSERT INTO jugadores (nombre, dinero) VALUES ('JaimeTruman', 10)"); } - } diff --git a/target/classes/es/jaimetruman/DefaultDatabaseTypeMapper.class b/target/classes/es/jaimetruman/DefaultDatabaseTypeMapper.class deleted file mode 100644 index 5068e2d2df06f7b300c9cd60ebc07192326ee6a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmah}+fUPA6#sp0quuPdl&hksC@>gMZr&JT1T>m#YO;aRC%>%)i(R{P?GhjSLuPy- zKJbb!Bhkd@lZk(mF`jQNH;3V+=k%Q4x&2O0fBpIL4Zs5KCvXlC2~hOO zq5mjxfL!rSOE=sEl8DIYVqjxJ?^e)*UaHC~6~opUrc&8|Lo?$orZ8JZjMJ}R02df! z&k0H~^rTut2%AK|gi8!vM-^5a$1=E`z#xVcT)|Zar5M;YxaAv78eYj5riN!_+#oR{ zVf0|=CUXyMzbqj|Wsithbu5eMG#y*Q1VhTGYTMi_8=mWzxvi}ko7}g&HSX~uuNsAS z6(c7Ya3xGK%pagBrp9$$*L0`MOYg%=5>bE0n+Qw7ATr}JQFIr?#vrdUy z8{9R;duWV$Z_FygME0Q8S)FBwiZZV-j2_=m@YS5MA%e#@9kJ1ABcZIg2eechQA{DavvRPX9H@wfj$yVy@89lT~r7) zSjRy6I|duLT!*Y)+eJ*hPQC*9M$XJIO{lRmQL-qVo7|%|qY$Ib(LkWHilQA7I?#(w z`pI-50~OEFjTdy>HL|`(A3oBR?$DVD8XgmRmd0JcO&U9Qs8tWO`k_XYgmek*7H$)5 tI}{bf-l1#(sls=ce2Zl1MqEk`^*)dgkBp4`MwAq4N-S)NAorTu@?Vr8G3WpQ diff --git a/target/classes/es/jaimetruman/MySQLQueryBuilder.class b/target/classes/es/jaimetruman/MySQLQueryBuilder.class index 4efbc9ec292e0963435e47144be3a4d95bf0d8bd..5db84bd562c0dbb482c9f47bb71ee4af71508590 100644 GIT binary patch literal 1892 zcmbtVYflqF6g|@dOKW*Uk(VHfwxFyCh|pRsr6eRpfff=>3>nx7EZOdoeUQLE@n85z zB(aG*?ws8_=bU@@&h5`%-+us@!)h1-1Qj$z(2N#_&SQScRfC&{ z>bw18ao{qvBz04FQw+gad?$ofgcO7$xPu78m~hl%t`~)Cdqr-l>u34R+@>e&vt>^= zG+{H0uA~d;<#ax~SJ>Ui?&Y&vYw6tD`|Q@P9C2G{>I!%HK6gan z>_p^+t#d;^7xp?oIT3aujCOP==!~EX-3+t0;9zLunpR_GSdZmu1;`lOaS~N?l;|mi zYpP}yxo)bO@9qYhiTIARNVV-_=&G?UTb3cXsi2=>?grCNHCadX<0~%Dbzz4Qm8^pd zy=7L<)eSXc83uhV-6G;)hJ^-*Yg=j+2xCZck218^9A{0hsNg=sOarVkxSnrJ@;zke zFY~$7Dr(L;;0AqLQ6Qw?5yMgg#Fuu}D@;g*_@&m(yS8o~Dww*tFPyp(SHkN#Cne|f zpDL6qyuH1)qTpF$Rgl5;d@6zrO&LoQ3>`V$6mPxazOV~?-=HVm<=l2SbvR-FVUv5L zI}GF1{=4ajB^Y|BFEgIwT6Lu-J(tc6_1?9XW(e2PXIQLC{A-IdL@!$>LEnD=Rn_EF zp^!+C+0y3-HPM>pI9;C;Qt8g< z-aL5$_L&v|%+gi925p$5Yoro@dAuML!UDP}N^bsuV3|Dh1_K`A`KT$&a?ge_jLZLm~y(L5m-X*sZ4wNuNaKwlAN*E(J?!yNqOb~qR!&nKE w1fTfuX$dO98G$Cc@SPalfD0R=MiYn&C9Xh2FeEN7^s1MXLQ1RQuY4>_H1Pxc zDC1l#NCGZ&Gmq0bb7ngC!DB@jWBVYbQdxM_3e#=NLEMZ;r=7NjG+ zV}@`xSBqf^F&#z%aU>WvMAvL`*%F@Xx42`Ld(}#*;tRKT;!E2SEcYL`b(@e>somgqjk{9i0jPPmvdgeJobR{A@(k&&m>|n=lpV7FvR$r5Egf+` zz6s$slcf%`xqoRfOcfe-a95++_T7d!lj^Tz#!k4SE`(h=e2AV5gP~4Okw!7S8M3pK zndBMy$o31^BLyMMkyW1wM2c)8i083DSqy1p2vOuc^55iV=s#rjHdUcUnxhRC`}#2~ uVL529)~C};jBfk)^dNAThD%hc+1fpn0?t7-*+tIwirMqJIJt zg`kP?n~6WlcxIs#3K}p?X5PE=?m6c!@AlX4uipXO$5IGB_=5;2xP&Hw_6@l$)uJ@k z)R(IpTHX?9O6i7fr3L(v=t>aH0;A5Ms-+jzeA&oXO;a;0b)mL=CM)a9aw~)&{4HpO z5=2`(Sgn&x)gMyM<9IcD>ZLb8Ny7&^{R_2*=UJ2nwrrk06Rxl6kNps zrL1YzLQz&Ir7KeJ;TRn`*AxulxrrIVQp3QeYy0)d5cfjn&)-OyfC zORJihldDBqIy2?GEUrkl7WbYpV6E#cDWFw=O{tOCpR<#79J%~b8?)%C|$|}FjBd>I&^o?B-0Jq z^BDh+&Q7G@UFmFOxeH_0OWlu%EC%E%Lg`aEAVLtEDGVknx_Sil|>>Glw_tEkNp-;}~Nj@+01c(-Z zLYy$}ai`FmK1gu9+Z>l=j z=!R*`IN)K-Vve9mp6Yc%vA?Bi-yYKDhLom_qr(&Mk#9TjMEob3I(v5=9ee0Mz@QHw z&>Y{xaGmj%4?hrzA0Xz#F5Lo-%pv}*fYUyJ9&GAlNHR#-1CDf8RH7z5fk${u cDYjrYKepuwE%OepFWBt~UZ8D}HXok;0bX$1H~;_u literal 0 HcmV?d00001 diff --git a/target/classes/es/jaimetruman/_shared/serializers/BooleanSerialzier.class b/target/classes/es/jaimetruman/_shared/serializers/BooleanSerialzier.class new file mode 100644 index 0000000000000000000000000000000000000000..c1dfe84d451f151b84b806b17eaee9d7db666d43 GIT binary patch literal 913 zcmb7COK;Oa5dOwVYCE_jO(DEr1^SdQ6%`y@RVuGjCUM5E=*f&KwTXZj-=oz^D~)haMX4%01CQNZvgT+g9zaJCN3+SGBgy~*fvCHjLB-CSPz Z3F9kfGTi@_XO_4cZs%Eda5wk!e*nLr+8+P_ literal 0 HcmV?d00001 diff --git a/target/classes/es/jaimetruman/_shared/serializers/CollectionSerializer.class b/target/classes/es/jaimetruman/_shared/serializers/CollectionSerializer.class new file mode 100644 index 0000000000000000000000000000000000000000..afa0bf25658a496c73d9e7fccf9af1bb6a7e81a9 GIT binary patch literal 1358 zcmbVMTTc@~7(LTgmM)9bauK{lRIV+sA}V4D2|;}-nph+uKA7q500Vnz_QJ(qg^7aE zczO0m8Nc1G?b7gq4?DO0<~wJ;b7p@3`T7IEBRo@)K~_Od!xeNf6!!Q5*Ddbs=&$R0 z!U!0;mZc+u6^888^rnJthO*(>`Zo6i;T_qQzQ>Jy-*t482fQvFGugS$8x7&9P>{`| z2bzLj4Oh{}uqb@mByACRq0Jrry}!#nVd}o{B)8-T;raTSYgq&@U8mMsWzgK1R5LZh zZ1oaMD&4rokeeL$CnHk*8U`@PP(1WxAU3%bidDZBc+%Nnn3$?|7NRnpT585sR9wff zf)NcjaPwU8{w3<#c0HR@6_?T(lkM+P8JpF<2t>hchW<94ja|<@+0@F>)A4E2W7_ zf=+6f!Zbs^B^yI2LFouT2a_CLK{@3F^1}f)O;a~ro6E#Y+!y-u$W%1gIBtlv6LM>= zDH!^y(h;vhyDq$qs3xRm)it=a$;nDIPZo2*uJlQS>VG<~Lhc_EM+}20$=X$9P@2Xh zjG<;kX9Y-~T0j?ttebGk*W`}FgU}<=Mk;OMgcj9HmS*{4{1rNaT606s5HDp^r;&?p z*jyw7=1JWQNKN{R(UqmAB1>a>A*h|9*-AVI3Z*l!(l;nuXUKns`jP%+FiUOpt^j%D zXf#J7jdoHzbUdJ*Mb=4jIg~X^Ys1At?mIGD+0rMd=EUodpCKJzo)Np}^uDDE*u z5{tJA&DuD9^tU(08KsyZ!k)*&n89#@Ncpiq4<0M5682z%y+AQB&rjW^piMrXq{`q)9JPq2aliBzUFu@{ literal 0 HcmV?d00001 diff --git a/target/classes/es/jaimetruman/_shared/serializers/EnumSerializer.class b/target/classes/es/jaimetruman/_shared/serializers/EnumSerializer.class new file mode 100644 index 0000000000000000000000000000000000000000..77f797baeff1cd6da32d1bd7bea333a3435d6dec GIT binary patch literal 969 zcmb7CTWb?R6#izj%_i&GrfIErTeWSH792_ik(7dHeG2-JQV=OJ$&TrS?5^ykpub9A zstAhD{wVRxW|NFsL0`^o&iT%F&YbT*K7R#pA1xOaN)Bufb0{;^hT>H4kq8I;d2cBD zDMNWrg(}@=C^cJ06;v4P#zxX`;o^b=&%;H`GtAEl55g>9sH9Ohja4{cSZ=mDv*&TN z?V^T72XzliSpKE)q^$fpiUUCm9yb3he`$oqOxx!+S;1uoS3F$BHHICT@S#wFOyevN zA%B&eh*i=dsJsDxp+GwJuw zleOt*ML7Penz77$EQU>U)W0v7_S02^P^4K*6psy@qGn3$KNqoQK;@M7iLl#^vbZmw zD!q>-9iDCOo?bL|utEpTaGkEZM4FD8m%3)GA!I8sh=r`Rgzv|ui-X% zOy3MiU3@?p7U{*hV}F75qO^TRgMY%pdkUIBl^jTOpk$1Jv~>q}!D^2Pa=n1ur5v4A b-P-;J_Y9YQhcY=;3n&X4dBaUKa^3t1dU)?$ literal 0 HcmV?d00001 diff --git a/target/classes/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.class b/target/classes/es/jaimetruman/_shared/serializers/LocalDateTimeSerializer.class new file mode 100644 index 0000000000000000000000000000000000000000..96b8f92d095a4667e77e58ddba1ec1bc17ccc72e GIT binary patch literal 1182 zcmb7D?{Csj6g>}crL`N#lsTO`=bTW)#%Q7eTw*lKJ}@hiX&+1GU!{po z;|Jqs|0v__51<%b90~2a@7Xl)%*`=(hvw_v zNc1JcQp`Oe>yCd2YL-7bdpRAUzFW!OniQ9QtZbAcS}*h81giBH-GsmV*enJGS}L#=;m z+oejhjyLi9V$Tj8+gQ*(H~B%>6Fj7DXTWfa{+V#H>9%HRO_!9Ow<&5x=fH~b1Mv7&OEzA@LHQHu_LPVt62Dx5F}MquqijWzcv2m%?zA?Zj4lv0}#B|j90&2L{-S(+(d6>irQ5R7g7ySlNv{(r~3AYXSQN(Y7~+$k{? zn9*EU+{1c_s(8;0p4au`f$6A^I$Ox?@#lJx?HVun-7RpLKWT+M|4p{D97*KZ@FCH_5c6? literal 0 HcmV?d00001 diff --git a/target/classes/es/jaimetruman/_shared/serializers/UUIDSerializer.class b/target/classes/es/jaimetruman/_shared/serializers/UUIDSerializer.class new file mode 100644 index 0000000000000000000000000000000000000000..114f9ee62939807aa6f65977ecc182fa8e51d978 GIT binary patch literal 967 zcmb7CZEF)j5PtS@%_ZmArfIG3FV(h5T5u^9L{bW36@;K4(iTLDY;tS5;a=ok3i_+` zOBF%!vp-6lyVwPbxD@+sR@%{bhy9|{i>?V;41`LbM zR%ePk%C>FPFmIvmU;&GNG#;0g--eMdh{2=g+49$g)QD;O+$Kx7Y~hN7tGLFnDPukq z%9lx$`Xb)H`8ccn5;0Qk*Bvt;T}hvZ-$OwanPW60I}Cb=vI`d0J_*H!0%e8Tpy@&tRYEVBi*6eGOQ+P1YGb zz#S}8#Pr6H)x}Q<$RIyox6E%aUX?aZXz(wX`$)+mkevZ(4)iz&(xJbSAH7lQb4!a0H5pL1Y-57@UDTpc)1*25$yNAoOAI1d{eZF@*kI2>k&f z1oZo2>fg;E6REX@foB_o9NS(7rATHW%iu_s9SmyPP)ALUW#ds-$Kn`2Ov5HmV1s!^ Z6{{Y9EP8&!^+>8K5b!_%(CbVLfdJ}-WfA}Y delta 509 zcmaFBcZ+X>4pY5odTNPFVo73BVsUCnWkITMVnIP_5hH`ShNe$yv3^!!W^O8wEK5vD zNzqTq&rQtC(@%k_*T>Xo&CQ_8pvTUj&%R7Hq!C)X2mc z%fP|F#K6FyIXRwHighQ04im#<1$N0G0R~5)s2D_!!HK~c$OEck@M7?0U<5)R22UVq z4-|u&u$w_9QfmtX&o%}*w!I8Wk<3Eo!I3OG7}T`k#!mjn%A>A{#W-I~<0c!jAvwrc pf`Ehku$V9l*@Vd#*m&Hq+3k<16VofUXkJm3#%5FiFg%zT0s&CQV|)Mr diff --git a/target/classes/es/jaimetruman/insert/InsertOptionFinal.class b/target/classes/es/jaimetruman/insert/InsertOptionFinal.class index 1472130b74015e96cf490478f1328fdf62cf6ef3..de566eb9cb1ca0c8556e926429b5caa24fa79341 100644 GIT binary patch delta 617 zcmaJ-%PvDf82+ZG?a^^u(nO_^lxPGMX@V4yDC&N{-)}<)ZQ7_0?>u@E$`CK>yKq&SQNy8u;g+vFPEg5 z5}DMQG-pIUFHMH-mey%$Mbjdcl?C%OD{|32>qM9`8U4@L#}UVXjzI%MNHBE%nGyLv zgu!QhUC4gX+Sth5o0emh>l_={)Ujn?8#{MJkDIYQ5;WRZULF=4WjHXffJC*bHYRd8 zX(lqlvZSTsh@r{8^)z{PoG^q4hU|duuN?-1ALTIUdpv|a7^OL8$Mw42apEeW(X4=* zkPlUupj`kinjDjuqE#W~XSl#LW*oPzkFjz4RS!p%zQM_eed}YSnT=QKnRITE#%7h<1*bN(jq1-Idzzl z!y=WE`wT6$bwkn$Zi&Q>Bs~zOX$H;R9g#=|&742@w=wKRJ32Tzbp+7G(DVb#IVK}|-u_G;K-FJBvF7|9 zA)Nt2*@5U;_h>a9(5B$`2>u@g4da-gE*BJv?fnrlboEv%A>B%;K1MrlmW^ycrbV}Fan_$gFBG41&Sf`%|_@85Mi(f z%85Zt#G>CDQ~z!TsYtCY3|!k7WZ3pHC`2*~nFmL*>|jvQhB?NL4ZCA}Fb$hr$OiL- aDpn8pV$pL4u18W`fq)16fZk(b@CN{jm}7bX delta 530 zcmX@ex0`PRFH^l}dTNPFVo73BVsUCnWkITMVnIP_5hH`ShNe$yv3^!!W^O8wEK5vD zNzqTq&rQtC(@%k_*T>Xo&CQ_Apu^6f%fq0@pwGx)Ou!7OR4j%tGBD>R7Hr{0S0@Zs2D_!!GXaM$OEck@L=#{U<5)h26rH7 z3lxK!u$w_DQfmtX*ER+jw!I7rk<3D-!I3OG7*w?3#!kM^%HyVq#W-(bj5EhD&V!9d n9h-4Jn8r=6W<&O$3<3Z7Vw!;IKWj7xsY+vWj2|$Nm>B#4!%=2! diff --git a/target/classes/es/jaimetruman/update/UpdateOptionCompare.class b/target/classes/es/jaimetruman/update/UpdateOptionCompare.class index e63ce7db70513362a8d9f563c79ea9e67cf2920c..92e0e4a84be50c17b1c491c015d1351ff7333d06 100644 GIT binary patch delta 519 zcmX@hcbRX45mUWAgGwZ`kXmpg%MJz&?QINt!I7*&GLs*$ zicIcfaAI%<>H+Fv@M7?0U<5)R22UVq4-^Z7ny57SAgdHJP%}`Uf{PMdj}lyu zFQy(OSFl1{VTo`B*a1;&JlsfzO)g{;=0sT8%LcPjWby$v9<0{-6JxC{sXo%{{r7N!*YG9gGajxrqgvZ!Bcf}FfcJNFlg>(kc-sX z!oahQL4j>AgGwZ`kXmpg%MJz&?VSvIObo%1tU@xA1K30+&tc_J*JN;Fa0coE>SOR? z@Md5HLLUZCAZZU2i-4M`GWk5K6f0OeNarLr9yb-ZMisb5Urdcij$ws3#uC{vK+_bk s8s$ffQPyZiiA+Ah#-onSW&W7PP5#Y>^#!gbOr!}fr%jy0LJ2I82|tP diff --git a/target/classes/es/jaimetruman/update/UpdateOptionFull1.class b/target/classes/es/jaimetruman/update/UpdateOptionFull1.class index f85f09cd1966668f372de175f3a2ec2ab83c9207..2a062a0d7aa32716da63889be8855f3434bf122c 100644 GIT binary patch delta 212 zcmX@abAe|A4^y;!dTNPFVo73BVsUCnWkG6iYEfolPG(hVk#Ax_L23~rgSm#LPinD# zR$^vuYDrOPZepH(d~rr%QEG}lK8@B~lVh30%}LO~$iP_)vwibYrjtyZnG75Z%nS?+ o+LOy!m6^9O=uMu_svxS(V9($H6a|VixHC90FoIZbBJdH4^zEpdTNPFVo73BVsUCnWkITMVnIP_5hH`ShNe$yv3^!!W^O8wEK5vD zNzqTq&rQtC(@%k_*T>Xo&CQ_CV8G5`$ira7V9dy1Ou!7OR4j%tGBD>R7Hrg^ F904$zKAr#o diff --git a/target/test-classes/es/jaimetruman/_shared/serializers/CollectionSerializerTest$ColletionSerializerObject.class b/target/test-classes/es/jaimetruman/_shared/serializers/CollectionSerializerTest$ColletionSerializerObject.class new file mode 100644 index 0000000000000000000000000000000000000000..f864ae660c245a65ceb3d83cc4d278f86097e5b2 GIT binary patch literal 852 zcmcIiT~8B16g{*3SXvefh=?F62@h>a*cabQd?_(8DQHrxk7imXWt#0Qnc4EdpF$If zi4Xn&ew6Xdwkbj6$(Tvz&c``t&YgR2e*O3f;5Bxt2v7)7j8H;ZV0k1jWSmGdjNkW1 zYLE$(546$Q8-YT-(W_tql@Qeki--h1Di@EW9;?hw#?r)}-I=uNGa@lTvarb=wrb)+rs{~d%w}!fz)n?f879K^YVVT~}CnigsfH)LbuipnB zHhKcZc6v&!T1OjoJQ??uJ(2w+S5F5r=}DU9es);Q&NLN2b^c3kErH5VWyiDp*6NM> zrl*h(v()(QOs?8ZCw8FTYVUjdp+DXCzaoDht&w! zN&yF3B44pIj0Fhx)C%WS?vA)GGS-^kA)0&F2%Gh5EPc%hk2#kK1U9h7`4z#0;tAFn z{mM)G`{L2t^mnD^H-ulf2yiR7nF~(IrI{cT!seXp#irz?t3SwFe<26h R%2Cg;%~&OQ0Wavd@*4tz$2|Z5 literal 0 HcmV?d00001 diff --git a/target/test-classes/es/jaimetruman/_shared/serializers/CollectionSerializerTest.class b/target/test-classes/es/jaimetruman/_shared/serializers/CollectionSerializerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3302ff544458b5aef46f21c2edc84af5b2e3375d GIT binary patch literal 1290 zcmbtUTTc@~6#k~S-Ij{A78Di56>JNY<)#Q#0|8A;R!uB6A;g$zJArAoySNt!Bfj8n_RP+?f9IT;pTEBS0I-DB3}T3DNMw;jiXqqL@3?7mXV-ku zXp3gRka{2;89ZW$m&$bwI>WN?%{G@E5qM#TJLVgIk9(qJ`ofdkmLG)Yn;Wieleu)A z+6gxUO~o2wcy&e(Tfz?}BiDa=?&hlF978h7EVZT+K6*0rUQpoj45KBh53d$@(%G$U zmg_nSWVSC_o|{@L9h+Uon1(A^T*bBHvV?)O&2`V??|mu@_busDeWpq~18%#SRLfmf zWTDim3j6geZeW5TeNrff>0VBeX1{314x&!ds6>KdJ*y7VO>T6Y{b;A*Z3P|oW2L=C-i zSaULju8(kSvl|nIV2KZ{rDFy3Vv6ANZ>j z5+NE5pZ%kZ_mvt-@RM#!_Hyq#_ukX9bNlnx*B=0u@LWZLVO{uUm)kuNc!M5y&G-HR z_r#v*3(w|`eIz{JY`BA-6~;%l@ZJbNC^x#I_tELgn+zC|I#L*67-_9Hw_n#7Hk$w4 zw=Nr}b!09ZFUr&n9XduC)G`g*X;=&|-wk1!h8)IJjOrLio*~t7`mSIoRE%bqA9B;- z?!LL*?ut%O*HFMM6%#s&xXqBg1V}-M+97uaV*3NbawS&1;c(xt#}ZcH+3tQlK0!7J z`(Pw z9!ZmH+OBvt=(WicyzNlt?O!MwL-=nP^38sSJ1tJ8q)E}Zq|19WHGf@Ea%6B|)5B*h zd*9{3z$2VeFS~=qv-$(CBQ|ZRNl|vbx;+chFAVyY>k2P4 zh457@kz4+0X=o*4>$p}U7Zhm2m9)`E)LzKC@y1`a1SY(p;LaeV`yKH zJxA^nMGTMVcO<;a626GX5q=4YFstQR^$a)9!6ZI$1z(|zeu094YIsj>CX}35gF;_G ztptAsd*{xXd(WKv>-YDc0G?pKj2!Y73N}`-N~n6`lW=^Yr_RCH zlaqw7`dn$1yddOT?U98dp(A6*6Dp8Nlm zMXV8u%~8)iIP5e_SVzUehK(w&5PBEFJXJD!C*!0s@MQ4856x{{=?t3CcmEr$Yf8Rq z;~F*zrSr}Rjh4IM$lTj)F9n84r1X>zZ{xa!x{VvS$*hLa)bUcL(dosE#jM&Q`x$&p zg&z}|%cwKvyGyY1h~fV>;pwHiBNY1Ku_SD`O3OECFlG+L*yl*i4JX1M34T8I=fOg9 zqPVhWm*cWasK|dbKzMvHC?h0>sUM~~VX=)=thl2W7>Mocydf@c(FifL~ ze5Fid+Y1@~mCPgadd&Z8t!32r%`-62+LDma!7ZK&^W{KhF4*2-&*7DLUD-PWea^P; zvNhYr-eYUe5^x_o>=AZ3p34ruMLq-F`~mCz8A@)gy#EFESJb{?YXMf_G@t|?7S^7f nfo{zX&OwVjIJ;;t_yf)~mp|k+hh}D5X!Ba;=sI_?_p<&69D)nH literal 0 HcmV?d00001 diff --git a/target/test-classes/es/jaimetruman/delete/DeleteTest.class b/target/test-classes/es/jaimetruman/delete/DeleteTest.class index e146abedb40781d2c19e342bb33f18e140918b1d..5699aa39d809205d8ec4b2a802e3f2c072dfdfbd 100644 GIT binary patch delta 15 WcmeC>?B(2G!on=1sy*49B@6%`y91s8 delta 15 WcmeC>?B(2G!osXAq&nH0B@6%`+5?^d