use of jakarta.nosql.query.GetQuery in project jnosql-diana by eclipse.
the class GetQueryParser method query.
Stream<Value> query(String query, BucketManager manager) {
GetQuery getQuery = provider.apply(query);
Params params = Params.newParams();
List<Value> values = getQuery.getKeys().stream().map(k -> Values.getValue(k, params)).collect(toList());
if (params.isNotEmpty()) {
throw new QueryException("To run a query with a parameter use a PrepareStatement instead.");
}
return values.stream().map(Value::get).map(manager::get).filter(Optional::isPresent).map(Optional::get);
}
use of jakarta.nosql.query.GetQuery in project jnosql-diana by eclipse.
the class GetQueryParser method prepare.
public KeyValuePreparedStatement prepare(String query, BucketManager manager) {
GetQuery getQuery = provider.apply(query);
Params params = Params.newParams();
List<Value> values = getQuery.getKeys().stream().map(k -> Values.getValue(k, params)).collect(toList());
return DefaultKeyValuePreparedStatement.get(values, manager, params, query);
}
use of jakarta.nosql.query.GetQuery in project jnosql-diana by eclipse.
the class GetProviderTest method shouldReturnParserQuery5.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "get {1,12}" })
public void shouldReturnParserQuery5(String query) {
GetQuery getQuery = queryProvider.apply(query);
List<QueryValue<?>> keys = getQuery.getKeys();
assertEquals(1, keys.size());
QueryValue<?> key = keys.get(0);
assertTrue(key instanceof ArrayQueryValue);
QueryValue<?>[] values = ArrayQueryValue.class.cast(key).get();
MatcherAssert.assertThat(Arrays.stream(values).map(QueryValue::get).collect(Collectors.toList()), Matchers.contains(1L, 12L));
}
use of jakarta.nosql.query.GetQuery in project jnosql-diana by eclipse.
the class GetProviderTest method shouldReturnParserQuery2.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "get 12.12" })
public void shouldReturnParserQuery2(String query) {
GetQuery getQuery = queryProvider.apply(query);
List<QueryValue<?>> keys = getQuery.getKeys();
assertEquals(1, keys.size());
QueryValue<?> key = keys.get(0);
assertTrue(key instanceof NumberQueryValue);
assertEquals(12.12, NumberQueryValue.class.cast(key).get());
}
use of jakarta.nosql.query.GetQuery in project jnosql-diana by eclipse.
the class GetProviderTest method shouldReturnParserQuery1.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "get 12" })
public void shouldReturnParserQuery1(String query) {
GetQuery getQuery = queryProvider.apply(query);
List<QueryValue<?>> keys = getQuery.getKeys();
assertEquals(1, keys.size());
QueryValue<?> key = keys.get(0);
assertTrue(key instanceof NumberQueryValue);
assertEquals(12L, NumberQueryValue.class.cast(key).get());
}
Aggregations