Search in sources :

Example 46 with Params

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

the class DocumentParamsTest method shouldNotUseValueWhenIsInvalid.

@Test
public void shouldNotUseValueWhenIsInvalid() {
    Params params = Params.newParams();
    Value name = params.add("name");
    assertThrows(QueryException.class, name::get);
    assertThrows(QueryException.class, () -> name.get(String.class));
}
Also used : Value(jakarta.nosql.Value) Params(jakarta.nosql.Params) Test(org.junit.jupiter.api.Test)

Example 47 with Params

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

the class ParamsTest method shouldSetParameter.

@Test
public void shouldSetParameter() {
    Params params = Params.newParams();
    Value name = params.add("name");
    KeyValueEntity entity = KeyValueEntity.of("name", name);
    params.bind("name", "Ada Lovelace");
    assertEquals("Ada Lovelace", entity.getValue());
    params.bind("name", "Diana");
    assertEquals("Diana", entity.getValue());
}
Also used : Value(jakarta.nosql.Value) Params(jakarta.nosql.Params) KeyValueEntity(jakarta.nosql.keyvalue.KeyValueEntity) Test(org.junit.jupiter.api.Test)

Example 48 with Params

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

the class ParamsTest method shouldNotUseValueWhenIsInvalid.

@Test
public void shouldNotUseValueWhenIsInvalid() {
    Params params = Params.newParams();
    Value name = params.add("name");
    assertThrows(QueryException.class, name::get);
    assertThrows(QueryException.class, () -> name.get(String.class));
}
Also used : Value(jakarta.nosql.Value) Params(jakarta.nosql.Params) Test(org.junit.jupiter.api.Test)

Example 49 with Params

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

the class ParamsTest method shouldAddParameter.

@Test
public void shouldAddParameter() {
    Params params = Params.newParams();
    Value name = params.add("name");
    assertNotNull(name);
    MatcherAssert.<List<String>>assertThat(params.getParametersNames(), containsInAnyOrder("name"));
}
Also used : Value(jakarta.nosql.Value) Params(jakarta.nosql.Params) List(java.util.List) Test(org.junit.jupiter.api.Test)

Example 50 with Params

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

the class ParamsBinderTest method shouldConvert2.

@Test
public void shouldConvert2() {
    Method method = Stream.of(PersonRepository.class.getMethods()).filter(m -> m.getName().equals("findByAgeAndName")).findFirst().get();
    ClassMapping classMapping = mappings.get(Person.class);
    RepositoryColumnObserverParser parser = new RepositoryColumnObserverParser(classMapping);
    paramsBinder = new ParamsBinder(classMapping, converters);
    SelectMethodProvider selectMethodFactory = SelectMethodProvider.get();
    SelectQuery selectQuery = selectMethodFactory.apply(method, classMapping.getName());
    SelectQueryConverter converter = ServiceLoaderProvider.get(SelectQueryConverter.class);
    ColumnQueryParams queryParams = converter.apply(selectQuery, parser);
    Params params = queryParams.getParams();
    paramsBinder.bind(params, new Object[] { 10L, "Ada" }, method);
    ColumnQuery query = queryParams.getQuery();
    ColumnCondition columnCondition = query.getCondition().get();
    List<ColumnCondition> conditions = columnCondition.getColumn().get(new TypeReference<List<ColumnCondition>>() {
    });
    List<Object> values = conditions.stream().map(ColumnCondition::getColumn).map(Column::getValue).map(Value::get).collect(Collectors.toList());
    assertEquals(10, values.get(0));
    assertEquals("Ada", values.get(1));
}
Also used : ClassMapping(org.eclipse.jnosql.mapping.reflection.ClassMapping) ParamsBinder(org.eclipse.jnosql.mapping.util.ParamsBinder) ColumnQueryParams(jakarta.nosql.column.ColumnQueryParams) Params(jakarta.nosql.Params) Method(java.lang.reflect.Method) ColumnQueryParams(jakarta.nosql.column.ColumnQueryParams) SelectQuery(jakarta.nosql.query.SelectQuery) ColumnQuery(jakarta.nosql.column.ColumnQuery) Column(jakarta.nosql.column.Column) SelectQueryConverter(jakarta.nosql.column.SelectQueryConverter) SelectMethodProvider(org.eclipse.jnosql.communication.query.method.SelectMethodProvider) List(java.util.List) ColumnCondition(jakarta.nosql.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Aggregations

Params (jakarta.nosql.Params)55 Value (jakarta.nosql.Value)23 QueryException (jakarta.nosql.QueryException)20 List (java.util.List)18 Test (org.junit.jupiter.api.Test)18 Stream (java.util.stream.Stream)15 ServiceLoaderProvider (jakarta.nosql.ServiceLoaderProvider)12 SelectQuery (jakarta.nosql.query.SelectQuery)12 Collectors.toList (java.util.stream.Collectors.toList)11 ColumnEntity (jakarta.nosql.column.ColumnEntity)8 ColumnQueryParams (jakarta.nosql.column.ColumnQueryParams)8 DocumentQueryParams (jakarta.nosql.document.DocumentQueryParams)8 ColumnQuery (jakarta.nosql.column.ColumnQuery)7 DocumentEntity (jakarta.nosql.document.DocumentEntity)7 DocumentQuery (jakarta.nosql.document.DocumentQuery)7 Collectors (java.util.stream.Collectors)7 ColumnCondition (jakarta.nosql.column.ColumnCondition)6 ColumnDeleteQueryParams (jakarta.nosql.column.ColumnDeleteQueryParams)6 DocumentCondition (jakarta.nosql.document.DocumentCondition)6 DocumentDeleteQueryParams (jakarta.nosql.document.DocumentDeleteQueryParams)6