Search in sources :

Example 6 with Converters

use of jakarta.nosql.mapping.Converters in project jnosql-diana by eclipse.

the class SelectQueryConverterTest method shouldRunQuery8.

@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "findByAgeLessThanOrderByName" })
public void shouldRunQuery8(String methodName) {
    Method method = Stream.of(PersonRepository.class.getMethods()).filter(m -> m.getName().equals(methodName)).findFirst().get();
    graph.addVertex(T.label, "Person", "name", "Otavio", "age", 30);
    graph.addVertex(T.label, "Person", "name", "Ada", "age", 40);
    graph.addVertex(T.label, "Person", "name", "Poliana", "age", 25);
    ClassMapping mapping = mappings.get(Person.class);
    GraphQueryMethod queryMethod = new GraphQueryMethod(mapping, graph.traversal().V(), converters, method, new Object[] { 100 });
    List<Vertex> vertices = converter.apply(queryMethod, null).collect(Collectors.toList());
    List<Object> names = vertices.stream().map(v -> v.value("name")).collect(Collectors.toList());
    assertEquals(3, vertices.size());
    MatcherAssert.assertThat(names, Matchers.contains("Ada", "Otavio", "Poliana"));
}
Also used : Person(org.eclipse.jnosql.mapping.graph.model.Person) ValueSource(org.junit.jupiter.params.provider.ValueSource) BeforeEach(org.junit.jupiter.api.BeforeEach) Arrays(java.util.Arrays) ClassMapping(org.eclipse.jnosql.mapping.reflection.ClassMapping) Graph(org.apache.tinkerpop.gremlin.structure.Graph) Assertions.assertNotEquals(org.junit.jupiter.api.Assertions.assertNotEquals) Matchers(org.hamcrest.Matchers) Converters(jakarta.nosql.mapping.Converters) Vertex(org.apache.tinkerpop.gremlin.structure.Vertex) T(org.apache.tinkerpop.gremlin.structure.T) Collectors(java.util.stream.Collectors) Repository(jakarta.nosql.mapping.Repository) Inject(javax.inject.Inject) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) List(java.util.List) MatcherAssert(org.hamcrest.MatcherAssert) Stream(java.util.stream.Stream) CDIExtension(jakarta.nosql.tck.test.CDIExtension) ClassMappings(org.eclipse.jnosql.mapping.reflection.ClassMappings) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) Method(java.lang.reflect.Method) Edge(org.apache.tinkerpop.gremlin.structure.Edge) ClassMapping(org.eclipse.jnosql.mapping.reflection.ClassMapping) Vertex(org.apache.tinkerpop.gremlin.structure.Vertex) Method(java.lang.reflect.Method) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 7 with Converters

use of jakarta.nosql.mapping.Converters in project jnosql-diana by eclipse.

the class RepositoryColumnBean method create.

@Override
public Repository create(CreationalContext<Repository> creationalContext) {
    ClassMappings classMappings = getInstance(ClassMappings.class);
    ColumnTemplate template = provider.isEmpty() ? getInstance(ColumnTemplate.class) : getInstance(ColumnTemplate.class, DatabaseQualifier.ofColumn(provider));
    Converters converters = getInstance(Converters.class);
    ColumnRepositoryProxy handler = new ColumnRepositoryProxy(template, classMappings, type, converters);
    return (Repository) Proxy.newProxyInstance(type.getClassLoader(), new Class[] { type }, handler);
}
Also used : Repository(jakarta.nosql.mapping.Repository) ColumnTemplate(jakarta.nosql.mapping.column.ColumnTemplate) Converters(jakarta.nosql.mapping.Converters) ClassMappings(org.eclipse.jnosql.mapping.reflection.ClassMappings)

Example 8 with Converters

use of jakarta.nosql.mapping.Converters in project jnosql-diana by eclipse.

the class ReactiveRepositoryDocumentBean method create.

@Override
public ReactiveRepository<?, ?> create(CreationalContext<ReactiveRepository<?, ?>> context) {
    ClassMappings classMappings = getInstance(ClassMappings.class);
    DocumentTemplate template = provider.isEmpty() ? getInstance(DocumentTemplate.class) : getInstance(DocumentTemplate.class, DatabaseQualifier.ofDocument(provider));
    ReactiveDocumentTemplateProducer reactiveProducer = getInstance(ReactiveDocumentTemplateProducer.class);
    final ReactiveDocumentTemplate reactiveDocumentTemplate = reactiveProducer.get(template);
    Converters converters = getInstance(Converters.class);
    ReactiveDocumentRepositoryProxy<?> handler = new ReactiveDocumentRepositoryProxy<>(reactiveDocumentTemplate, template, converters, classMappings, type);
    return (ReactiveRepository<?, ?>) Proxy.newProxyInstance(type.getClassLoader(), new Class[] { type }, handler);
}
Also used : ReactiveRepository(org.eclipse.jnosql.mapping.reactive.ReactiveRepository) ReactiveDocumentTemplate(org.eclipse.jnosql.mapping.document.reactive.ReactiveDocumentTemplate) Converters(jakarta.nosql.mapping.Converters) ReactiveDocumentTemplate(org.eclipse.jnosql.mapping.document.reactive.ReactiveDocumentTemplate) DocumentTemplate(jakarta.nosql.mapping.document.DocumentTemplate) ReactiveDocumentTemplateProducer(org.eclipse.jnosql.mapping.document.reactive.ReactiveDocumentTemplateProducer) ClassMappings(org.eclipse.jnosql.mapping.reflection.ClassMappings)

Aggregations

Converters (jakarta.nosql.mapping.Converters)8 ClassMappings (org.eclipse.jnosql.mapping.reflection.ClassMappings)8 Repository (jakarta.nosql.mapping.Repository)6 Graph (org.apache.tinkerpop.gremlin.structure.Graph)4 CDIExtension (jakarta.nosql.tck.test.CDIExtension)3 Method (java.lang.reflect.Method)3 Arrays (java.util.Arrays)3 List (java.util.List)3 Collectors (java.util.stream.Collectors)3 Stream (java.util.stream.Stream)3 Inject (javax.inject.Inject)3 Edge (org.apache.tinkerpop.gremlin.structure.Edge)3 T (org.apache.tinkerpop.gremlin.structure.T)3 Vertex (org.apache.tinkerpop.gremlin.structure.Vertex)3 Person (org.eclipse.jnosql.mapping.graph.model.Person)3 ClassMapping (org.eclipse.jnosql.mapping.reflection.ClassMapping)3 MatcherAssert (org.hamcrest.MatcherAssert)3 Matchers (org.hamcrest.Matchers)3 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)3 Assertions.assertNotEquals (org.junit.jupiter.api.Assertions.assertNotEquals)3