Merge branch 'master' of ssh://git.iqser.com:2222/red/redaction-report-service
This commit is contained in:
commit
f664b8faa2
@ -24,7 +24,7 @@
|
||||
<dependency>
|
||||
<groupId>com.iqser.red.service</groupId>
|
||||
<artifactId>redaction-service-api-v1</artifactId>
|
||||
<version>2.5.4</version>
|
||||
<version>2.9.0</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.iqser.red.service</groupId>
|
||||
@ -40,12 +40,16 @@
|
||||
<dependency>
|
||||
<groupId>com.iqser.red.service</groupId>
|
||||
<artifactId>configuration-service-api-v1</artifactId>
|
||||
<version>2.5.6</version>
|
||||
<version>2.7.0</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.iqser.red.service</groupId>
|
||||
<artifactId>file-management-service-api-v1</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>com.iqser.red.service</groupId>
|
||||
<artifactId>redaction-service-api-v1</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.iqser.red.service.redaction.report.v1.server;
|
||||
|
||||
import com.iqser.red.commons.spring.DefaultWebMvcConfiguration;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.ProjectClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.configuration.MessagingConfiguration;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
@ -8,14 +11,10 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
import com.iqser.red.commons.spring.DefaultWebMvcConfiguration;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.LegalBasisMappingClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.configuration.MessagingConfiguration;
|
||||
|
||||
@EnableAsync
|
||||
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})
|
||||
@Import({DefaultWebMvcConfiguration.class, MessagingConfiguration.class})
|
||||
@EnableFeignClients(basePackageClasses = {LegalBasisMappingClient.class})
|
||||
@EnableFeignClients(basePackageClasses = {ProjectClient.class})
|
||||
public class Application {
|
||||
|
||||
/**
|
||||
@ -28,4 +27,4 @@ public class Application {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
package com.iqser.red.service.redaction.report.v1.server.client;
|
||||
|
||||
import com.iqser.red.service.configuration.v1.api.resource.LegalBasisMappingResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
@FeignClient(name = "LegalBasisMappingResource", url = "${configuration-service.url}")
|
||||
public interface LegalBasisMappingClient extends LegalBasisMappingResource {
|
||||
}
|
||||
@ -7,7 +7,6 @@ import com.iqser.red.service.redaction.report.v1.api.model.ReportRequestMessage;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.ReportType;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.StoredFileInformation;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.FileStatusClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.LegalBasisMappingClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.ProjectClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.model.ReportRedactionEntry;
|
||||
import com.iqser.red.service.redaction.report.v1.server.storage.ReportStorageService;
|
||||
@ -30,7 +29,6 @@ public class ReportGenerationService {
|
||||
private final ReportStorageService reportStorageService;
|
||||
private final ExcelReportGenerationService excelReportService;
|
||||
private final WordReportGenerationService wordReportGenerationService;
|
||||
private final LegalBasisMappingClient legalBasisMappingClient;
|
||||
private final RedactionLogConverterService redactionLogConverterService;
|
||||
private final FileStatusClient fileStatusClient;
|
||||
private final ProjectClient projectClient;
|
||||
@ -38,7 +36,6 @@ public class ReportGenerationService {
|
||||
|
||||
public List<StoredFileInformation> generateReport(ReportRequestMessage reportMessage) {
|
||||
|
||||
List<LegalBasisMapping> legalBasisMappings = null;
|
||||
XSSFWorkbook excelMultiFileWorkbook = null;
|
||||
XSSFSheet excelMultiFileSheet = null;
|
||||
AtomicInteger excelRowIndex = new AtomicInteger(1);
|
||||
@ -59,9 +56,7 @@ public class ReportGenerationService {
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
RedactionLog redactionLog = reportStorageService.getRedactionLog(reportMessage.getProjectId(), fileId);
|
||||
if (legalBasisMappings == null) {
|
||||
legalBasisMappings = legalBasisMappingClient.getLegalBasisMapping(redactionLog.getRuleSetId());
|
||||
}
|
||||
List<LegalBasisMapping> legalBasisMappings = redactionLog.getLegalBasis();
|
||||
|
||||
List<ReportRedactionEntry> reportEntries = redactionLogConverterService.convertAndSort(redactionLog, legalBasisMappings);
|
||||
|
||||
@ -75,7 +70,7 @@ public class ReportGenerationService {
|
||||
storedFileInformation.add(new StoredFileInformation(fileId, storageId, ReportType.EXCEL_SINGLE_FILE, null));
|
||||
}
|
||||
|
||||
for(String templateId: reportMessage.getTemplateIds()) {
|
||||
for (String templateId : reportMessage.getTemplateIds()) {
|
||||
byte[] template = wordReportGenerationService.generateReport(ReportType.WORD_SINGLE_FILE, reportEntries, redactionLog.getRuleSetId(), templateId, fileStatus, project);
|
||||
String storageId = reportStorageService.storeObject(reportMessage.getDownloadId(), template);
|
||||
storedFileInformation.add(new StoredFileInformation(fileId, storageId, ReportType.WORD_SINGLE_FILE, templateId));
|
||||
|
||||
@ -1,17 +1,11 @@
|
||||
package com.iqser.red.service.redaction.report.v1.server;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.amazonaws.services.s3.AmazonS3;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.iqser.red.service.configuration.v1.api.model.FileAttributeConfig;
|
||||
import com.iqser.red.service.configuration.v1.api.model.FileAttributesConfig;
|
||||
import com.iqser.red.service.configuration.v1.api.model.LegalBasisMapping;
|
||||
import com.iqser.red.service.file.management.v1.api.model.FileAttributes;
|
||||
import com.iqser.red.service.file.management.v1.api.model.FileStatus;
|
||||
import com.iqser.red.service.file.management.v1.api.model.Project;
|
||||
@ -19,7 +13,14 @@ import com.iqser.red.service.file.management.v1.api.model.ReportTemplate;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.ReportType;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.FileAttributesClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.ReportTemplateClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.configuration.MessagingConfiguration;
|
||||
import com.iqser.red.service.redaction.report.v1.server.model.ReportRedactionEntry;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.ExcelReportGenerationService;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.RedactionLogConverterService;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.WordReportGenerationService;
|
||||
import com.iqser.red.service.redaction.report.v1.server.storage.ReportStorageService;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
import com.iqser.red.storage.commons.service.StorageService;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@ -29,18 +30,15 @@ import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import com.amazonaws.services.s3.AmazonS3;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.iqser.red.service.configuration.v1.api.model.LegalBasisMapping;
|
||||
import com.iqser.red.service.redaction.report.v1.server.client.LegalBasisMappingClient;
|
||||
import com.iqser.red.service.redaction.report.v1.server.configuration.MessagingConfiguration;
|
||||
import com.iqser.red.service.redaction.report.v1.server.model.ReportRedactionEntry;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.ExcelReportGenerationService;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.RedactionLogConverterService;
|
||||
import com.iqser.red.service.redaction.report.v1.server.service.WordReportGenerationService;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
import com.iqser.red.storage.commons.service.StorageService;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(webEnvironment = RANDOM_PORT)
|
||||
@ -49,9 +47,6 @@ public class RedactionReportIntegrationTest {
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@MockBean
|
||||
private LegalBasisMappingClient legalBasisMappingClient;
|
||||
|
||||
@MockBean
|
||||
private StorageService storageService;
|
||||
|
||||
@ -87,7 +82,6 @@ public class RedactionReportIntegrationTest {
|
||||
|
||||
RedactionLog redactionLog = objectMapper.readValue(redactionLogResource.getInputStream(), RedactionLog.class);
|
||||
|
||||
redactionLog.setFilename("TestFile");
|
||||
|
||||
ClassPathResource legalBasisMappingResource = new ClassPathResource("files/legalBasisMapping.json");
|
||||
|
||||
@ -131,8 +125,6 @@ public class RedactionReportIntegrationTest {
|
||||
|
||||
RedactionLog redactionLog = objectMapper.readValue(redactionLogResource.getInputStream(), RedactionLog.class);
|
||||
|
||||
redactionLog.setFilename("TestFile");
|
||||
|
||||
ClassPathResource legalBasisMappingResource = new ClassPathResource("files/LegalBasisMapping.json");
|
||||
|
||||
List<LegalBasisMapping> legalBasisMapping = objectMapper.readValue(legalBasisMappingResource.getInputStream(), new TypeReference<>() {
|
||||
@ -140,11 +132,11 @@ public class RedactionReportIntegrationTest {
|
||||
|
||||
List<ReportRedactionEntry> reportEntries = redactionLogConverterService.convertAndSort(redactionLog, legalBasisMapping);
|
||||
|
||||
byte[] report = excelReportGenerationService.generateSingleFileReport(reportEntries, redactionLog.getFilename());
|
||||
byte[] report = excelReportGenerationService.generateSingleFileReport(reportEntries, "TestFile");
|
||||
|
||||
try (FileOutputStream fileOutputStream = new FileOutputStream("/tmp/report.xlsx")) {
|
||||
fileOutputStream.write(report);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user