Skip to content

Commit

Permalink
Tests Json generated converters use enum custom mapper
Browse files Browse the repository at this point in the history
Signed-off-by: Fyro <[email protected]>
  • Loading branch information
Fyro-Ing committed Oct 19, 2021
1 parent 2cb085c commit aa91543
Show file tree
Hide file tree
Showing 5 changed files with 216 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,14 @@ public static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json,
});
}
break;
case "addedEnumMappeds":
if (member.getValue() instanceof JsonArray) {
((Iterable<Object>)member.getValue()).forEach( item -> {
if (item instanceof String)
obj.addAddedEnumMapped(io.vertx.test.codegen.converter.TestDataObject.deserializeCustomEnum((String)item));
});
}
break;
case "addedHttpMethods":
if (member.getValue() instanceof JsonArray) {
((Iterable<Object>)member.getValue()).forEach( item -> {
Expand Down Expand Up @@ -467,6 +475,41 @@ public static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json,
obj.setBufferSet(list);
}
break;
case "enumMapped":
if (member.getValue() instanceof String) {
obj.setEnumMapped(io.vertx.test.codegen.converter.TestDataObject.deserializeCustomEnum((String)member.getValue()));
}
break;
case "enumMappedList":
if (member.getValue() instanceof JsonArray) {
java.util.ArrayList<io.vertx.test.codegen.converter.TestCustomEnum> list = new java.util.ArrayList<>();
((Iterable<Object>)member.getValue()).forEach( item -> {
if (item instanceof String)
list.add(io.vertx.test.codegen.converter.TestDataObject.deserializeCustomEnum((String)item));
});
obj.setEnumMappedList(list);
}
break;
case "enumMappedMap":
if (member.getValue() instanceof JsonObject) {
java.util.Map<String, io.vertx.test.codegen.converter.TestCustomEnum> map = new java.util.LinkedHashMap<>();
((Iterable<java.util.Map.Entry<String, Object>>)member.getValue()).forEach(entry -> {
if (entry.getValue() instanceof String)
map.put(entry.getKey(), io.vertx.test.codegen.converter.TestDataObject.deserializeCustomEnum((String)entry.getValue()));
});
obj.setEnumMappedMap(map);
}
break;
case "enumMappedSet":
if (member.getValue() instanceof JsonArray) {
java.util.LinkedHashSet<io.vertx.test.codegen.converter.TestCustomEnum> list = new java.util.LinkedHashSet<>();
((Iterable<Object>)member.getValue()).forEach( item -> {
if (item instanceof String)
list.add(io.vertx.test.codegen.converter.TestDataObject.deserializeCustomEnum((String)item));
});
obj.setEnumMappedSet(list);
}
break;
case "httpMethod":
if (member.getValue() instanceof String) {
obj.setHttpMethod(java.util.concurrent.TimeUnit.valueOf((String)member.getValue()));
Expand Down Expand Up @@ -679,6 +722,14 @@ public static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json,
});
}
break;
case "keyedEnumMappedValues":
if (member.getValue() instanceof JsonObject) {
((Iterable<java.util.Map.Entry<String, Object>>)member.getValue()).forEach(entry -> {
if (entry.getValue() instanceof String)
obj.addKeyedEnumMappedValue(entry.getKey(), io.vertx.test.codegen.converter.TestDataObject.deserializeCustomEnum((String)entry.getValue()));
});
}
break;
case "keyedEnumValues":
if (member.getValue() instanceof JsonObject) {
((Iterable<java.util.Map.Entry<String, Object>>)member.getValue()).forEach(entry -> {
Expand Down Expand Up @@ -1007,6 +1058,11 @@ public static void toJson(TestDataObject obj, java.util.Map<String, Object> json
obj.getAddedBuffers().forEach(item -> array.add(JsonUtil.BASE64_ENCODER.encodeToString(item.getBytes())));
json.put("addedBuffers", array);
}
if (obj.getAddedEnumMappeds() != null) {
JsonArray array = new JsonArray();
obj.getAddedEnumMappeds().forEach(item -> array.add(io.vertx.test.codegen.converter.TestDataObject.serializeCustomEnum(item)));
json.put("addedEnumMappeds", array);
}
if (obj.getAddedHttpMethods() != null) {
JsonArray array = new JsonArray();
obj.getAddedHttpMethods().forEach(item -> array.add(item.name()));
Expand Down Expand Up @@ -1209,6 +1265,24 @@ public static void toJson(TestDataObject obj, java.util.Map<String, Object> json
obj.getBufferSet().forEach(item -> array.add(JsonUtil.BASE64_ENCODER.encodeToString(item.getBytes())));
json.put("bufferSet", array);
}
if (obj.getEnumMapped() != null) {
json.put("enumMapped", io.vertx.test.codegen.converter.TestDataObject.serializeCustomEnum(obj.getEnumMapped()));
}
if (obj.getEnumMappedList() != null) {
JsonArray array = new JsonArray();
obj.getEnumMappedList().forEach(item -> array.add(io.vertx.test.codegen.converter.TestDataObject.serializeCustomEnum(item)));
json.put("enumMappedList", array);
}
if (obj.getEnumMappedMap() != null) {
JsonObject map = new JsonObject();
obj.getEnumMappedMap().forEach((key, value) -> map.put(key, io.vertx.test.codegen.converter.TestDataObject.serializeCustomEnum(value)));
json.put("enumMappedMap", map);
}
if (obj.getEnumMappedSet() != null) {
JsonArray array = new JsonArray();
obj.getEnumMappedSet().forEach(item -> array.add(io.vertx.test.codegen.converter.TestDataObject.serializeCustomEnum(item)));
json.put("enumMappedSet", array);
}
if (obj.getHttpMethod() != null) {
json.put("httpMethod", obj.getHttpMethod().name());
}
Expand Down Expand Up @@ -1326,6 +1400,11 @@ public static void toJson(TestDataObject obj, java.util.Map<String, Object> json
obj.getKeyedBufferValues().forEach((key, value) -> map.put(key, JsonUtil.BASE64_ENCODER.encodeToString(value.getBytes())));
json.put("keyedBufferValues", map);
}
if (obj.getKeyedEnumMappedValues() != null) {
JsonObject map = new JsonObject();
obj.getKeyedEnumMappedValues().forEach((key, value) -> map.put(key, io.vertx.test.codegen.converter.TestDataObject.serializeCustomEnum(value)));
json.put("keyedEnumMappedValues", map);
}
if (obj.getKeyedEnumValues() != null) {
JsonObject map = new JsonObject();
obj.getKeyedEnumValues().forEach((key, value) -> map.put(key, value.name()));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package io.vertx.test.codegen.converter;

public enum TestCustomEnum {

DEV("dev", "development"),

ITEST("itest", "integration-test");

public static TestCustomEnum of(String pName) {
for (TestCustomEnum item : TestCustomEnum.values()) {
if (item.names[0].equalsIgnoreCase(pName) || item.names[1].equalsIgnoreCase(pName)
|| pName.equalsIgnoreCase(item.name())) {
return item;
}
}
return DEV;
}

private String[] names = new String[2];

TestCustomEnum(String pShortName, String pLongName) {
names[0] = pShortName;
names[1] = pLongName;
}

public String getLongName() {
return names[1];
}

public String getShortName() {
return names[0];
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
return ZonedDateTime.parse(value);
}

public static String serializeCustomEnum(TestCustomEnum value) {
return (value != null) ? value.getShortName() : null;
}

public static TestCustomEnum deserializeCustomEnum(String value) {
return (value != null) ? TestCustomEnum.of(value) : null;
}

private String string;
private boolean primitiveBoolean;
private byte primitiveByte;
Expand All @@ -61,6 +69,7 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
private ZonedDateTime methodMapped;
private NoConverterDataObject notConvertibleDataObject;
private ByteBuffer unmapped;
private TestCustomEnum enumMapped;

private List<String> stringList;
private List<Boolean> boxedBooleanList;
Expand All @@ -80,6 +89,7 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
private List<ZonedDateTime> methodMappedList;
private List<Object> objectList;
private List<NoConverterDataObject> notConvertibleDataObjectList;
private List<TestCustomEnum> enumMappedList;

private Set<String> stringSet;
private Set<Boolean> boxedBooleanSet;
Expand All @@ -99,6 +109,7 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
private Set<ZonedDateTime> methodMappedSet;
private Set<Object> objectSet;
private Set<NoConverterDataObject> notConvertibleDataObjectSet;
private Set<TestCustomEnum> enumMappedSet;

private List<String> addedStringValues = new ArrayList<>();
private List<Boolean> addedBoxedBooleanValues = new ArrayList<>();
Expand All @@ -117,6 +128,7 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
private List<TimeUnit> addedHttpMethods = new ArrayList<>();
private List<ZonedDateTime> addedMethodMappeds = new ArrayList<>();
private List<Object> addedObjects = new ArrayList<>();
private List<TestCustomEnum> addedEnumMappeds = new ArrayList<>();

private Map<String, String> stringValueMap;
private Map<String, Boolean> boxedBooleanValueMap;
Expand All @@ -136,6 +148,7 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
private Map<String, ZonedDateTime> methodMappedMap;
private Map<String, Object> objectMap;
private Map<String, NoConverterDataObject> notConvertibleDataObjectMap;
private Map<String, TestCustomEnum> enumMappedMap;

private Map<String, String> keyedStringValues = new HashMap<>();
private Map<String, Boolean> keyedBoxedBooleanValues = new HashMap<>();
Expand All @@ -154,6 +167,7 @@ public static ZonedDateTime deserializeZonedDateTime(String value) {
private Map<String, TimeUnit> keyedEnumValues = new HashMap<>();
private Map<String, ZonedDateTime> keyedMethodMappedValues = new HashMap<>();
private Map<String, Object> keyedObjectValues = new HashMap<>();
private Map<String, TestCustomEnum> keyedEnumMappedValues = new HashMap<>();

public TestDataObject() {
}
Expand Down Expand Up @@ -398,6 +412,15 @@ public TestDataObject setUnmapped(ByteBuffer unmapped) {
return this;
}

public TestCustomEnum getEnumMapped() {
return enumMapped;
}

public TestDataObject setEnumMapped(TestCustomEnum enumMapped) {
this.enumMapped = enumMapped;
return this;
}

public List<String> getStringList() {
return stringList;
}
Expand Down Expand Up @@ -551,6 +574,14 @@ public TestDataObject setObjectList(List<Object> objectList) {
return this;
}

public List<TestCustomEnum> getEnumMappedList() {
return enumMappedList;
}

public TestDataObject setEnumMappedList(List<TestCustomEnum> enumMappedList) {
this.enumMappedList = enumMappedList;
return this;
}

public Set<String> getStringSet() {
return stringSet;
Expand Down Expand Up @@ -705,6 +736,15 @@ public TestDataObject setObjectSet(Set<Object> objectSet) {
return this;
}

public Set<TestCustomEnum> getEnumMappedSet() {
return enumMappedSet;
}

public TestDataObject setEnumMappedSet(Set<TestCustomEnum> enumMappedSet) {
this.enumMappedSet = enumMappedSet;
return this;
}

public List<String> getAddedStringValues() {
return addedStringValues;
}
Expand Down Expand Up @@ -858,6 +898,15 @@ public TestDataObject addAddedObject(Object addedObject) {
return this;
}

public List<TestCustomEnum> getAddedEnumMappeds() {
return addedEnumMappeds;
}

public TestDataObject addAddedEnumMapped(TestCustomEnum addedEnumMappeds) {
this.addedEnumMappeds.add(addedEnumMappeds);
return this;
}

public Map<String, String> getStringValueMap() {
return stringValueMap;
}
Expand Down Expand Up @@ -1011,6 +1060,15 @@ public TestDataObject setObjectMap(Map<String, Object> objectMap) {
return this;
}

public Map<String, TestCustomEnum> getEnumMappedMap() {
return enumMappedMap;
}

public TestDataObject setEnumMappedMap(Map<String, TestCustomEnum> enumMappedMap) {
this.enumMappedMap = enumMappedMap;
return this;
}

public Map<String, String> getKeyedStringValues() {
return keyedStringValues;
}
Expand Down Expand Up @@ -1164,6 +1222,15 @@ public TestDataObject addKeyedObjectValue(String key, Object value) {
return this;
}

public Map<String, TestCustomEnum> getKeyedEnumMappedValues() {
return keyedEnumMappedValues;
}

public TestDataObject addKeyedEnumMappedValue(String key, TestCustomEnum value) {
this.keyedEnumMappedValues.put(key, value);
return this;
}

public List<NoConverterDataObject> getNotConvertibleDataObjectList() {
return notConvertibleDataObjectList;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
java.time.ZonedDateTime.serializer=io.vertx.test.codegen.converter.TestDataObject#serializeZonedDateTime
java.time.ZonedDateTime.deserializer=io.vertx.test.codegen.converter.TestDataObject#deserializeZonedDateTime
io.vertx.test.codegen.converter.TestCustomEnum.serializer=io.vertx.test.codegen.converter.TestDataObject#serializeCustomEnum
io.vertx.test.codegen.converter.TestCustomEnum.deserializer=io.vertx.test.codegen.converter.TestDataObject#deserializeCustomEnum
Loading

0 comments on commit aa91543

Please sign in to comment.