RED-6093: Prototype document structurewip dependency upgrade
This commit is contained in:
parent
08f16d352e
commit
7aeae506d9
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user