This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
package fr.codeanddata.semrack.index.postgres.it;
|
||||
|
||||
import io.quarkus.test.junit.QuarkusIntegrationTest;
|
||||
|
||||
@QuarkusIntegrationTest
|
||||
public class SemrackIndexPostgresResourceIT extends SemrackIndexPostgresResourceTest {
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package fr.codeanddata.semrack.index.postgres.it;
|
||||
|
||||
import static io.restassured.RestAssured.given;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
|
||||
@QuarkusTest
|
||||
public class SemrackIndexPostgresResourceTest {
|
||||
|
||||
@Test
|
||||
public void testHelloEndpoint() {
|
||||
given()
|
||||
.when().get("/semrack-index-postgres")
|
||||
.then()
|
||||
.statusCode(200)
|
||||
.body(is("Hello semrack-index-postgres"));
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package fr.codeanddata.semrack.index.postgres;
|
||||
|
||||
import fr.codeanddata.semrack.core.SemdocIndex;
|
||||
import fr.codeanddata.semrack.core.SemdocStorage;
|
||||
import fr.codeanddata.semrack.core.Index;
|
||||
import fr.codeanddata.semrack.core.Storage;
|
||||
import fr.codeanddata.semrack.core.models.*;
|
||||
import fr.codeanddata.semrack.core.services.SemrackLookupService;
|
||||
import fr.codeanddata.semrack.core.services.LookupService;
|
||||
import fr.codeanddata.semrack.core.utils.Traverser;
|
||||
import fr.codeanddata.semrack.index.postgres.dtos.IndexEntry;
|
||||
import fr.codeanddata.semrack.index.postgres.entities.SemrackIndexEntity;
|
||||
@@ -19,23 +19,23 @@ import org.hibernate.query.Page;
|
||||
import java.util.*;
|
||||
|
||||
@ApplicationScoped
|
||||
public class SemdocJpaIndex implements SemdocIndex, PanacheRepository<SemrackIndexEntity> {
|
||||
public class JpaIndex implements Index, PanacheRepository<SemrackIndexEntity> {
|
||||
|
||||
@Inject
|
||||
Traverser traverser;
|
||||
|
||||
@Inject
|
||||
SemrackLookupService lookupService;
|
||||
LookupService lookupService;
|
||||
|
||||
@Inject
|
||||
SemdocStorage storage;
|
||||
Storage storage;
|
||||
|
||||
@Inject
|
||||
SemrackIndexRepository indexRepository;
|
||||
|
||||
@Override
|
||||
@WithSession
|
||||
public Uni<Long> count(SearchRequest request) {
|
||||
public Uni<Long> count(Search request) {
|
||||
final StringBuilder query = new StringBuilder("SELECT DISTINCT count(uid) FROM semrack_index");
|
||||
|
||||
final String lookup = lookupService.lookup(request.getFilter());
|
||||
@@ -47,14 +47,16 @@ public class SemdocJpaIndex implements SemdocIndex, PanacheRepository<SemrackInd
|
||||
}
|
||||
|
||||
@Override
|
||||
public Uni<Boolean> exist(SearchRequest query) {
|
||||
public Uni<Boolean> exist(Search query) {
|
||||
return count(query).map(count -> count > 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
@WithTransaction
|
||||
public Uni<Void> index(String documentId) {
|
||||
return storage.get(documentId)
|
||||
return storage.get(documentId, StorageGet.builder()
|
||||
.metadataSource(true)
|
||||
.build())
|
||||
.call(document -> clear(documentId))
|
||||
.call(document -> {
|
||||
final Map<String, IndexEntry> indexes = new HashMap<>();
|
||||
@@ -78,7 +80,7 @@ public class SemdocJpaIndex implements SemdocIndex, PanacheRepository<SemrackInd
|
||||
|
||||
@Override
|
||||
@WithSession
|
||||
public Uni<IndexSearchResult> search(SearchRequest request) {
|
||||
public Uni<IndexSearchResult> search(Search request) {
|
||||
final IndexSearchResult result = new IndexSearchResult();
|
||||
final StringBuilder query = new StringBuilder("SELECT DISTINCT uid FROM semrack_index");
|
||||
|
||||
@@ -105,11 +107,11 @@ public class SemdocJpaIndex implements SemdocIndex, PanacheRepository<SemrackInd
|
||||
.replaceWithVoid();
|
||||
}
|
||||
|
||||
Uni<PaginationInfo> queryPaginationInfo(SearchRequest query) {
|
||||
Uni<PaginationInfo> queryPaginationInfo(Search query) {
|
||||
return count(query)
|
||||
.map(count -> PaginationInfo.builder()
|
||||
.page(Optional.ofNullable(query.getPaginate()).map(SemrackPagination::getPage).orElse(0))
|
||||
.size(Optional.ofNullable(query.getPaginate()).map(SemrackPagination::getSize).orElse(10))
|
||||
.page(Optional.ofNullable(query.getPaginate()).map(Pagination::getPage).orElse(0))
|
||||
.size(Optional.ofNullable(query.getPaginate()).map(Pagination::getSize).orElse(10))
|
||||
.total(count)
|
||||
.build());
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package fr.codeanddata.semrack.index.postgres.operators;
|
||||
|
||||
import fr.codeanddata.semrack.core.services.SemrackLookupService;
|
||||
import fr.codeanddata.semrack.core.services.LookupService;
|
||||
import io.smallrye.common.annotation.Identifier;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
@@ -10,10 +10,10 @@ import java.util.Map;
|
||||
|
||||
@Identifier("and")
|
||||
@ApplicationScoped
|
||||
public class AndLookup implements SemrackJpaLookupExpression<List<Map<String, Object>>> {
|
||||
public class AndLookup implements JpaLookupExpression<List<Map<String, Object>>> {
|
||||
|
||||
@Inject
|
||||
SemrackLookupService lookupService;
|
||||
LookupService lookupService;
|
||||
|
||||
@Override
|
||||
public String apply(Object expressions) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import jakarta.inject.Inject;
|
||||
|
||||
@Identifier("equal")
|
||||
@ApplicationScoped
|
||||
public class EqualLookup implements SemrackJpaLookupExpression<EqualLookupParams> {
|
||||
public class EqualLookup implements JpaLookupExpression<EqualLookupParams> {
|
||||
|
||||
@Inject
|
||||
ObjectMapper objectMapper;
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
|
||||
@Identifier("in")
|
||||
@ApplicationScoped
|
||||
public class InLookup implements SemrackJpaLookupExpression<InLookupParams> {
|
||||
public class InLookup implements JpaLookupExpression<InLookupParams> {
|
||||
|
||||
@Inject
|
||||
ObjectMapper objectMapper;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package fr.codeanddata.semrack.index.postgres.operators;
|
||||
|
||||
import fr.codeanddata.semrack.core.LookupExpression;
|
||||
|
||||
public interface JpaLookupExpression<T> extends LookupExpression<T> {
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package fr.codeanddata.semrack.index.postgres.operators;
|
||||
|
||||
import fr.codeanddata.semrack.core.services.SemrackLookupService;
|
||||
import fr.codeanddata.semrack.core.services.LookupService;
|
||||
import io.smallrye.common.annotation.Identifier;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
@@ -10,10 +10,10 @@ import java.util.Map;
|
||||
|
||||
@Identifier("or")
|
||||
@ApplicationScoped
|
||||
public class OrLookup implements SemrackJpaLookupExpression<List<Map<String, Object>>> {
|
||||
public class OrLookup implements JpaLookupExpression<List<Map<String, Object>>> {
|
||||
|
||||
@Inject
|
||||
SemrackLookupService lookupService;
|
||||
LookupService lookupService;
|
||||
|
||||
@Override
|
||||
public String apply(Object expressions) {
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
package fr.codeanddata.semrack.index.postgres.operators;
|
||||
|
||||
import fr.codeanddata.semrack.core.SemrackLookupExpression;
|
||||
|
||||
public interface SemrackJpaLookupExpression<T> extends SemrackLookupExpression<T> {
|
||||
}
|
||||
Reference in New Issue
Block a user