change method name EntitiyCreationService.byEntities to mergeEntitiesOfSameType #109

Merged
kilian.schuettler1 merged 1 commits from renameMethods into master 2023-08-24 17:27:17 +02:00
6 changed files with 28 additions and 7 deletions

View File

@ -255,7 +255,6 @@ public class EntityCreationService {
}
public Stream<RedactionEntity> lineAfterStringsIgnoreCase(List<String> strings, String type, EntityType entityType, SemanticNode node) {
TextBlock textBlock = node.getTextBlock();
@ -547,7 +546,7 @@ public class EntityCreationService {
}
public RedactionEntity byEntities(List<RedactionEntity> entitiesToMerge, String type, EntityType entityType, SemanticNode node) {
public RedactionEntity mergeEntitiesOfSameType(List<RedactionEntity> entitiesToMerge, String type, EntityType entityType, SemanticNode node) {
if (!allEntitiesIntersectAndHaveSameTypes(entitiesToMerge)) {
throw new IllegalArgumentException("Provided entities can not be merged, since they do not intersect or are not the same type!" + entitiesToMerge);
@ -574,6 +573,27 @@ public class EntityCreationService {
}
public Stream<RedactionEntity> byEntities(List<RedactionEntity> entities, String type, EntityType entityType, SemanticNode node) {
return entities.stream().map(entity -> byEntity(type, entityType, node, entity));
}
private RedactionEntity byEntity(String type, EntityType entityType, SemanticNode node, RedactionEntity entity) {
RedactionEntity newEntity = RedactionEntity.initialEntityNode(entity.getBoundary(), type, entityType);
newEntity.addEngines(entity.getEngines());
newEntity.addMatchedRules(entity.getMatchedRuleList());
newEntity.setDictionaryEntry(entity.isDictionaryEntry());
newEntity.setDossierDictionaryEntry(entity.isDossierDictionaryEntry());
newEntity.setIgnored(entity.isIgnored());
newEntity.setRemoved(entity.isRemoved());
addEntityToGraph(newEntity, node);
insertToKieSession(newEntity);
return newEntity;
}
private void insertToKieSession(RedactionEntity mergedEntity) {
if (kieSession != null) {

View File

@ -579,7 +579,7 @@ rule "X.1.0: merge intersecting Entities of same type"
$first: RedactionEntity($type: type, $entityType: entityType, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
$second: RedactionEntity(intersects($first), type == $type, entityType == $entityType, this != $first, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
then
RedactionEntity mergedEntity = entityCreationService.byEntities(List.of($first, $second), $type, $entityType, document);
RedactionEntity mergedEntity = entityCreationService.mergeEntitiesOfSameType(List.of($first, $second), $type, $entityType, document);
$first.remove("X.1.0", "merge intersecting Entities of same type");
$second.remove("X.1.0", "merge intersecting Entities of same type");
retract($first);

View File

@ -1276,7 +1276,7 @@ rule "X.1.0: merge intersecting Entities of same type"
$first: RedactionEntity($type: type, $entityType: entityType, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
$second: RedactionEntity(intersects($first), type == $type, entityType == $entityType, this != $first, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
then
RedactionEntity mergedEntity = entityCreationService.byEntities(List.of($first, $second), $type, $entityType, document);
RedactionEntity mergedEntity = entityCreationService.mergeEntitiesOfSameType(List.of($first, $second), $type, $entityType, document);
$first.remove("X.1.0", "merge intersecting Entities of same type");
$second.remove("X.1.0", "merge intersecting Entities of same type");
retract($first);

View File

@ -797,6 +797,7 @@ rule "ETC.5.0: Ignore dossier_redaction entries if confidentiality is not 'confi
$dossierRedaction: RedactionEntity(type == "dossier_redaction")
then
$dossierRedaction.ignore("ETC.5.0", "Ignore dossier redactions, when not confidential");
update($dossierRedaction);
$dossierRedaction.getIntersectingNodes().forEach(node -> update(node));
end
@ -989,7 +990,7 @@ rule "X.1.0: merge intersecting Entities of same type"
$first: RedactionEntity($type: type, $entityType: entityType, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
$second: RedactionEntity(intersects($first), type == $type, entityType == $entityType, this != $first, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
then
RedactionEntity mergedEntity = entityCreationService.byEntities(List.of($first, $second), $type, $entityType, document);
RedactionEntity mergedEntity = entityCreationService.mergeEntitiesOfSameType(List.of($first, $second), $type, $entityType, document);
$first.remove("X.1.0", "merge intersecting Entities of same type");
$second.remove("X.1.0", "merge intersecting Entities of same type");
retract($first);

View File

@ -111,7 +111,7 @@ rule "X.1.0: merge intersecting Entities of same type"
$first: RedactionEntity($type: type, $entityType: entityType, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
$second: RedactionEntity(intersects($first), type == $type, entityType == $entityType, this != $first, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
then
RedactionEntity mergedEntity = entityCreationService.byEntities(List.of($first, $second), $type, $entityType, document);
RedactionEntity mergedEntity = entityCreationService.mergeEntitiesOfSameType(List.of($first, $second), $type, $entityType, document);
$first.remove("X.1.0", "merge intersecting Entities of same type");
$second.remove("X.1.0", "merge intersecting Entities of same type");
retract($first);

View File

@ -582,7 +582,7 @@ rule "X.1.0: merge intersecting Entities of same type"
$first: RedactionEntity($type: type, $entityType: entityType, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
$second: RedactionEntity(intersects($first), type == $type, entityType == $entityType, this != $first, !resized, !skipRemoveEntitiesContainedInLarger, isActive())
then
RedactionEntity mergedEntity = entityCreationService.byEntities(List.of($first, $second), $type, $entityType, document);
RedactionEntity mergedEntity = entityCreationService.mergeEntitiesOfSameType(List.of($first, $second), $type, $entityType, document);
$first.remove("X.1.0", "merge intersecting Entities of same type");
$second.remove("X.1.0", "merge intersecting Entities of same type");
retract($first);