Skip to content

Commit 72a9069

Browse files
committed
Fix Object conversion
1 parent c65a863 commit 72a9069

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

driver/src/main/java/jdbc/client/helpers/result/parser/converter/ObjectConverter.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jdbc.client.structures.result.ObjectTypeField;
55
import org.jetbrains.annotations.NotNull;
66

7+
import java.util.AbstractMap;
78
import java.util.List;
89
import java.util.Map;
910
import java.util.stream.Collectors;
@@ -14,7 +15,10 @@ public abstract class ObjectConverter<T> extends Converter<T, Map<String, Object
1415

1516
@Override
1617
protected final @NotNull Map<String, Object> convertImpl(@NotNull T encoded) {
17-
return getObjectType().stream().collect(Collectors.toMap(ObjectTypeField::getName, t -> t.getGetter().apply(encoded)));
18+
return getObjectType().stream()
19+
.map(t -> new AbstractMap.SimpleImmutableEntry<>(t.getName(), t.getGetter().apply(encoded)))
20+
.filter(e -> e.getValue() != null)
21+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
1822
}
1923

2024
protected final @NotNull Map<String, Object> convertEntryImpl(@NotNull Map.Entry<String, T> encoded) {
@@ -23,7 +27,7 @@ public abstract class ObjectConverter<T> extends Converter<T, Map<String, Object
2327
if (mainField != null) {
2428
converted.put(mainField.getName(), encoded.getKey());
2529
}
26-
return convertImpl(encoded.getValue());
30+
return converted;
2731
}
2832

2933
@Override

0 commit comments

Comments
 (0)