Merge branch 'CYB-001' into 'master'
CYB-001: cyberport custom Closes CYB-001 See merge request redactmanager/redaction-service!79
This commit is contained in:
commit
607f6db67f
@ -424,6 +424,21 @@ public interface SemanticNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether this SemanticNode intersects the provided rectangle
|
||||||
|
* @param x the lower left corner X value
|
||||||
|
* @param y the lower left corner Y value
|
||||||
|
* @param w width
|
||||||
|
* @param h height
|
||||||
|
* @param pageNumber the pagenumber of the rectangle
|
||||||
|
* @return true if intersects, false otherwise
|
||||||
|
*/
|
||||||
|
default boolean intersectsRectangle(int x, int y, int w, int h, int pageNumber) {
|
||||||
|
|
||||||
|
return getBBox().entrySet().stream().filter(entry -> entry.getKey().getNumber() == pageNumber).map(Map.Entry::getValue).anyMatch(rect -> rect.intersects(x, y, w, h));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is used during insertion of EntityNodes into the graph, it checks if the boundary of the RedactionEntity intersects or even contains the RedactionEntity.
|
* This function is used during insertion of EntityNodes into the graph, it checks if the boundary of the RedactionEntity intersects or even contains the RedactionEntity.
|
||||||
* It sets the fields accordingly and recursively calls this function on all its children.
|
* It sets the fields accordingly and recursively calls this function on all its children.
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.document.services;
|
package com.iqser.red.service.redaction.v1.server.document.services;
|
||||||
|
|
||||||
import static com.iqser.red.service.redaction.v1.server.document.utils.RedactionSearchUtility.anyMatch;
|
|
||||||
import static com.iqser.red.service.redaction.v1.server.redaction.utils.SeparatorUtils.boundaryIsSurroundedBySeparators;
|
import static com.iqser.red.service.redaction.v1.server.redaction.utils.SeparatorUtils.boundaryIsSurroundedBySeparators;
|
||||||
import static java.util.stream.Collectors.toMap;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -21,6 +19,7 @@ import org.kie.api.runtime.KieSession;
|
|||||||
import com.google.common.base.Functions;
|
import com.google.common.base.Functions;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.Engine;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.Engine;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.graph.Boundary;
|
import com.iqser.red.service.redaction.v1.server.document.graph.Boundary;
|
||||||
|
import com.iqser.red.service.redaction.v1.server.document.graph.ConsecutiveBoundaryCollector;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.graph.DocumentTree;
|
import com.iqser.red.service.redaction.v1.server.document.graph.DocumentTree;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.graph.entity.EntityType;
|
import com.iqser.red.service.redaction.v1.server.document.graph.entity.EntityType;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.graph.entity.RedactionEntity;
|
import com.iqser.red.service.redaction.v1.server.document.graph.entity.RedactionEntity;
|
||||||
@ -33,7 +32,6 @@ import com.iqser.red.service.redaction.v1.server.document.graph.nodes.TableCell;
|
|||||||
import com.iqser.red.service.redaction.v1.server.document.graph.textblock.TextBlock;
|
import com.iqser.red.service.redaction.v1.server.document.graph.textblock.TextBlock;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.utils.RectangleTransformations;
|
import com.iqser.red.service.redaction.v1.server.document.utils.RectangleTransformations;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.utils.RedactionSearchUtility;
|
import com.iqser.red.service.redaction.v1.server.document.utils.RedactionSearchUtility;
|
||||||
import com.iqser.red.service.redaction.v1.server.document.graph.ConsecutiveBoundaryCollector;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntitiesAdapter;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.SearchImplementation;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.SearchImplementation;
|
||||||
@ -431,6 +429,14 @@ public class EntityCreationService {
|
|||||||
.map(Optional::get);
|
.map(Optional::get);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Optional<RedactionEntity> semanticNodeAfterString(String string, String type, EntityType entityType, SemanticNode node) {
|
||||||
|
|
||||||
|
if (!node.containsString(string)) {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
|
Boundary boundary = new Boundary(node.getTextBlock().indexOf(string) + string.length(), node.getBoundary().end());
|
||||||
|
return byBoundary(boundary, type, entityType, node);
|
||||||
|
}
|
||||||
|
|
||||||
public Optional<RedactionEntity> bySemanticNode(SemanticNode node, String type, EntityType entityType) {
|
public Optional<RedactionEntity> bySemanticNode(SemanticNode node, String type, EntityType entityType) {
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user