RED-9947: bulk-local redactions
This commit is contained in:
parent
d7694b37a2
commit
bf5a2dd6f6
@ -255,16 +255,16 @@ public class ManualRedactionController implements ManualRedactionResource {
|
||||
|
||||
Set<String> entryIds;
|
||||
if (!removeRedactionRequest.isRectangle()) {
|
||||
entryIds = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(removeRedactionRequest.getValue(),
|
||||
removeRedactionRequest.isCaseSensitive(),
|
||||
entryIds = entityLogMongoService.findEntryIdsByValueWithFilters(removeRedactionRequest.getValue(),
|
||||
removeRedactionRequest.isCaseSensitive(),
|
||||
removeRedactionRequest.getOriginTypes(),
|
||||
removeRedactionRequest.getOriginLegalBases(),
|
||||
removeRedactionRequest.getPageNumbers());
|
||||
} else {
|
||||
entryIds = entityLogMongoService.findEntryIdsByMatchingFullPositionWithFilters(removeRedactionRequest.getPosition().getRectangle(),
|
||||
removeRedactionRequest.getOriginTypes(),
|
||||
removeRedactionRequest.getOriginLegalBases(),
|
||||
removeRedactionRequest.getPageNumbers());
|
||||
} else {
|
||||
entryIds = entityLogMongoService.findEntryIdsByMatchingFullPositionAndEngineManualWithFilters(removeRedactionRequest.getPosition().getRectangle(),
|
||||
removeRedactionRequest.getOriginTypes(),
|
||||
removeRedactionRequest.getOriginLegalBases(),
|
||||
removeRedactionRequest.getPageNumbers());
|
||||
}
|
||||
Set<RemoveRedactionRequestModel> removeRedactionRequestModels = entryIds.stream()
|
||||
.map(entryId -> RemoveRedactionRequestModel.builder().annotationId(entryId).build())
|
||||
@ -349,16 +349,16 @@ public class ManualRedactionController implements ManualRedactionResource {
|
||||
|
||||
Set<String> entryIds;
|
||||
if (!recategorizationRequest.isRectangle()) {
|
||||
entryIds = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(recategorizationRequest.getValue(),
|
||||
recategorizationRequest.isCaseSensitive(),
|
||||
entryIds = entityLogMongoService.findEntryIdsByValueWithFilters(recategorizationRequest.getValue(),
|
||||
recategorizationRequest.isCaseSensitive(),
|
||||
recategorizationRequest.getOriginTypes(),
|
||||
recategorizationRequest.getOriginLegalBases(),
|
||||
recategorizationRequest.getPageNumbers());
|
||||
} else {
|
||||
entryIds = entityLogMongoService.findEntryIdsByMatchingFullPositionWithFilters(recategorizationRequest.getPosition().getRectangle(),
|
||||
recategorizationRequest.getOriginTypes(),
|
||||
recategorizationRequest.getOriginLegalBases(),
|
||||
recategorizationRequest.getPageNumbers());
|
||||
} else {
|
||||
entryIds = entityLogMongoService.findEntryIdsByMatchingFullPositionAndEngineManualWithFilters(recategorizationRequest.getPosition().getRectangle(),
|
||||
recategorizationRequest.getOriginTypes(),
|
||||
recategorizationRequest.getOriginLegalBases(),
|
||||
recategorizationRequest.getPageNumbers());
|
||||
}
|
||||
Set<RecategorizationRequestModel> recategorizationRequestModels = entryIds.stream()
|
||||
.map(entryId -> RecategorizationRequestModel.builder()
|
||||
|
||||
@ -3,7 +3,6 @@ package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@ -351,52 +350,52 @@ public class EntityLogMongoServiceTest extends AbstractPersistenceServerServiceT
|
||||
Set<String> akessonSetByPositions = entityLogMongoService.findEntryIdsOfManualsWithPositionRectangle(akessonRectangle);
|
||||
assertEquals(akessonSetByPositions.size(), 3);
|
||||
|
||||
Set<String> akessonSetFilterQuery = entityLogMongoService.findEntryIdsByMatchingFullPositionAndEngineManualWithFilters(akessonRectangle,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
Set<String> akessonSetFilterQuery = entityLogMongoService.findEntryIdsByMatchingFullPositionWithFilters(akessonRectangle,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
assertEquals(akessonSetFilterQuery.size(), 3);
|
||||
|
||||
Set<String> akessonSetFilterQueryByPositions = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(akessonValue,
|
||||
false,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
Set<String> akessonSetFilterQueryByPositions = entityLogMongoService.findEntryIdsByValueWithFilters(akessonValue,
|
||||
false,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
assertEquals(akessonSetFilterQueryByPositions.size(), 3);
|
||||
|
||||
akessonSetFilterQuery = entityLogMongoService.findEntryIdsByMatchingFullPositionAndEngineManualWithFilters(akessonRectangle,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Set.of(1, 3));
|
||||
akessonSetFilterQuery = entityLogMongoService.findEntryIdsByMatchingFullPositionWithFilters(akessonRectangle,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Set.of(1, 3));
|
||||
assertEquals(akessonSetFilterQuery.size(), 2);
|
||||
|
||||
akessonSetFilterQueryByPositions = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(akessonValue,
|
||||
false,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Set.of(1, 3));
|
||||
akessonSetFilterQueryByPositions = entityLogMongoService.findEntryIdsByValueWithFilters(akessonValue,
|
||||
false,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Set.of(1, 3));
|
||||
assertEquals(akessonSetFilterQueryByPositions.size(), 2);
|
||||
|
||||
String baldridgeValue = "Baldridge";
|
||||
Set<String> baldridgeSet = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(baldridgeValue,
|
||||
false,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
Set<String> baldridgeSet = entityLogMongoService.findEntryIdsByValueWithFilters(baldridgeValue,
|
||||
false,
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
assertEquals(baldridgeSet.size(), 4);
|
||||
|
||||
Set<String> baldridgeSetWithTypeFilter = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(baldridgeValue,
|
||||
false,
|
||||
Set.of("CBI_author", "Test"),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
Set<String> baldridgeSetWithTypeFilter = entityLogMongoService.findEntryIdsByValueWithFilters(baldridgeValue,
|
||||
false,
|
||||
Set.of("CBI_author", "Test"),
|
||||
Collections.emptySet(),
|
||||
Collections.emptySet());
|
||||
assertEquals(baldridgeSetWithTypeFilter.size(), 2);
|
||||
|
||||
Set<String> baldridgeSetWithLegalBasesFilter = entityLogMongoService.findEntryIdsByValueAndEngineManualWithFilters(baldridgeValue,
|
||||
false,
|
||||
Set.of("CBI_author", "Test"),
|
||||
Set.of("Test"),
|
||||
Collections.emptySet());
|
||||
Set<String> baldridgeSetWithLegalBasesFilter = entityLogMongoService.findEntryIdsByValueWithFilters(baldridgeValue,
|
||||
false,
|
||||
Set.of("CBI_author", "Test"),
|
||||
Set.of("Test"),
|
||||
Collections.emptySet());
|
||||
assertEquals(baldridgeSetWithLegalBasesFilter.size(), 1);
|
||||
|
||||
}
|
||||
|
||||
@ -5,9 +5,9 @@ import java.util.Set;
|
||||
|
||||
public interface EntityLogEntryDocumentCustomRepository {
|
||||
|
||||
List<String> findEntryIdsByValueAndEngineManualWithFilters(String value, boolean caseSensitive, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers);
|
||||
List<String> findEntryIdsByValueWithFilters(String value, boolean caseSensitive, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers);
|
||||
|
||||
|
||||
List<String> findEntryIdsByMatchingPositionAndEngineManualWithFilters(float[] rectangle, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers);
|
||||
List<String> findEntryIdsByMatchingPositionWithFilters(float[] rectangle, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers);
|
||||
|
||||
}
|
||||
|
||||
@ -27,11 +27,7 @@ public class EntityLogEntryDocumentCustomRepositoryImpl implements EntityLogEntr
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> findEntryIdsByValueAndEngineManualWithFilters(String value,
|
||||
boolean caseSensitive,
|
||||
Set<String> originTypes,
|
||||
Set<String> originLegalBases,
|
||||
Set<Integer> pageNumbers) {
|
||||
public List<String> findEntryIdsByValueWithFilters(String value, boolean caseSensitive, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers) {
|
||||
|
||||
Query query = new Query();
|
||||
List<Criteria> criteriaList = new ArrayList<>();
|
||||
@ -52,10 +48,7 @@ public class EntityLogEntryDocumentCustomRepositoryImpl implements EntityLogEntr
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> findEntryIdsByMatchingPositionAndEngineManualWithFilters(float[] rectangle,
|
||||
Set<String> originTypes,
|
||||
Set<String> originLegalBases,
|
||||
Set<Integer> pageNumbers) {
|
||||
public List<String> findEntryIdsByMatchingPositionWithFilters(float[] rectangle, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers) {
|
||||
|
||||
Query query = new Query();
|
||||
List<Criteria> criteriaList = new ArrayList<>();
|
||||
@ -74,8 +67,6 @@ public class EntityLogEntryDocumentCustomRepositoryImpl implements EntityLogEntr
|
||||
@NotNull
|
||||
private void addCommonCriteria(Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers, List<Criteria> criteriaList) {
|
||||
|
||||
criteriaList.add(Criteria.where("engines").is("MANUAL"));
|
||||
|
||||
if (originTypes != null && !originTypes.isEmpty()) {
|
||||
criteriaList.add(Criteria.where("type").in(originTypes));
|
||||
}
|
||||
|
||||
@ -350,21 +350,15 @@ public class EntityLogMongoService {
|
||||
}
|
||||
|
||||
|
||||
public Set<String> findEntryIdsByValueAndEngineManualWithFilters(String value, boolean caseSensitive, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers) {
|
||||
public Set<String> findEntryIdsByValueWithFilters(String value, boolean caseSensitive, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers) {
|
||||
|
||||
return new HashSet<>(entityLogEntryDocumentCustomRepository.findEntryIdsByValueAndEngineManualWithFilters(value, caseSensitive, originTypes, originLegalBases, pageNumbers));
|
||||
return new HashSet<>(entityLogEntryDocumentCustomRepository.findEntryIdsByValueWithFilters(value, caseSensitive, originTypes, originLegalBases, pageNumbers));
|
||||
}
|
||||
|
||||
|
||||
public Set<String> findEntryIdsByMatchingFullPositionAndEngineManualWithFilters(float[] rectangle,
|
||||
Set<String> originTypes,
|
||||
Set<String> originLegalBases,
|
||||
Set<Integer> pageNumbers) {
|
||||
public Set<String> findEntryIdsByMatchingFullPositionWithFilters(float[] rectangle, Set<String> originTypes, Set<String> originLegalBases, Set<Integer> pageNumbers) {
|
||||
|
||||
return new HashSet<>(entityLogEntryDocumentCustomRepository.findEntryIdsByMatchingPositionAndEngineManualWithFilters(rectangle,
|
||||
originTypes,
|
||||
originLegalBases,
|
||||
pageNumbers));
|
||||
return new HashSet<>(entityLogEntryDocumentCustomRepository.findEntryIdsByMatchingPositionWithFilters(rectangle, originTypes, originLegalBases, pageNumbers));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user