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 7c024a579c
commit 64c54e73fb
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;
import java.awt.geom.Rectangle2D;
import java.util.List;
import com.iqser.red.service.redaction.v1.server.redaction.model.RedRectangle2D;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -23,7 +24,7 @@ public class AtomicTextBlockEntity implements CharSequence {
//position coords
List<Integer> stringIdxToPositionIdx;
List<Rectangle2D> positions;
List<RedRectangle2D> positions;
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));
}
public List<Rectangle2D> getPositions(int startStringIdx, int endStringIdx) {
public List<RedRectangle2D> getPositions(int startStringIdx, int endStringIdx) {
return positions.subList(startStringIdx - offset, endStringIdx - offset);
}

View File

@ -5,6 +5,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.function.Supplier;
import com.iqser.red.service.redaction.v1.server.redaction.model.RedRectangle2D;
import lombok.AccessLevel;
import lombok.Data;
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);
}
public List<Rectangle2D> getPositions(int startStringIdx, int endStringIdx) {
public List<RedRectangle2D> getPositions(int startStringIdx, int endStringIdx) {
List<AtomicTextBlockEntity> textBlocks = getAllAtomicTextBlocksPartiallyInStringIdxRange(startStringIdx, endStringIdx);
@ -98,7 +100,7 @@ public class TextBlockEntity implements CharSequence, Supplier<TextBlockEntity>
}
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)) {
positions.addAll(textBlock.getPositions());

View File

@ -1,6 +1,5 @@
package com.iqser.red.service.redaction.v1.server.redaction.model;
import java.awt.geom.Rectangle2D;
import java.util.List;
import lombok.AccessLevel;
@ -16,5 +15,5 @@ public class SearchTextWithTextPositionModel {
String searchText;
List<Integer> lineBreaks;
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.TextPositionSequence;
import com.iqser.red.service.redaction.v1.server.redaction.model.RedRectangle2D;
import com.iqser.red.service.redaction.v1.server.redaction.model.SearchTextWithTextPositionModel;
@Service
@ -53,11 +54,11 @@ public class SearchTextWithTextPositionFactory {
assert sb.length() == stringIdxToPositionIdx.size();
List<Rectangle2D> positions = sequences.stream()//
List<RedRectangle2D> positions = sequences.stream()//
.map(TextPositionSequence::getTextPositions)//
.flatMap(List::stream)//
.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();
return SearchTextWithTextPositionModel.builder()

View File

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

View File

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