From d7399781da83e14d563fb24319e531e5616a80f0 Mon Sep 17 00:00:00 2001 From: sgartner03 Date: Tue, 16 Jan 2024 14:39:38 +0100 Subject: [PATCH] [gepardec/mega#727] DRYed code --- .../mega/zep/mapper/AbsenceTimeMapper.java | 13 ++---- .../gepardec/mega/zep/mapper/MapperUtil.java | 30 +++++++++++++ .../mega/zep/mapper/ProjectTimeMapper.java | 11 +---- .../zep/mapper/AbsenceTimeMapperTest.java | 11 ----- .../mega/zep/mapper/MapperUtilTest.java | 45 +++++++++++++++++++ .../zep/mapper/ProjectTimeMapperTest.java | 11 ----- 6 files changed, 80 insertions(+), 41 deletions(-) create mode 100644 src/main/java/com/gepardec/mega/zep/mapper/MapperUtil.java create mode 100644 src/test/java/com/gepardec/mega/zep/mapper/MapperUtilTest.java diff --git a/src/main/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapper.java b/src/main/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapper.java index 6a3cd17f7..e55ee0cdc 100644 --- a/src/main/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapper.java +++ b/src/main/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapper.java @@ -39,11 +39,9 @@ public static AbsenceTime map(FehlzeitType fehlzeitType) { return null; } - LocalDate startDate = parseDate(fehlzeitType.getStartdatum()); - LocalDate endDate = fehlzeitType.getEnddatum() == null ? - null : parseDate(fehlzeitType.getEnddatum()); - Map attributes = fehlzeitType.getAttributes() == null ? - null : convertAttributesToMap(fehlzeitType.getAttributes()); + LocalDate startDate = MapperUtil.convertStringToDate(fehlzeitType.getStartdatum()); + LocalDate endDate = MapperUtil.convertStringToDate(fehlzeitType.getEnddatum()); + Map attributes = MapperUtil.convertAttributesToMap(fehlzeitType.getAttributes()); return AbsenceTime.builder() .id(fehlzeitType.getId()) @@ -64,9 +62,4 @@ public static AbsenceTime map(FehlzeitType fehlzeitType) { .build(); } - public static Map convertAttributesToMap(AttributesType attributes) { - return attributes.getAttribute().stream() - .filter(Objects::nonNull) - .collect(Collectors.toMap(AttributeType::getName, AttributeType::getValue)); - } } diff --git a/src/main/java/com/gepardec/mega/zep/mapper/MapperUtil.java b/src/main/java/com/gepardec/mega/zep/mapper/MapperUtil.java new file mode 100644 index 000000000..a16f2feca --- /dev/null +++ b/src/main/java/com/gepardec/mega/zep/mapper/MapperUtil.java @@ -0,0 +1,30 @@ +package com.gepardec.mega.zep.mapper; + +import java.time.LocalDate; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +import com.gepardec.mega.domain.utils.DateUtils; +import de.provantis.zep.AttributesType; +import de.provantis.zep.AttributeType; + + +public class MapperUtil { + public static Map convertAttributesToMap(AttributesType attributes) { + if (attributes == null) + return null; + return attributes.getAttribute().stream() + .filter(Objects::nonNull) + .collect(Collectors.toMap(de.provantis.zep.AttributeType::getName, AttributeType::getValue)); + } + + public static LocalDate convertStringToDate(String dateString) { + if (dateString == null) + return null; + + return DateUtils.parseDate(dateString); + + } + +} diff --git a/src/main/java/com/gepardec/mega/zep/mapper/ProjectTimeMapper.java b/src/main/java/com/gepardec/mega/zep/mapper/ProjectTimeMapper.java index e74583f52..58928a642 100644 --- a/src/main/java/com/gepardec/mega/zep/mapper/ProjectTimeMapper.java +++ b/src/main/java/com/gepardec/mega/zep/mapper/ProjectTimeMapper.java @@ -32,11 +32,9 @@ public static ProjectTime map(ProjektzeitType projektzeitType) { if (projektzeitType == null) return null; - LocalDate date = projektzeitType.getDatum() == null ? - null : parseDate(projektzeitType.getDatum()); + LocalDate date = MapperUtil.convertStringToDate(projektzeitType.getDatum()); - Map attributes = projektzeitType.getAttributes() == null ? - null : convertAttributesToMap(projektzeitType.getAttributes()); + Map attributes = MapperUtil.convertAttributesToMap(projektzeitType.getAttributes()); return ProjectTime.builder() @@ -68,9 +66,4 @@ public static ProjectTime map(ProjektzeitType projektzeitType) { .build(); } - public static Map convertAttributesToMap(AttributesType attributes) { - return attributes.getAttribute().stream() - .filter(Objects::nonNull) - .collect(Collectors.toMap(AttributeType::getName, AttributeType::getValue)); - } } diff --git a/src/test/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapperTest.java b/src/test/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapperTest.java index 806944361..f6e951cdd 100644 --- a/src/test/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapperTest.java +++ b/src/test/java/com/gepardec/mega/zep/mapper/AbsenceTimeMapperTest.java @@ -94,17 +94,6 @@ void withFullSettings_thenReturnsAbsenceTimeObject() { assertThat(at.getId()).isEqualTo(fzt.getId()); } - @Test - void withStartDateString_thenReturnsLocalDate() { - FehlzeitType fzt = new FehlzeitType(); - fzt.setUserId("4"); - fzt.setStartdatum("2002-11-23"); - fzt.setFehlgrund("KA"); - AbsenceTime at = AbsenceTimeMapper.map(fzt); - String absenceTimeDateString = at.getFromDate().toString(); - assertThat(fzt.getStartdatum()).isEqualTo(absenceTimeDateString); - } - @Test void whenEmptyList_thenReturnsEmptyList() { assertThat(AbsenceTimeMapper.mapList(List.of())).isEmpty(); diff --git a/src/test/java/com/gepardec/mega/zep/mapper/MapperUtilTest.java b/src/test/java/com/gepardec/mega/zep/mapper/MapperUtilTest.java new file mode 100644 index 000000000..12e9dfac4 --- /dev/null +++ b/src/test/java/com/gepardec/mega/zep/mapper/MapperUtilTest.java @@ -0,0 +1,45 @@ +package com.gepardec.mega.zep.mapper; + +import de.provantis.zep.AttributeType; +import de.provantis.zep.AttributesType; +import com.gepardec.mega.domain.model.ProjectTime; +import org.junit.jupiter.api.Test; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static org.assertj.core.api.Assertions.assertThat; + +public class MapperUtilTest { + @Test + void DateString_convertsToLocalDate() { + String dateString = "2002-11-23"; + LocalDate date = MapperUtil.convertStringToDate(dateString); + assertThat(date.toString()).isEqualTo(dateString); + } + + @Test + void whenAttributes_thenReturnsAttributesMap() { + AttributeType attribute = new de.provantis.zep.AttributeType(); + attribute.setName("gilde"); + attribute.setValue("cia"); + AttributeType attribute2 = new de.provantis.zep.AttributeType(); + attribute2.setName("office"); + attribute2.setValue("wien"); + + List attributesList = new ArrayList<>(); + attributesList.add(attribute); + attributesList.add(attribute2); + + AttributesType attributes = new de.provantis.zep.AttributesType(); + attributes.setAttribute(attributesList); + + Map attributesMap = MapperUtil.convertAttributesToMap(attributes); + + assertThat(attributesMap.get(attribute.getName())).isEqualTo(attribute.getValue()); + assertThat(attributesMap.get(attribute2.getName())).isEqualTo(attribute2.getValue()); + + } +} diff --git a/src/test/java/com/gepardec/mega/zep/mapper/ProjectTimeMapperTest.java b/src/test/java/com/gepardec/mega/zep/mapper/ProjectTimeMapperTest.java index cca5a0ce7..1968a8f87 100644 --- a/src/test/java/com/gepardec/mega/zep/mapper/ProjectTimeMapperTest.java +++ b/src/test/java/com/gepardec/mega/zep/mapper/ProjectTimeMapperTest.java @@ -107,17 +107,6 @@ void withFullSettings_thenReturnsAbsenceTimeObject() { assertThat(pt.getModified()).isEqualTo(pzt.getModified()); } - @Test - void withStartDateString_thenReturnsLocalDate() { - de.provantis.zep.FehlzeitType fzt = new de.provantis.zep.FehlzeitType(); - fzt.setUserId("4"); - fzt.setStartdatum("2002-11-23"); - fzt.setFehlgrund("KA"); - AbsenceTime at = AbsenceTimeMapper.map(fzt); - String absenceTimeDateString = at.getFromDate().toString(); - assertThat(fzt.getStartdatum()).isEqualTo(absenceTimeDateString); - } - @Test void whenEmptyList_thenReturnsEmptyList() { assertThat(ProjectTimeMapper.mapList(List.of())).isEmpty();