RED-8702
This commit is contained in:
parent
c7d650abb9
commit
2dbc4ef348
@ -81,7 +81,7 @@ public class EntityLogMergeService {
|
||||
|
||||
List<EntityLogEntry> matchingEntities = entityLog.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> manualChangesIds.contains(entityLogEntry.getId()))
|
||||
.filter(entityLogEntry -> manualChangesIds.contains(entityLogEntry.getEntryId()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final int analysisNumber = entityLog.getAnalysisNumber();
|
||||
@ -143,7 +143,7 @@ public class EntityLogMergeService {
|
||||
private EntityLogEntry findMatchingEntry(String annotationId, List<EntityLogEntry> matchingEntities) {
|
||||
|
||||
return matchingEntities.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getId().equals(annotationId))
|
||||
.filter(entityLogEntry -> entityLogEntry.getEntryId().equals(annotationId))
|
||||
.findAny()
|
||||
.orElseThrow(() -> new NotFoundException("No matching EntityLogEntry found for id " + annotationId));
|
||||
}
|
||||
@ -182,7 +182,7 @@ public class EntityLogMergeService {
|
||||
boolean isHint = isHint(manualRedactionEntry.getType(), dossier);
|
||||
|
||||
EntityLogEntry entityLogEntry = EntityLogEntry.builder()
|
||||
.id(manualRedactionEntry.getAnnotationId())
|
||||
.entryId(manualRedactionEntry.getAnnotationId())
|
||||
.type(manualRedactionEntry.getType())
|
||||
.value(manualRedactionEntry.getValue())
|
||||
.legalBasis(manualRedactionEntry.getLegalBasis())
|
||||
@ -237,7 +237,7 @@ public class EntityLogMergeService {
|
||||
private void mergeIdsToRemove(IdRemoval idRemoval, List<EntityLogEntry> entityLogEntries, int analysisNumber) {
|
||||
|
||||
var entity = entityLogEntries.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getId().equals(idRemoval.getAnnotationId()))
|
||||
.filter(entityLogEntry -> entityLogEntry.getEntryId().equals(idRemoval.getAnnotationId()))
|
||||
.findAny();
|
||||
entity.ifPresent(entityLogEntry -> {
|
||||
entityLogEntry.setState(EntryState.IGNORED);
|
||||
@ -258,7 +258,7 @@ public class EntityLogMergeService {
|
||||
private void mergeResizeRedactions(ManualResizeRedaction manualResizeRedaction, List<EntityLogEntry> entityLogEntries, int analysisNumber) {
|
||||
|
||||
var entity = entityLogEntries.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getId().equals(manualResizeRedaction.getAnnotationId()))
|
||||
.filter(entityLogEntry -> entityLogEntry.getEntryId().equals(manualResizeRedaction.getAnnotationId()))
|
||||
.findAny();
|
||||
entity.ifPresent(entityLogEntry -> {
|
||||
entityLogEntry.setTextAfter(manualResizeRedaction.getTextAfter());
|
||||
@ -283,7 +283,7 @@ public class EntityLogMergeService {
|
||||
private void mergeLegalBasisChanges(ManualLegalBasisChange manualLegalBasisChange, List<EntityLogEntry> entityLogEntries, int analysisNumber) {
|
||||
|
||||
var entity = entityLogEntries.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getId().equals(manualLegalBasisChange.getAnnotationId()))
|
||||
.filter(entityLogEntry -> entityLogEntry.getEntryId().equals(manualLegalBasisChange.getAnnotationId()))
|
||||
.findAny();
|
||||
entity.ifPresent(entityLogEntry -> {
|
||||
entityLogEntry.setLegalBasis(manualLegalBasisChange.getLegalBasis());
|
||||
@ -325,7 +325,7 @@ public class EntityLogMergeService {
|
||||
|
||||
boolean isHint = isHint(recategorization.getType(), dossier);
|
||||
var entity = entityLogEntries.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getId().equals(recategorization.getAnnotationId()))
|
||||
.filter(entityLogEntry -> entityLogEntry.getEntryId().equals(recategorization.getAnnotationId()))
|
||||
.findAny();
|
||||
entity.ifPresent(entityLogEntry -> {
|
||||
entityLogEntry.setType(recategorization.getType());
|
||||
@ -348,7 +348,7 @@ public class EntityLogMergeService {
|
||||
private void mergeForceRedactions(ManualForceRedaction forceRedaction, List<EntityLogEntry> entityLogEntries, int analysisNumber) {
|
||||
|
||||
var entity = entityLogEntries.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getId().equals(forceRedaction.getAnnotationId()))
|
||||
.filter(entityLogEntry -> entityLogEntry.getEntryId().equals(forceRedaction.getAnnotationId()))
|
||||
.findAny();
|
||||
entity.ifPresent(entityLogEntry -> {
|
||||
entityLogEntry.setLegalBasis(forceRedaction.getLegalBasis());
|
||||
|
||||
@ -80,7 +80,7 @@ public class EntityLogService {
|
||||
|
||||
Map<String, Integer> commentCountPerAnnotationId = commentService.getCommentCounts(fileId);
|
||||
entityLog.getEntityLogEntry()
|
||||
.forEach(entityLogEntry -> entityLogEntry.setNumberOfComments(commentCountPerAnnotationId.getOrDefault(entityLogEntry.getId(), 0)));
|
||||
.forEach(entityLogEntry -> entityLogEntry.setNumberOfComments(commentCountPerAnnotationId.getOrDefault(entityLogEntry.getEntryId(), 0)));
|
||||
|
||||
return entityLog;
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ import java.util.Set;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.EntityLogService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog;
|
||||
@ -187,7 +186,7 @@ public class ManualRedactionMapper {
|
||||
|
||||
return entityLog.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entry -> entry.getId().equals(annotationId))
|
||||
.filter(entry -> entry.getEntryId().equals(annotationId))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new NotFoundException("Annotation does not exist in entity log."));
|
||||
}
|
||||
|
||||
@ -348,7 +348,7 @@ public class ManualRedactionService {
|
||||
|
||||
return entityLog.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entry -> entry.getId().equals(annotationId))
|
||||
.filter(entry -> entry.getEntryId().equals(annotationId))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new NotFoundException("Annotation does not exist in entity log."));
|
||||
}
|
||||
|
||||
@ -343,7 +343,7 @@ public class ManualRedactionUndoService {
|
||||
|
||||
return entityLog.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entry -> entry.getId().equals(annotationId))
|
||||
.filter(entry -> entry.getEntryId().equals(annotationId))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new NotFoundException("Annotation does not exist in entity log."));
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ public class PendingDictionaryEntryFactory {
|
||||
.propertyChanges(Map.of("value", manualRedactionEntry.getValue()))
|
||||
.build());
|
||||
return EntityLogEntry.builder()
|
||||
.id(manualRedactionEntry.getAnnotationId())
|
||||
.entryId(manualRedactionEntry.getAnnotationId())
|
||||
.value(manualRedactionEntry.getValue())
|
||||
.type(manualRedactionEntry.getType())
|
||||
.entryType(Optional.ofNullable(manualRedactionEntry.getDictionaryEntryType())
|
||||
@ -82,7 +82,7 @@ public class PendingDictionaryEntryFactory {
|
||||
.build());
|
||||
|
||||
return EntityLogEntry.builder()
|
||||
.id(originalEntry.getId())
|
||||
.entryId(originalEntry.getEntryId())
|
||||
.value(originalEntry.getValue())
|
||||
.type(originalEntry.getType())
|
||||
.entryType(originalEntry.getEntryType())
|
||||
@ -121,7 +121,7 @@ public class PendingDictionaryEntryFactory {
|
||||
.propertyChanges(propertyChanges)
|
||||
.build());
|
||||
return EntityLogEntry.builder()
|
||||
.id(originalEntry.getId())
|
||||
.entryId(originalEntry.getEntryId())
|
||||
.value(manualChange.getValue())
|
||||
.type(originalEntry.getType())
|
||||
.entryType(originalEntry.getEntryType())
|
||||
@ -171,7 +171,7 @@ public class PendingDictionaryEntryFactory {
|
||||
.build());
|
||||
|
||||
return EntityLogEntry.builder()
|
||||
.id(originalEntry.getId())
|
||||
.entryId(originalEntry.getEntryId())
|
||||
.value(originalEntry.getValue())
|
||||
.type(manualChange.getType())
|
||||
.entryType(originalEntry.getEntryType())
|
||||
|
||||
@ -66,10 +66,12 @@ public class FileTesterAndProvider {
|
||||
|
||||
fileManagementStorageService.saveEntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
new EntityLog(1,
|
||||
new EntityLog(dossier.getId(),
|
||||
fileId,
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("annotationId")
|
||||
.entryId("annotationId")
|
||||
.type("manual")
|
||||
.value("value entry")
|
||||
.entryType(EntryType.ENTITY)
|
||||
|
||||
@ -120,7 +120,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
ManualRedactions manualRedactions = provideManualRedactions(entryToAddId, entryToRemoveId, entryToResizeId, entryLegalBasisId, forceRedactionId, fileId, rectangleToAddId);
|
||||
|
||||
var entityLog = provideEntityLog(entryToRemoveId, entryToResizeId, entryLegalBasisId, forceRedactionId);
|
||||
var entityLog = provideEntityLog(dossierId, fileId, entryToRemoveId, entryToResizeId, entryLegalBasisId, forceRedactionId);
|
||||
|
||||
when(manualRedactionProviderService.getManualRedactions(any(), any())).thenReturn(manualRedactions);
|
||||
when(fileStatusService.getStatus(fileId)).thenReturn(FileModel.builder().excluded(false).dossierStatusId(dossierTemplateId).id(fileId).build());
|
||||
@ -137,7 +137,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
var optionalEntityLogEntry = response.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getId().equals(entryToAddId))
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getEntryId().equals(entryToAddId))
|
||||
.findFirst();
|
||||
assertTrue(optionalEntityLogEntry.isPresent());
|
||||
var entityLogEntry = optionalEntityLogEntry.get();
|
||||
@ -152,7 +152,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
var optionalRemoveEntryLogEntry = response.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getId().equals(entryToRemoveId))
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getEntryId().equals(entryToRemoveId))
|
||||
.findFirst();
|
||||
assertTrue(optionalRemoveEntryLogEntry.isPresent());
|
||||
var removeEntryLogEntry = optionalRemoveEntryLogEntry.get();
|
||||
@ -166,7 +166,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
var optionalResizeEntryLogEntry = response.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getId().equals(entryToResizeId))
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getEntryId().equals(entryToResizeId))
|
||||
.findFirst();
|
||||
assertTrue(optionalResizeEntryLogEntry.isPresent());
|
||||
var resizeEntryLogEntry = optionalResizeEntryLogEntry.get();
|
||||
@ -190,7 +190,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
var optionalLegalBasisEntryLogEntry = response.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getId().equals(entryLegalBasisId))
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getEntryId().equals(entryLegalBasisId))
|
||||
.findFirst();
|
||||
assertTrue(optionalLegalBasisEntryLogEntry.isPresent());
|
||||
var legalBasisEntryLogEntry = optionalLegalBasisEntryLogEntry.get();
|
||||
@ -205,7 +205,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
var optionalForceRedactionEntryLogEntry = response.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getId().equals(forceRedactionId))
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getEntryId().equals(forceRedactionId))
|
||||
.findFirst();
|
||||
assertTrue(optionalForceRedactionEntryLogEntry.isPresent());
|
||||
var forceRedactionEntryLogEntry = optionalForceRedactionEntryLogEntry.get();
|
||||
@ -220,7 +220,7 @@ public class EntityLogMergeTest {
|
||||
|
||||
var optionalRectangleEntryLogEntry = response.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getId().equals(rectangleToAddId))
|
||||
.filter(entityLogEntry1 -> entityLogEntry1.getEntryId().equals(rectangleToAddId))
|
||||
.findFirst();
|
||||
assertTrue(optionalRectangleEntryLogEntry.isPresent());
|
||||
var rectangleEntryLogEntry = optionalRectangleEntryLogEntry.get();
|
||||
@ -236,22 +236,24 @@ public class EntityLogMergeTest {
|
||||
}
|
||||
|
||||
|
||||
private EntityLog provideEntityLog(String entryToRemoveId, String entryToResizeId, String entryLegalBasisId, String forceRedactionId) {
|
||||
private EntityLog provideEntityLog(String dossierId, String fileId, String entryToRemoveId, String entryToResizeId, String entryLegalBasisId, String forceRedactionId) {
|
||||
|
||||
List<Position> positions = new ArrayList<>();
|
||||
positions.add(new Position(1, 1, 1, 1, 1));
|
||||
return new EntityLog(1,
|
||||
return new EntityLog(dossierId,
|
||||
fileId,
|
||||
1,
|
||||
Lists.newArrayList(EntityLogEntry.builder()
|
||||
.id(entryToRemoveId)
|
||||
1,
|
||||
Lists.newArrayList(EntityLogEntry.builder().entityLogId(EntityLog.getId(dossierId, fileId))
|
||||
.entryId(entryToRemoveId)
|
||||
.type("manual")
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
.state(EntryState.APPLIED)
|
||||
.dictionaryEntry(true)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(entryToResizeId)
|
||||
EntityLogEntry.builder().entityLogId(EntityLog.getId(dossierId, fileId))
|
||||
.entryId(entryToResizeId)
|
||||
.type("manual")
|
||||
.value("Darth Vader")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -259,8 +261,8 @@ public class EntityLogMergeTest {
|
||||
.dictionaryEntry(true)
|
||||
.positions(positions)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(entryLegalBasisId)
|
||||
EntityLogEntry.builder().entityLogId(EntityLog.getId(dossierId, fileId))
|
||||
.entryId(entryLegalBasisId)
|
||||
.type("manual")
|
||||
.value("Darth Luke")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -268,8 +270,8 @@ public class EntityLogMergeTest {
|
||||
.dictionaryEntry(true)
|
||||
.positions(positions)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(forceRedactionId)
|
||||
EntityLogEntry.builder().entityLogId(EntityLog.getId(dossierId, fileId))
|
||||
.entryId(forceRedactionId)
|
||||
.type("manual")
|
||||
.value("Darth Luke")
|
||||
.entryType(EntryType.ENTITY)
|
||||
|
||||
@ -369,10 +369,13 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
var type = typeProvider.testAndProvideType(dossierTemplate, null, "manual");
|
||||
|
||||
var annotationId = "imagine_this_makes_sense";
|
||||
EntityLog entityLog = new EntityLog(1,
|
||||
EntityLog entityLog = new EntityLog(dossierId,
|
||||
fileId,
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(annotationId)
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId(annotationId)
|
||||
.type(type.getType())
|
||||
.value("value entry")
|
||||
.state(EntryState.APPLIED)
|
||||
|
||||
@ -45,10 +45,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLogEntry;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryState;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.AddRedactionRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ManualRedactions;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.Rectangle;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRedactionEntry;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionaryEntryType;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.AddRedactionRequestModel;
|
||||
@ -124,10 +121,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type(type.getType())
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -318,10 +318,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
Dictionary dossierDictionary = dictionaryClient.getDictionaryForType(type.getType(), type.getDossierTemplateId(), dossier.getId());
|
||||
assertThat(dossierDictionary.getEntries()).containsExactlyInAnyOrder("Luke Skywalker");
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type("test")
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -378,10 +381,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
// CreateTypeValue dossierDictionaryType = MagicConverter.convert(type, CreateTypeValue.class);
|
||||
// dictionaryClient.addType(dossierDictionaryType, dossier.getId());
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type("test")
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -433,10 +439,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
// dictionaryClient.addType(dossierDictionaryType, dossier.getId());
|
||||
dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type("test")
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -520,10 +529,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict));
|
||||
var loadedRedactionsFile1 = manualRedactionClient.getManualRedactions(file1.getDossierId(), file1.getFileId(), false, true);
|
||||
|
||||
var entityLog1 = new EntityLog(1,
|
||||
var entityLog1 = new EntityLog(dossier1.getId(),
|
||||
file1.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(0).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(0).getAnnotationId())
|
||||
.type(typeDosDict.getType())
|
||||
.value("test redaction in dossier")
|
||||
.dossierDictionaryEntry(true)
|
||||
@ -531,7 +543,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.state(EntryState.APPLIED)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template")
|
||||
.dictionaryEntry(true)
|
||||
@ -547,10 +560,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build();
|
||||
when(entityLogService.getEntityLog(eq(file1.getDossierId()), eq(file1.getFileId()), any(), anyBoolean())).thenReturn(entityLog1);
|
||||
|
||||
var entityLog2 = new EntityLog(1,
|
||||
var entityLog2 = new EntityLog(dossier2.getId(),
|
||||
file2.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template")
|
||||
.dictionaryEntry(true)
|
||||
@ -685,10 +701,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict));
|
||||
var loadedRedactionsFile1 = manualRedactionClient.getManualRedactions(file1.getDossierId(), file1.getFileId(), false, true);
|
||||
|
||||
var entityLog1 = new EntityLog(1,
|
||||
var entityLog1 = new EntityLog(dossier1.getId(),
|
||||
file1.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(0).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(0).getAnnotationId())
|
||||
.type(typeDosDict.getType())
|
||||
.value("test redaction in dossier yayy")
|
||||
.dossierDictionaryEntry(true)
|
||||
@ -696,7 +715,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.state(EntryState.APPLIED)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template yayy")
|
||||
.dictionaryEntry(true)
|
||||
@ -712,10 +732,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build();
|
||||
when(entityLogService.getEntityLog(eq(file1.getDossierId()), eq(file1.getFileId()), any(), anyBoolean())).thenReturn(entityLog1);
|
||||
|
||||
var entityLog2 = new EntityLog(1,
|
||||
var entityLog2 = new EntityLog(dossier2.getId(),
|
||||
file2.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template yayy")
|
||||
.dictionaryEntry(true)
|
||||
@ -854,10 +877,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict));
|
||||
|
||||
var entityLog1 = new EntityLog(1,
|
||||
var entityLog1 = new EntityLog(dossier1.getId(),
|
||||
file1.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(0).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(0).getAnnotationId())
|
||||
.type(typeDosDict.getType())
|
||||
.value("test redaction in dossier")
|
||||
.dossierDictionaryEntry(true)
|
||||
@ -865,7 +891,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.state(EntryState.APPLIED)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template")
|
||||
.dictionaryEntry(true)
|
||||
@ -881,10 +908,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build();
|
||||
when(entityLogService.getEntityLog(file1.getDossierId(), file1.getFileId())).thenReturn(entityLog1);
|
||||
|
||||
var entityLog2 = new EntityLog(1,
|
||||
var entityLog2 = new EntityLog(dossier2.getId(),
|
||||
file2.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template")
|
||||
.dictionaryEntry(true)
|
||||
@ -1020,10 +1050,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict));
|
||||
|
||||
var entityLog1 = new EntityLog(1,
|
||||
var entityLog1 = new EntityLog(dossier1.getId(),
|
||||
file1.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(0).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(0).getAnnotationId())
|
||||
.type(typeDosDict.getType())
|
||||
.value("test redaction in dossier yayy")
|
||||
.dossierDictionaryEntry(true)
|
||||
@ -1031,7 +1064,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.state(EntryState.APPLIED)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template yayy")
|
||||
.dictionaryEntry(true)
|
||||
@ -1047,10 +1081,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build();
|
||||
when(entityLogService.getEntityLog(file1.getDossierId(), file1.getFileId())).thenReturn(entityLog1);
|
||||
|
||||
var entityLog2 = new EntityLog(1,
|
||||
var entityLog2 = new EntityLog(dossier2.getId(),
|
||||
file2.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(addRedactions.get(1).getAnnotationId())
|
||||
.entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId()))
|
||||
.entryId(addRedactions.get(1).getAnnotationId())
|
||||
.type(typeDosTempDict.getType())
|
||||
.value("test redaction in dossier template yayy")
|
||||
.dictionaryEntry(true)
|
||||
@ -1171,10 +1208,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(dossierDictionary2.getEntries()).isEmpty();
|
||||
|
||||
var annotationId = "AnnotationId";
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(annotationId)
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId(annotationId)
|
||||
.type(type.getType())
|
||||
.value(lukeSkywalker)
|
||||
.dictionaryEntry(true)
|
||||
@ -1255,10 +1295,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(dossierDictionary2.getEntries()).isEmpty();
|
||||
|
||||
var annotationId = "AnnotationId";
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id(annotationId)
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId(annotationId)
|
||||
.type(type.getType())
|
||||
.value(lukeSkywalker)
|
||||
.dictionaryEntry(true)
|
||||
@ -1426,10 +1469,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Anakin"), false, dossier.getId(), DictionaryEntryType.ENTRY);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type(type.getType())
|
||||
.value("Anakin")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1437,7 +1483,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.dictionaryEntry(false)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id("AnnotationId2")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId2")
|
||||
.type(type.getType())
|
||||
.value("Anakin2")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1625,10 +1672,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Darth Vader"), false, dossier.getId(), DictionaryEntryType.ENTRY);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("dv")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("dv")
|
||||
.type(type.getType())
|
||||
.value("Darth Vader")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1636,7 +1686,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.dictionaryEntry(false)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id("dv2")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("dv2")
|
||||
.type(type.getType())
|
||||
.value("Vader Darth")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1731,10 +1782,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type(type.getType())
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1742,7 +1796,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.dictionaryEntry(false)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id("AnnotationId2")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId2")
|
||||
.type(type.getType())
|
||||
.value("Skywalker Luke")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1841,10 +1896,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("AnnotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId")
|
||||
.type(type.getType())
|
||||
.value("Luke Skywalker")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1852,7 +1910,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.dictionaryEntry(false)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id("AnnotationId2")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("AnnotationId2")
|
||||
.type(type.getType())
|
||||
.value("Skywalker Luke")
|
||||
.entryType(EntryType.ENTITY)
|
||||
@ -1917,10 +1976,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
var type = typeProvider.testAndProvideType(dossierTemplate, null, "type", false);
|
||||
|
||||
var entityLog = new EntityLog(1,
|
||||
var entityLog = new EntityLog(dossier.getId(),
|
||||
file.getFileId(),
|
||||
1,
|
||||
1,
|
||||
List.of(EntityLogEntry.builder()
|
||||
.id("annotationId")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("annotationId")
|
||||
.type(type.getType())
|
||||
.value("lukeSkywalker")
|
||||
.dictionaryEntry(true)
|
||||
@ -1928,7 +1990,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.state(EntryState.APPLIED)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id("annotationId2")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("annotationId2")
|
||||
.type(type.getType())
|
||||
.value("Johannesbrotkernmehl")
|
||||
.dictionaryEntry(true)
|
||||
@ -1936,7 +1999,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
|
||||
.state(EntryState.APPLIED)
|
||||
.build(),
|
||||
EntityLogEntry.builder()
|
||||
.id("annotationId3")
|
||||
.entityLogId(EntityLog.getId(dossier.getId(), file.getFileId()))
|
||||
.entryId("annotationId3")
|
||||
.type(type.getType())
|
||||
.value("Baustelle")
|
||||
.dictionaryEntry(true)
|
||||
|
||||
@ -299,8 +299,10 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
// doNothing().when(pdfTronRedactionClient).testDigitalCurrentSignature(Mockito.any());
|
||||
|
||||
when(amqpAdmin.getQueueInfo(Mockito.any())).thenReturn(null);
|
||||
when(entityLogService.getEntityLog(Mockito.any(), Mockito.any())).thenReturn(new EntityLog(1, 1, Lists.newArrayList(), null, 0, 0, 0, 0));
|
||||
when(entityLogService.getEntityLog(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyBoolean())).thenReturn(new EntityLog(1,
|
||||
when(entityLogService.getEntityLog(Mockito.any(), Mockito.any())).thenReturn(new EntityLog("", "", 1, 1, Lists.newArrayList(), null, 0, 0, 0, 0));
|
||||
when(entityLogService.getEntityLog(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyBoolean())).thenReturn(new EntityLog("",
|
||||
"",
|
||||
1,
|
||||
1,
|
||||
Lists.newArrayList(),
|
||||
null,
|
||||
|
||||
@ -11,6 +11,7 @@ dependencies {
|
||||
api("org.springframework.boot:spring-boot-starter-validation:3.1.3")
|
||||
api("com.iqser.red.commons:jackson-commons:2.1.0")
|
||||
api("com.iqser.red.commons:dictionary-merge-commons:1.3.0")
|
||||
implementation("org.springframework.boot:spring-boot-starter-data-mongodb:${springBootStarterVersion}")
|
||||
testImplementation("com.iqser.red.commons:test-commons:2.1.0")
|
||||
testImplementation("org.springframework.boot:spring-boot-starter-test:3.0.4")
|
||||
compileOnly("org.springdoc:springdoc-openapi-ui:1.7.0")
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
public @interface CascadeSave {
|
||||
//
|
||||
}
|
||||
@ -3,6 +3,10 @@ package com.iqser.red.service.persistence.service.v1.api.shared.model.analysislo
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.mongodb.core.mapping.DBRef;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -10,8 +14,15 @@ import lombok.NoArgsConstructor;
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Document(collection = "entity-logs")
|
||||
public class EntityLog {
|
||||
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
private String dossierId;
|
||||
|
||||
private String fileId;
|
||||
/**
|
||||
* Version 0 Redaction Logs have manual redactions merged inside them
|
||||
* Version 1 Redaction Logs only contain system ( rule/dictionary ) redactions. Manual Redactions are merged in at runtime.
|
||||
@ -23,6 +34,8 @@ public class EntityLog {
|
||||
*/
|
||||
private int analysisNumber;
|
||||
|
||||
@DBRef
|
||||
@CascadeSave
|
||||
private List<EntityLogEntry> entityLogEntry = new ArrayList<>();
|
||||
private List<EntityLogLegalBasis> legalBasis = new ArrayList<>();
|
||||
|
||||
@ -31,4 +44,33 @@ public class EntityLog {
|
||||
private long rulesVersion = -1;
|
||||
private long legalBasisVersion = -1;
|
||||
|
||||
|
||||
public EntityLog(String dossierId,
|
||||
String fileId,
|
||||
long analysisVersion,
|
||||
int analysisNumber,
|
||||
List<EntityLogEntry> entityLogEntry,
|
||||
List<EntityLogLegalBasis> legalBasis,
|
||||
long dictionaryVersion,
|
||||
long dossierDictionaryVersion,
|
||||
long rulesVersion,
|
||||
long legalBasisVersion) {
|
||||
|
||||
this.id = getId(dossierId, fileId);
|
||||
this.dossierId = dossierId;
|
||||
this.fileId = fileId;
|
||||
this.analysisVersion = analysisVersion;
|
||||
this.analysisNumber = analysisNumber;
|
||||
this.entityLogEntry = entityLogEntry;
|
||||
this.legalBasis = legalBasis;
|
||||
this.dictionaryVersion = dictionaryVersion;
|
||||
this.dossierDictionaryVersion = dossierDictionaryVersion;
|
||||
this.rulesVersion = rulesVersion;
|
||||
this.legalBasisVersion = legalBasisVersion;
|
||||
}
|
||||
|
||||
public static String getId(String dossierId, String fileId) {
|
||||
return dossierId + "/" + fileId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@ -19,9 +21,11 @@ import lombok.experimental.FieldDefaults;
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
@Document(collection = "entity-log-entries")
|
||||
public class EntityLogEntry {
|
||||
|
||||
String id;
|
||||
String entryId;
|
||||
String entityLogId;
|
||||
String type;
|
||||
EntryType entryType;
|
||||
EntryState state;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user