RED-6992 - Add removeWatermark flag for dossier template #60

Merged
andrei.isvoran.ext merged 1 commits from RED-7080 into master 2023-07-31 14:24:28 +02:00
10 changed files with 64 additions and 0 deletions

View File

@ -306,6 +306,7 @@ public class DossierTemplateController implements DossierTemplateResource {
.keepOverlappingObjects(dossierTemplate.isKeepOverlappingObjects())
.applyDictionaryUpdatesToAllDossiersByDefault(dossierTemplate.isApplyDictionaryUpdatesToAllDossiersByDefault())
.ocrByDefault(dossierTemplate.isOcrByDefault())
.removeWatermark(dossierTemplate.isRemoveWatermark())
.build();
}

View File

@ -30,4 +30,10 @@ public class DossierTemplateInternalController implements DossierTemplateResourc
return convert(dossierTemplatePersistenceService.getDossierTemplate(dossierTemplateId), DossierTemplate.class);
}
@Override
public DossierTemplate getDossierTemplateById(String dossierTemplateId) {
return convert(dossierTemplatePersistenceService.getDossierTemplate(dossierTemplateId), DossierTemplate.class);
}
}

View File

@ -1,6 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.internal.resources;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
@ -14,9 +16,15 @@ public interface DossierTemplateResource {
String IMPORT_PATH = "/import";
String DOSSIER_TEMPLATE_ID_PARAM = "dossierTemplateId";
String DOSSIER_ID_PATH_PARAM = "/{" + DOSSIER_TEMPLATE_ID_PARAM + "}";
@ResponseBody
@PostMapping(value = InternalApi.BASE_PATH + DOSSIER_TEMPLATE_PATH + IMPORT_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
DossierTemplate importDossierTemplate(@RequestBody ImportDossierTemplateRequest request);
@GetMapping(value = InternalApi.BASE_PATH + DOSSIER_TEMPLATE_PATH + DOSSIER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE)
DossierTemplate getDossierTemplateById(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId);
}

View File

@ -81,6 +81,9 @@ public class DossierTemplateEntity {
@Column(name = "ocr_by_default")
private boolean ocrByDefault;
@Column(name = "remove_watermark")
private boolean removeWatermark;
@Builder.Default
@Column(columnDefinition = "text", name = "download_file_types")
@Convert(converter = JSONDownloadFileTypeConverter.class)

View File

@ -149,3 +149,5 @@ databaseChangeLog:
file: db/changelog/tenant/53-add-apply_dictionary_updates_to_all_dossiers_to_dossier_template.yaml
- include:
file: db/changelog/tenant/104-add-ocr-by-default-to-dossier-template.yaml
- include:
file: db/changelog/tenant/105-add-remove-watermark-to-dossier-template.yaml

View File

@ -0,0 +1,12 @@
databaseChangeLog:
- changeSet:
id: add-ocr-by-default-to-dossier-template
author: andreiisvoran
changes:
- addColumn:
columns:
- column:
name: remove_watermark
type: BOOLEAN
defaultValue: false
tableName: dossier_template

View File

@ -747,4 +747,30 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
assertThat(loadedTemplate.isOcrByDefault()).isFalse();
}
@Test
public void testDossierTemplateWithRemoveWatermark() {
String name = "Test Dossier Template";
DossierTemplateModel dossierTemplateModel = new DossierTemplateModel();
dossierTemplateModel.setDownloadFileTypes(Sets.newHashSet(DownloadFileType.ORIGINAL));
dossierTemplateModel.setName(name);
dossierTemplateModel.setDescription("Template 1");
dossierTemplateModel.setValidFrom(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
dossierTemplateModel.setValidTo(OffsetDateTime.now().plusHours(1).truncatedTo(ChronoUnit.MILLIS));
dossierTemplateModel.setRemoveWatermark(true);
DossierTemplateModel result = dossierTemplateClient.createOrUpdateDossierTemplate(dossierTemplateModel);
assertThat(result.getName()).isEqualTo(name);
assertThat(result.isRemoveWatermark()).isTrue();
DossierTemplateModel loadedTemplate = dossierTemplateClient.getDossierTemplate(result.getDossierTemplateId());
assertThat(loadedTemplate).isEqualTo(result);
dossierTemplateModel.setName("Test Dossier Template Update");
dossierTemplateModel.setRemoveWatermark(false);
loadedTemplate = dossierTemplateClient.createOrUpdateDossierTemplate(dossierTemplateModel);
assertThat(loadedTemplate.isRemoveWatermark()).isFalse();
}
}

View File

@ -68,6 +68,9 @@ public class DossierTemplateModel {
@Schema(description = "Flag that specifies if OCR is automatically performed on upload for all dossiers of this template")
private boolean ocrByDefault;
@Schema(description = "Flag that specifies the watermark removal in documents will be performed before the OCR processing")
private boolean removeWatermark;
public String getId() {
return dossierTemplateId;

View File

@ -39,4 +39,6 @@ public class CreateOrUpdateDossierTemplateRequest {
private boolean ocrByDefault;
private boolean removeWatermark;
}

View File

@ -35,5 +35,6 @@ public class DossierTemplate {
private boolean keepOverlappingObjects;
private boolean applyDictionaryUpdatesToAllDossiersByDefault;
private boolean ocrByDefault;
private boolean removeWatermark;
}