RED-3904 entities fix
This commit is contained in:
parent
cf3334bff8
commit
b5d81f2b54
@ -68,21 +68,6 @@ public class TypeEntity {
|
||||
@Column
|
||||
private OffsetDateTime softDeletedTime;
|
||||
|
||||
@Fetch(FetchMode.SUBSELECT)
|
||||
@BatchSize(size = 500)
|
||||
@OneToMany(cascade = ALL, mappedBy = "type", orphanRemoval = true, fetch = FetchType.LAZY)
|
||||
private List<DictionaryEntryEntity> entries = new ArrayList<>();
|
||||
|
||||
@Fetch(FetchMode.SUBSELECT)
|
||||
@BatchSize(size = 500)
|
||||
@OneToMany(cascade = ALL, mappedBy = "type", orphanRemoval = true, fetch = FetchType.LAZY)
|
||||
private List<DictionaryFalsePositiveEntryEntity> falsePositiveEntries = new ArrayList<>();
|
||||
|
||||
@Fetch(FetchMode.SUBSELECT)
|
||||
@BatchSize(size=500)
|
||||
@OneToMany(cascade = ALL, mappedBy = "type", orphanRemoval = true, fetch = FetchType.LAZY)
|
||||
private List<DictionaryFalseRecommendationEntryEntity> falseRecommendationEntries = new ArrayList<>();
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "dossier_template_id")
|
||||
private DossierTemplateEntity dossierTemplate;
|
||||
|
||||
@ -57,10 +57,10 @@ public class DictionaryPersistenceService {
|
||||
.hasDictionary(hasDictionary)
|
||||
.systemManaged(systemManaged)
|
||||
.autoHideSkipped(autoHideSkipped)
|
||||
.softDeletedTime(null)
|
||||
.build();
|
||||
|
||||
return typeRepository.save(t);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -107,7 +107,7 @@ public class DictionaryPersistenceService {
|
||||
public List<TypeEntity> getCumulatedTypes(String dossierTemplateId, String dossierId, boolean includeDeleted) {
|
||||
|
||||
var types = typeRepository.findAllTypesByDossierTemplateIdOrDossierId(dossierTemplateId, dossierId);
|
||||
return filterDeleted(types,includeDeleted);
|
||||
return filterDeleted(types, includeDeleted);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -261,4 +261,52 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(dictionaryClient.getAllTypesForDossier(dossier2.getId(), false).size()).isEqualTo(1);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testDeleteAndRecreateDictionary() {
|
||||
|
||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||
|
||||
var type = Type.builder()
|
||||
.type("dossier_redaction")
|
||||
.label("Dossier Redactions")
|
||||
.hexColor("#fcba03")
|
||||
.rank(100)
|
||||
.isHint(false)
|
||||
.isCaseInsensitive(false)
|
||||
.isRecommendation(false)
|
||||
.description("Something")
|
||||
.hasDictionary(true)
|
||||
.addToDictionaryAction(false)
|
||||
.dossierTemplateId(dossierTemplate.getId())
|
||||
.build();
|
||||
|
||||
var createdType = dictionaryClient.addType(type);
|
||||
|
||||
var word1 = "Luke Skywalker";
|
||||
var word2 = "Anakin Skywalker";
|
||||
var word3 = "Yoda";
|
||||
|
||||
// Act & Assert: Add different words; All three should exist
|
||||
var entries = new ArrayList<String>();
|
||||
entries.add(word1);
|
||||
entries.add(word2);
|
||||
entries.add(word3);
|
||||
dictionaryClient.addEntries(createdType.getTypeId(), entries, false, false, DictionaryEntryType.ENTRY);
|
||||
|
||||
var actualEntries = dictionaryClient.getEntriesForType(createdType.getTypeId(), 0L, DictionaryEntryType.ENTRY);
|
||||
assertThat(actualEntries.size()).isEqualTo(3);
|
||||
|
||||
dictionaryClient.deleteType(createdType.getTypeId());
|
||||
actualEntries = dictionaryClient.getEntriesForType(createdType.getTypeId(), 0L, DictionaryEntryType.ENTRY);
|
||||
actualEntries = actualEntries.stream().filter(e -> !e.isDeleted()).collect(Collectors.toList());
|
||||
assertThat(actualEntries.size()).isEqualTo(0);
|
||||
|
||||
|
||||
dictionaryClient.addType(type);
|
||||
actualEntries = dictionaryClient.getEntriesForType(createdType.getTypeId(), 0L, DictionaryEntryType.ENTRY);
|
||||
actualEntries = actualEntries.stream().filter(e -> !e.isDeleted()).collect(Collectors.toList());
|
||||
assertThat(actualEntries.size()).isEqualTo(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.*;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@ -41,34 +42,6 @@ import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.MetricsPrinterService;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DigitalSignatureRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierStatusRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DownloadStatusRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.EntryRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributeConfigRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesGeneralConfigurationRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ForceRedactionRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ImageRecategorizationRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.IndexInformationRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisChangeRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ManualRedactionRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.NotificationPreferencesRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.NotificationRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.RemoveRedactionRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ReportTemplateRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.RuleSetRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.SMTPRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ViewedPagesRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.WatermarkRepository;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
||||
import com.iqser.red.service.redaction.v1.model.AnnotateResponse;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
@ -155,6 +128,12 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
@Autowired
|
||||
protected IndexInformationRepository indexInformationRepository;
|
||||
|
||||
@Autowired
|
||||
protected FalsePositiveEntryRepository falsePositiveEntryRepository;
|
||||
|
||||
@Autowired
|
||||
protected FalseRecommendationEntryRepository falseRecommendationEntryRepository;
|
||||
|
||||
|
||||
@Before
|
||||
public void setupOptimize() {
|
||||
@ -200,6 +179,8 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
|
||||
@After
|
||||
public void afterTests() {
|
||||
falsePositiveEntryRepository.deleteAll();
|
||||
falseRecommendationEntryRepository.deleteAll();
|
||||
entryRepository.deleteAll();
|
||||
dossierAttributeRepository.deleteAll();
|
||||
dossierAttributeConfigRepository.deleteAll();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user