Skip to content

Commit 7d3ff09

Browse files
committed
Fixed serialization for collections made by utilities
1 parent 696ff89 commit 7d3ff09

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

README.MD

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ maven {
2020
url = 'https://repo.mikigal.pl/releases'
2121
}
2222
23-
compile group: 'pl.mikigal', name: 'ConfigAPI', version: '1.1.2'
23+
compile group: 'pl.mikigal', name: 'ConfigAPI', version: '1.1.3'
2424
```
2525

2626
#### Maven
@@ -33,7 +33,7 @@ compile group: 'pl.mikigal', name: 'ConfigAPI', version: '1.1.2'
3333
<dependency>
3434
<groupId>pl.mikigal</groupId>
3535
<artifactId>ConfigAPI</artifactId>
36-
<version>1.1.2</version>
36+
<version>1.1.3</version>
3737
<scope>compile</scope>
3838
</dependency>
3939
```

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group 'pl.mikigal'
7-
version '1.1.2'
7+
version '1.1.3'
88

99
publishing {
1010
repositories {

src/main/java/pl/mikigal/config/serializer/universal/UniversalCollectionSerializer.java

100644100755
+5
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ protected void saveObject(String path, Collection object, BukkitConfiguration co
2727
throw new IllegalStateException("Can't set empty Collection to config");
2828
}
2929

30+
if (object.getClass().isMemberClass()) {
31+
// Workaround for utilities, e. g. Arrays.asList()
32+
object = new ArrayList(object);
33+
}
34+
3035
Class<?> generic = TypeUtils.getCollectionGeneric(object);
3136
Serializer<?> serializer = Serializers.of(generic);
3237
if (serializer == null && !TypeUtils.isSimpleType(generic)) {

src/main/java/pl/mikigal/config/serializer/universal/UniversalMapSerializer.java

100644100755
+5
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ protected void saveObject(String path, Map object, BukkitConfiguration configura
2626
throw new IllegalStateException("Can't set empty Map to config");
2727
}
2828

29+
if (object.getClass().isMemberClass()) {
30+
// Workaround for utilities, e. g. Collections.singletonMap()
31+
object = new HashMap(object);
32+
}
33+
2934
Class<?> generic = TypeUtils.getMapGeneric(object)[1];
3035
Serializer<?> serializer = Serializers.of(generic);
3136
if (serializer == null && !TypeUtils.isSimpleType(generic)) {

0 commit comments

Comments
 (0)