RED-6093: Prototype document structurewip dependency upgrade

This commit is contained in:
deiflaender 2023-02-27 12:23:36 +01:00 committed by Kilian Schuettler
parent 383bf8278e
commit 3af26d3f0d
6 changed files with 22 additions and 19 deletions

View File

@ -1,8 +1,9 @@
package com.iqser.red.service.redaction.v1.server.document.graph; package com.iqser.red.service.redaction.v1.server.document.graph;
import java.awt.geom.Rectangle2D;
import java.util.List; import java.util.List;
import com.iqser.red.service.redaction.v1.server.redaction.model.RedRectangle2D;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -23,7 +24,7 @@ public class AtomicTextBlockEntity implements CharSequence {
//position coords //position coords
List<Integer> stringIdxToPositionIdx; List<Integer> stringIdxToPositionIdx;
List<Rectangle2D> positions; List<RedRectangle2D> positions;
Node parent; Node parent;
@ -50,13 +51,13 @@ public class AtomicTextBlockEntity implements CharSequence {
} }
public Rectangle2D getPosition(int stringIdx) { public RedRectangle2D getPosition(int stringIdx) {
return positions.get(stringIdxToPositionIdx.get(stringIdx - offset)); return positions.get(stringIdxToPositionIdx.get(stringIdx - offset));
} }
public List<Rectangle2D> getPositions(int startStringIdx, int endStringIdx) { public List<RedRectangle2D> getPositions(int startStringIdx, int endStringIdx) {
return positions.subList(startStringIdx - offset, endStringIdx - offset); return positions.subList(startStringIdx - offset, endStringIdx - offset);
} }

View File

@ -5,6 +5,8 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.function.Supplier; import java.util.function.Supplier;
import com.iqser.red.service.redaction.v1.server.redaction.model.RedRectangle2D;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Data; import lombok.Data;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
@ -83,13 +85,13 @@ public class TextBlockEntity implements CharSequence, Supplier<TextBlockEntity>
} }
public Rectangle2D getPositions(int stringIdx) { public RedRectangle2D getPositions(int stringIdx) {
return getAtomicTextBlockByStringIndex(stringIdx).getPosition(stringIdx); return getAtomicTextBlockByStringIndex(stringIdx).getPosition(stringIdx);
} }
public List<Rectangle2D> getPositions(int startStringIdx, int endStringIdx) { public List<RedRectangle2D> getPositions(int startStringIdx, int endStringIdx) {
List<AtomicTextBlockEntity> textBlocks = getAllAtomicTextBlocksPartiallyInStringIdxRange(startStringIdx, endStringIdx); List<AtomicTextBlockEntity> textBlocks = getAllAtomicTextBlocksPartiallyInStringIdxRange(startStringIdx, endStringIdx);
@ -98,7 +100,7 @@ public class TextBlockEntity implements CharSequence, Supplier<TextBlockEntity>
} }
var firstTextBlock = textBlocks.get(0); var firstTextBlock = textBlocks.get(0);
List<Rectangle2D> positions = new LinkedList<>(firstTextBlock.getPositions(startStringIdx, firstTextBlock.getOffset() + firstTextBlock.length())); List<RedRectangle2D> positions = new LinkedList<>(firstTextBlock.getPositions(startStringIdx, firstTextBlock.getOffset() + firstTextBlock.length()));
for (var textBlock : textBlocks.subList(1, textBlocks.size() - 1)) { for (var textBlock : textBlocks.subList(1, textBlocks.size() - 1)) {
positions.addAll(textBlock.getPositions()); positions.addAll(textBlock.getPositions());

View File

@ -1,6 +1,5 @@
package com.iqser.red.service.redaction.v1.server.redaction.model; package com.iqser.red.service.redaction.v1.server.redaction.model;
import java.awt.geom.Rectangle2D;
import java.util.List; import java.util.List;
import lombok.AccessLevel; import lombok.AccessLevel;
@ -16,5 +15,5 @@ public class SearchTextWithTextPositionModel {
String searchText; String searchText;
List<Integer> lineBreaks; List<Integer> lineBreaks;
List<Integer> stringCoordsToPositionCoords; List<Integer> stringCoordsToPositionCoords;
List<Rectangle2D> positions; List<RedRectangle2D> positions;
} }

View File

@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import com.iqser.red.service.redaction.v1.server.parsing.model.RedTextPosition; import com.iqser.red.service.redaction.v1.server.parsing.model.RedTextPosition;
import com.iqser.red.service.redaction.v1.server.parsing.model.TextPositionSequence; import com.iqser.red.service.redaction.v1.server.parsing.model.TextPositionSequence;
import com.iqser.red.service.redaction.v1.server.redaction.model.RedRectangle2D;
import com.iqser.red.service.redaction.v1.server.redaction.model.SearchTextWithTextPositionModel; import com.iqser.red.service.redaction.v1.server.redaction.model.SearchTextWithTextPositionModel;
@Service @Service
@ -53,11 +54,11 @@ public class SearchTextWithTextPositionFactory {
assert sb.length() == stringIdxToPositionIdx.size(); assert sb.length() == stringIdxToPositionIdx.size();
List<Rectangle2D> positions = sequences.stream()// List<RedRectangle2D> positions = sequences.stream()//
.map(TextPositionSequence::getTextPositions)// .map(TextPositionSequence::getTextPositions)//
.flatMap(List::stream)// .flatMap(List::stream)//
.map(RedTextPosition::getPosition)// .map(RedTextPosition::getPosition)//
.map(a -> (Rectangle2D) new Rectangle2D.Float(a[0], a[1], a[2], a[3])) .map(a -> (RedRectangle2D) new RedRectangle2D(a[0], a[1], a[2], a[3]))
.toList(); .toList();
return SearchTextWithTextPositionModel.builder() return SearchTextWithTextPositionModel.builder()

View File

@ -20,9 +20,9 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.junit.After; import org.junit.jupiter.api.AfterEach;
import org.junit.Before; import org.junit.jupiter.api.BeforeEach;
import org.junit.runner.RunWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.kie.api.KieServices; import org.kie.api.KieServices;
import org.kie.api.builder.KieBuilder; import org.kie.api.builder.KieBuilder;
import org.kie.api.builder.KieFileSystem; import org.kie.api.builder.KieFileSystem;
@ -39,7 +39,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit.jupiter.SpringExtension;
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Colors;
@ -57,7 +57,7 @@ import com.iqser.red.storage.commons.service.StorageService;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@RunWith(SpringRunner.class) @ExtendWith(SpringExtension.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Import(AbstractTestWithDictionaries.TestConfiguration.class) @Import(AbstractTestWithDictionaries.TestConfiguration.class)
public class AbstractTestWithDictionaries { public class AbstractTestWithDictionaries {
@ -111,7 +111,7 @@ public class AbstractTestWithDictionaries {
private final Set<String> deleted = new HashSet<>(); private final Set<String> deleted = new HashSet<>();
@Before @BeforeEach
public void stubClients() { public void stubClients() {
when(rulesClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L); when(rulesClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L);
@ -480,7 +480,7 @@ public class AbstractTestWithDictionaries {
} }
@After @AfterEach
public void cleanupStorage() { public void cleanupStorage() {
if (this.storageService instanceof FileSystemBackedStorageService) { if (this.storageService instanceof FileSystemBackedStorageService) {

View File

@ -2,7 +2,7 @@ package com.iqser.red.service.redaction.v1.server;
import java.util.List; import java.util.List;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;