RED-3246: As an admin I want to clone a dossier template

This commit is contained in:
aoezyetimoglu 2022-03-22 09:23:40 +01:00
parent ce0a9bfd0b
commit eddfe5247c
2 changed files with 11 additions and 10 deletions

View File

@ -142,11 +142,13 @@ public class DossierTemplateCloneService {
List<TypeEntity> clonedTypes = new ArrayList<>();
var types = dictionaryPersistenceService.getAllTypesForDossierTemplate(dossierTemplateId);
for (TypeEntity t : types) {
log.info("type: {} id: {}", t.getType(), t.getId());
TypeEntity te = dictionaryPersistenceService.addType(t.getType(), clonedDossierTemplateId, t.getHexColor(), t.getRecommendationHexColor(), t.getRank(), t.isHint(), t.isCaseInsensitive(), t.isRecommendation(), t.getDescription(), t.isAddToDictionaryAction(), t.getLabel(), null);
te.setDossierTemplateId(clonedDossierTemplateId);
clonedTypes.add(te);
for (DictionaryEntryType det : DictionaryEntryType.values()) {
var baseDictionaryEntries = entryPersistenceService.getEntries(t.getId(), det, t.getVersion());
log.info("type: {} det {} size: {}", t.getType(), det.name(), baseDictionaryEntries.size());
List<String> entries = baseDictionaryEntries.stream().map(baseDictionaryEntry -> baseDictionaryEntry.getValue()).collect(Collectors.toList());
entryPersistenceService.addEntry(te.getId(), entries, te.getVersion(), det);
}

View File

@ -53,6 +53,7 @@ import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.co
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.WatermarkOrientation;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttributeType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatusInfo;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeConfig;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry;
@ -151,7 +152,6 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
Type type = Type.builder()
// .id("t1id")
.type("t")
.dossierTemplateId(dossierTemplate.getId())
.hexColor("#ddddd")
@ -170,7 +170,6 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
.falseRecommendationEntries(List.of(DictionaryEntry.builder().entryId(3001).value("dictEntry3").version(23).deleted(false).typeId("t.getType()").build()))
.build();
Type type2 = Type.builder()
// .id("t2id")
.type("t2")
.dossierTemplateId(dossierTemplate.getId())
.hexColor("#12345")
@ -261,14 +260,14 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
.manualRedactionColor("#bbbbbb")
.build();
dictionaryClient.setColors(dossierTemplate.getId(), col);
var dossierStatus = CreateOrUpdateDossierStatusRequest.builder()
.name("dossStatus1")
.description("dossier status description")
.color("#115599")
.rank(456)
.dossierTemplateId(dossierTemplate.getId())
.build();
dossierStatusClient.createOrUpdateDossierStatus(dossierStatus);
// var dossierStatus = CreateOrUpdateDossierStatusRequest.builder()
// .name("dossStatus1")
// .description("dossier status description")
// .color("#115599")
// .rank(456)
// .dossierTemplateId(dossierTemplate.getId())
// .build();
// dossierStatusClient.createOrUpdateDossierStatus(dossierStatus);
var allTemplates = dossierTemplateClient.getAllDossierTemplates();
assertThat(allTemplates.size()).isEqualTo(1);