Search in sources :

Example 61 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnQueryParserUtil method or.

static ConditionResult or(Object[] args, int index, String token, String methodName, ClassRepresentation representation, ColumnCondition queryCondition, Converters converters) {
    String field = token.replace(ColumnQueryParserUtil.OR, ColumnQueryParserUtil.EMPTY);
    ColumnCondition conditionResult = toCondition(field, index, args, methodName, representation, converters);
    ColumnCondition condition = null;
    if (queryCondition == null) {
        condition = conditionResult;
    } else {
        condition = queryCondition.or(conditionResult);
    }
    if (Condition.BETWEEN.equals(condition.getCondition())) {
        return new ConditionResult(index + 2, condition);
    } else {
        return new ConditionResult(++index, condition);
    }
}
Also used : ColumnCondition(org.jnosql.diana.api.column.ColumnCondition)

Example 62 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class AbstractMapperQuery method gtImpl.

protected void gtImpl(Number value) {
    requireNonNull(value, "value is required");
    ColumnCondition newCondition = ColumnCondition.gt(Column.of(representation.getColumnField(name), getValue(value)));
    appendCondition(newCondition);
}
Also used : ColumnCondition(org.jnosql.diana.api.column.ColumnCondition)

Example 63 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class AbstractMapperQuery method likeImpl.

protected void likeImpl(String value) {
    requireNonNull(value, "value is required");
    ColumnCondition newCondition = ColumnCondition.like(Column.of(representation.getColumnField(name), getValue(value)));
    appendCondition(newCondition);
}
Also used : ColumnCondition(org.jnosql.diana.api.column.ColumnCondition)

Example 64 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class AbstractMapperQuery method lteImpl.

protected void lteImpl(Number value) {
    requireNonNull(value, "value is required");
    ColumnCondition newCondition = ColumnCondition.lte(Column.of(representation.getColumnField(name), getValue(value)));
    appendCondition(newCondition);
}
Also used : ColumnCondition(org.jnosql.diana.api.column.ColumnCondition)

Example 65 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnRepositoryProxyTest method shouldFindByGreaterThan.

@Test
public void shouldFindByGreaterThan() {
    Person ada = Person.builder().withAge(20).withName("Ada").build();
    when(template.select(any(ColumnQuery.class))).thenReturn(singletonList(ada));
    personRepository.findByAgeGreaterThan(33);
    ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
    verify(template).select(captor.capture());
    ColumnQuery query = captor.getValue();
    ColumnCondition condition = query.getCondition().get();
    assertEquals("Person", query.getColumnFamily());
    assertEquals(GREATER_THAN, condition.getCondition());
    assertEquals(Column.of("age", 33), condition.getColumn());
}
Also used : ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) Person(org.jnosql.artemis.model.Person) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Aggregations

ColumnCondition (org.jnosql.diana.api.column.ColumnCondition)69 Test (org.junit.jupiter.api.Test)46 Column (org.jnosql.diana.api.column.Column)29 ColumnQuery (org.jnosql.diana.api.column.ColumnQuery)29 ColumnDeleteQuery (org.jnosql.diana.api.column.ColumnDeleteQuery)23 List (java.util.List)20 Person (org.jnosql.artemis.model.Person)13 Collections.singletonList (java.util.Collections.singletonList)7 Pagination (org.jnosql.artemis.Pagination)7 Condition (org.jnosql.diana.api.Condition)7 Sort (org.jnosql.diana.api.Sort)7 Proxy (java.lang.reflect.Proxy)6 Duration (java.time.Duration)6 Optional (java.util.Optional)6 Consumer (java.util.function.Consumer)6 Inject (javax.inject.Inject)6 CDIExtension (org.jnosql.artemis.CDIExtension)6 Converters (org.jnosql.artemis.Converters)6 DynamicQueryException (org.jnosql.artemis.DynamicQueryException)6 RepositoryAsync (org.jnosql.artemis.RepositoryAsync)6