Merge branch 'master' into RED-1098

This commit is contained in:
Viktor Seifert 2022-07-01 14:04:19 +02:00
commit 42ff8978f8
2 changed files with 32 additions and 0 deletions

View File

@ -13,6 +13,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CloneDossierTemplateRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplateStatus;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Watermark;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis;
import com.iqser.red.storage.commons.service.StorageService;
@ -47,6 +48,7 @@ public class DossierTemplateCloneService {
private final ColorsService colorsService;
private final StorageService storageService;
private final DossierStatusPersistenceService dossierStatusPersistenceService;
private final WatermarkService watermarkService;
public DossierTemplateEntity cloneDossierTemplate(String dossierTemplateId, CloneDossierTemplateRequest cloneDossierTemplateRequest) {
@ -97,6 +99,9 @@ public class DossierTemplateCloneService {
//set dossier status
cloneDossierStates(dossierTemplate.getId(), clonedDossierTemplate.getId());
// set the watermark configurations
cloneWatermarks(dossierTemplate.getId(), clonedDossierTemplate.getId());
}, () -> {
throw new NotFoundException(String.format(dossierTemplatePersistenceService.DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, dossierTemplateId));
});
@ -225,4 +230,14 @@ public class DossierTemplateCloneService {
}
}
private void cloneWatermarks(String dossierTemplateId, String clonedDossierTemplateId) {
var watermarkList = watermarkService.getWatermarksForDossierTemplateId(dossierTemplateId);
for (var watermark : watermarkList) {
var clonedWatermark = new Watermark();
BeanUtils.copyProperties(watermark, clonedWatermark, "id", "dossierTemplateId");
clonedWatermark.setDossierTemplateId(clonedDossierTemplateId);
watermarkService.createOrUpdateWatermark(clonedWatermark);
}
}
}

View File

@ -233,6 +233,20 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
.build();
dossierStatusClient.createOrUpdateDossierStatus(dossierStatus);
Watermark watermark = new Watermark();
watermark.setName("watermark name");
watermark.setEnabled(true);
watermark.setText("Minions ipsum chasy para tu la bodaaa bananaaaa hana dul sae. Chasy hana dul sae pepete hana dul sae belloo! Tatata bala tu ti aamoo! Jeje.");
watermark.setFontSize(12);
watermark.setFontType("font");
watermark.setHexColor("#dddddd");
watermark.setOpacity(20);
watermark.setOrientation(WatermarkOrientation.DIAGONAL);
watermark.setDossierTemplateId(dossierTemplate.getId());
watermark.setCreatedBy("user");
watermarkClient.createOrUpdateWatermark(watermark);
var allTemplates = dossierTemplateClient.getAllDossierTemplates();
assertThat(allTemplates.size()).isEqualTo(1);
assertThat(allTemplates.get(0)).isEqualTo(dossierTemplate);
@ -268,6 +282,9 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
assertThat(dossierStatusClient.getAllDossierStatuses(List.of(dossierTemplate.getId()))
.get(0)
.getDescription()).isEqualTo(dossierStatusClient.getAllDossierStatuses(List.of(clonedDT.getId())).get(0).getDescription());
assertThat(watermarkClient.getWatermarksForDossierTemplateId(clonedDT.getId()).size()).isEqualTo(1);
assertThat(watermarkClient.getWatermarksForDossierTemplateId(dossierTemplate.getId()).get(0).getName())
.isEqualTo(watermarkClient.getWatermarksForDossierTemplateId(clonedDT.getId()).get(0).getName());
}
}