diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java index fdb3ac90a..8313de202 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java @@ -75,12 +75,13 @@ public class DossierAttributeConfigPersistenceService { @Transactional public void deleteDossierAttribute(String dossierAttributeId) { + dossierAttributeRepository.deleteByDossierAttributeConfigId(dossierAttributeId); dossierAttributeConfigRepository.deleteById(dossierAttributeId); } @Transactional public void deleteDossierAttributes(List dossierAttributeIds) { - dossierAttributeConfigRepository.deleteByDossierAtributeIds(dossierAttributeIds); + dossierAttributeIds.forEach(this::deleteDossierAttribute); } public List getDossierAttributes(String dossierTemplateId) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java index 8658bb803..ceb381600 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java @@ -17,7 +17,7 @@ public interface DossierAttributeRepository extends JpaRepository findByDossierTemplateId(String dossierTemplateId); @Modifying - @Query("DELETE FROM DossierAttributeEntity e WHERE e.dossierAttributeConfig.id = :id") + @Query("DELETE FROM DossierAttributeEntity e WHERE e.id.dossierAttributeConfigId = :id") void deleteByDossierAttributeConfigId(String id); @Modifying diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java index 3e3a3c1ac..42bd4f64f 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import static org.assertj.core.api.Assertions.assertThat; @@ -62,6 +63,13 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute)); loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); assertThat(loadedAttributes).isNotEmpty(); + + dossierAttributeConfigClient.deleteDossierAttributes( + loadedAttributes.stream().map(DossierAttributeConfig::getId).collect(Collectors.toList())); + dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList(attribute)); + loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); + assertThat(loadedAttributes).isNotEmpty(); + var configId = loadedAttributes.iterator().next().getId(); @@ -84,15 +92,20 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { firstAttribute = loadedAttributeValues.iterator().next(); assertThat(firstAttribute.getValue()).isEqualTo("test"); - dossierAttributeClient.deleteDossierAttribute(dossier.getId(), firstAttribute.getDossierAttributeConfigId()); loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); assertThat(loadedAttributeValues).isEmpty(); + dossierAttributeClient.setDossierAttributes(dossier.getId(), dossierAttributes); + loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); + assertThat(loadedAttributeValues).isNotEmpty(); + //delete the list of dossier attribute config with child dossierAttributeConfigClient.deleteDossierAttributes(Lists.newArrayList(loadedAttributes.iterator().next().getId())); loadedAttributes = dossierAttributeConfigClient.getDossierAttributes(dossier.getDossierTemplateId()); assertThat(loadedAttributes).isEmpty(); + loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); + assertThat(loadedAttributeValues).isEmpty(); } }