Merge pull request #286 from Verdent/275-class-with-package-private-modif
Fixes #275 Inheriting from class with package level modifier leads to…
diff --git a/src/main/java/org/eclipse/yasson/internal/model/customization/ordering/PropertyOrdering.java b/src/main/java/org/eclipse/yasson/internal/model/customization/ordering/PropertyOrdering.java
index 31e0954..948f362 100644
--- a/src/main/java/org/eclipse/yasson/internal/model/customization/ordering/PropertyOrdering.java
+++ b/src/main/java/org/eclipse/yasson/internal/model/customization/ordering/PropertyOrdering.java
@@ -53,7 +53,7 @@
*/
public List<PropertyModel> orderProperties(List<PropertyModel> properties, ClassModel classModel) {
Map<String, PropertyModel> byReadName = new HashMap<>();
- properties.stream().forEach(propertyModel -> byReadName.put(propertyModel.getReadName(), propertyModel));
+ properties.stream().forEach(propertyModel -> byReadName.put(propertyModel.getPropertyName(), propertyModel));
String[] order = classModel.getClassCustomization().getPropertyOrder();
List<PropertyModel> sortedProperties = new ArrayList<>();
diff --git a/src/main/java/org/eclipse/yasson/internal/serializer/CollectionDeserializer.java b/src/main/java/org/eclipse/yasson/internal/serializer/CollectionDeserializer.java
index 4a4587d..53c52b8 100644
--- a/src/main/java/org/eclipse/yasson/internal/serializer/CollectionDeserializer.java
+++ b/src/main/java/org/eclipse/yasson/internal/serializer/CollectionDeserializer.java
@@ -56,6 +56,8 @@
if (rawType.isInterface()) {
final T x = createInterfaceInstance(rawType);
if (x != null) return x;
+ } else if (EnumSet.class.isAssignableFrom(rawType)) {
+ return (T) EnumSet.noneOf((Class<Enum>) collectionValueType);
}
return builder.getJsonbContext().getInstanceCreator().createInstance(rawType);
}
diff --git a/src/test/java/org/eclipse/yasson/customization/PropertyOrderTest.java b/src/test/java/org/eclipse/yasson/customization/PropertyOrderTest.java
index 844f5e7..bd413d6 100644
--- a/src/test/java/org/eclipse/yasson/customization/PropertyOrderTest.java
+++ b/src/test/java/org/eclipse/yasson/customization/PropertyOrderTest.java
@@ -105,8 +105,8 @@
@JsonbPropertyOrder(
{
- "from",
- "count"
+ "fromIndex",
+ "numberOfItems"
}
)
public class Range {
diff --git a/src/test/java/org/eclipse/yasson/defaultmapping/collections/CollectionsTest.java b/src/test/java/org/eclipse/yasson/defaultmapping/collections/CollectionsTest.java
index a6fb699..b17079d 100644
--- a/src/test/java/org/eclipse/yasson/defaultmapping/collections/CollectionsTest.java
+++ b/src/test/java/org/eclipse/yasson/defaultmapping/collections/CollectionsTest.java
@@ -213,6 +213,7 @@
final String result = jsonb.toJson(languageEnumSet);
assertTrue("[\"Czech\",\"Slovak\"]".equals(result) || "[\"Slovak\",\"Czech\"]".equals(result));
+ assertEquals(languageEnumSet, jsonb.fromJson(result, new TestTypeToken<EnumSet<Language>>() {}.getType()));
}
@Test