diff --git a/mapstruct/src/main/java/com/baeldung/expression/mapper/LicenseMapper.java b/mapstruct/src/main/java/com/baeldung/expression/mapper/LicenseMapper.java index 100588b45d..8bfcd8b14b 100644 --- a/mapstruct/src/main/java/com/baeldung/expression/mapper/LicenseMapper.java +++ b/mapstruct/src/main/java/com/baeldung/expression/mapper/LicenseMapper.java @@ -4,6 +4,7 @@ import java.time.Duration; import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.time.ZoneOffset; +import java.util.UUID; import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; @@ -20,6 +21,7 @@ public interface LicenseMapper { @Mapping(target = "endDate", ignore = true) @Mapping(target = "active", constant = "true") @Mapping(target = "renewalRequired", conditionExpression = "java(isEndDateInTwoWeeks(licenseDto))", source = ".") + @Mapping(target = "id", expression = "java(setId())") License toLicense(LicenseDto licenseDto); @AfterMapping @@ -40,4 +42,8 @@ public interface LicenseMapper { .toDays() <= 14; } + default UUID setId() { + return UUID.randomUUID(); + } + } diff --git a/mapstruct/src/test/java/com/baeldung/expression/mapper/LicenseMapperUnitTest.java b/mapstruct/src/test/java/com/baeldung/expression/mapper/LicenseMapperUnitTest.java index 73be63561b..d6ecd87802 100644 --- a/mapstruct/src/test/java/com/baeldung/expression/mapper/LicenseMapperUnitTest.java +++ b/mapstruct/src/test/java/com/baeldung/expression/mapper/LicenseMapperUnitTest.java @@ -21,6 +21,7 @@ class LicenseMapperUnitTest { licenseDto.setStartDate(LocalDateTime.now()); License license = licenseMapper.toLicense(licenseDto); assertThat(license).isNotNull(); + assertThat(license.getId()).isNotNull(); assertThat(license.getEndDate() .toLocalDate()).isEqualTo(LocalDate.now() .plusYears(1)); @@ -33,6 +34,7 @@ class LicenseMapperUnitTest { .plusYears(2)); License license = licenseMapper.toLicense(licenseDto); assertThat(license).isNotNull(); + assertThat(license.getId()).isNotNull(); assertThat(license.getStartDate() .toLocalDate()).isEqualTo(LocalDate.now()); } @@ -42,6 +44,7 @@ class LicenseMapperUnitTest { LicenseDto licenseDto = new LicenseDto(); License license = licenseMapper.toLicense(licenseDto); assertThat(license).isNotNull(); + assertThat(license.getId()).isNotNull(); assertThat(license.getStartDate() .toLocalDate()).isEqualTo(LocalDate.now()); assertThat(license.getEndDate() @@ -58,6 +61,7 @@ class LicenseMapperUnitTest { .plusDays(10)); License license = licenseMapper.toLicense(licenseDto); assertThat(license).isNotNull(); + assertThat(license.getId()).isNotNull(); assertThat(license.isRenewalRequired()).isTrue(); }