From da746bba35c0950ea2c7befd62cdcd42c140b6c7 Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Wed, 15 Dec 2021 09:04:03 +0100 Subject: [PATCH 1/2] RED-3042 Bugfix: Made deleting watermark idempotent --- .../peristence/v1/server/integration/tests/WatermarkTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java index 0d97ea094..b4fa6622a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java @@ -48,6 +48,7 @@ public class WatermarkTest extends AbstractPersistenceServerServiceTest { saved = watermarkClient.saveWatermark(dossierTemplate.getId(), watermark); assertThat(watermarkClient.getWatermark(dossierTemplate.getId())).isEqualTo(saved); + // Delete first time watermarkClient.deleteWatermark(dossierTemplate.getId()); try { @@ -55,6 +56,9 @@ public class WatermarkTest extends AbstractPersistenceServerServiceTest { } catch (FeignException.FeignClientException e) { assertThat(e.status()).isEqualTo(404); } + + // Delete second time + watermarkClient.deleteWatermark(dossierTemplate.getId()); } From 71e7dcd1a1ff16d5a5b39eead688d17fe92a837d Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Wed, 15 Dec 2021 09:06:24 +0100 Subject: [PATCH 2/2] RED-3042 Bugfix: Made deleting watermark idempotent --- .../management/v1/processor/service/WatermarkService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java index b92928f1a..470752def 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java @@ -4,6 +4,7 @@ import javax.transaction.Transactional; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.WatermarkEntity; @@ -23,8 +24,11 @@ public class WatermarkService { public void deleteWatermark(String dossierTemplateId) { - - watermarkRepository.deleteById(dossierTemplateId); + try { + watermarkRepository.deleteById(dossierTemplateId); + } catch (EmptyResultDataAccessException e) { + log.info("Watermark for dossierTemplateId '{}' was already deleted.", dossierTemplateId); + } }