From 07bcc9dd7a5aedbcf5650b1d7e96eb0af81bd873 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 27 Jun 2022 16:19:41 +0200 Subject: [PATCH] OZG-1513 adjust CommandBodyMapper -> map Enum as *enum*.name() --- .../de/itvsh/goofy/common/command/CommandBodyMapper.java | 9 ++++++++- .../goofy/common/command/CommandBodyMapperTest.java | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java b/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java index 906f065fd3..703a17d43d 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java @@ -29,7 +29,14 @@ public interface CommandBodyMapper { return new BeanMap(object).entrySet().stream() .filter(HAS_NOT_NULL_VALUE) .filter(IS_NOT_CLASS_VALUE) - .collect(Collectors.toMap(entry -> entry.getKey().toString(), Entry::getValue)); + .collect(Collectors.toMap(entry -> entry.getKey().toString(), this::checkEnumValue)); + } + + private Object checkEnumValue(Entry<Object, Object> entry) { + if (entry.getValue() instanceof Enum<?> enumValue) { + return enumValue.name(); + } + return entry.getValue(); } default GrpcCommandBody mapToBody(Map<String, String> bodyMap) { diff --git a/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java b/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java index 89440b4774..13d0d22456 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java @@ -52,7 +52,7 @@ class CommandBodyMapperTest { assertThat(mappedMap) .hasSize(4) .doesNotContainKey("status") - .containsEntry("order", CommandTestFactory.ORDER) + .containsEntry("order", CommandTestFactory.ORDER.name()) .containsEntry("relationId", CommandTestFactory.RELATION_ID) .containsEntry("vorgangId", CommandTestFactory.VORGANG_ID); } @@ -65,8 +65,8 @@ class CommandBodyMapperTest { assertThat(mappedMap) .hasSize(5) - .containsEntry("status", CommandTestFactory.STATUS) - .containsEntry("order", CommandTestFactory.ORDER) + .containsEntry("status", CommandTestFactory.STATUS.name()) + .containsEntry("order", CommandTestFactory.ORDER.name()) .containsEntry("relationId", CommandTestFactory.RELATION_ID) .containsEntry("vorgangId", CommandTestFactory.VORGANG_ID); } -- GitLab