Search in sources :

Example 36 with Params

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

the class DeleteQueryParser method apply.

@Override
public ColumnDeleteQueryParams apply(DeleteQuery deleteQuery, ColumnObserverParser columnObserverParser) {
    requireNonNull(deleteQuery, "deleteQuery is required");
    requireNonNull(columnObserverParser, "columnObserverParser is required");
    Params params = Params.newParams();
    ColumnDeleteQuery query = getQuery(params, columnObserverParser, deleteQuery);
    return new DefaultColumnDeleteQueryParams(query, params);
}
Also used : ColumnDeleteQueryParams(jakarta.nosql.column.ColumnDeleteQueryParams) Params(jakarta.nosql.Params) ColumnDeleteQuery(jakarta.nosql.column.ColumnDeleteQuery)

Example 37 with Params

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

the class SelectQueryParser method prepare.

ColumnPreparedStatement prepare(String query, ColumnFamilyManager manager, ColumnObserverParser observer) {
    Params params = Params.newParams();
    SelectQuery selectQuery = selectQueryProvider.apply(query);
    ColumnQuery columnQuery = getColumnQuery(params, selectQuery, observer);
    return DefaultColumnPreparedStatement.select(columnQuery, params, query, manager);
}
Also used : SelectQuery(jakarta.nosql.query.SelectQuery) ColumnQuery(jakarta.nosql.column.ColumnQuery) ColumnQueryParams(jakarta.nosql.column.ColumnQueryParams) Params(jakarta.nosql.Params)

Example 38 with Params

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

the class UpdateQueryParser method query.

Stream<ColumnEntity> query(String query, ColumnFamilyManager manager, ColumnObserverParser observer) {
    UpdateQuery updateQuery = updateQueryProvider.apply(query);
    Params params = Params.newParams();
    ColumnEntity entity = getEntity(params, updateQuery, observer);
    if (params.isNotEmpty()) {
        throw new QueryException("To run a query with a parameter use a PrepareStatement instead.");
    }
    return Stream.of(manager.update(entity));
}
Also used : QueryException(jakarta.nosql.QueryException) ColumnEntity(jakarta.nosql.column.ColumnEntity) UpdateQuery(jakarta.nosql.query.UpdateQuery) Params(jakarta.nosql.Params)

Example 39 with Params

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

the class InsertQueryParser method query.

Stream<ColumnEntity> query(String query, ColumnFamilyManager manager, ColumnObserverParser observer) {
    InsertQuery insertQuery = insertQueryProvider.apply(query);
    String columnFamily = insertQuery.getEntity();
    Params params = Params.newParams();
    ColumnEntity entity = getEntity(insertQuery, columnFamily, params, observer);
    Optional<Duration> ttl = insertQuery.getTtl();
    if (params.isNotEmpty()) {
        throw new QueryException("To run a query with a parameter use a PrepareStatement instead.");
    }
    if (ttl.isPresent()) {
        return Stream.of(manager.insert(entity, ttl.get()));
    } else {
        return Stream.of(manager.insert(entity));
    }
}
Also used : InsertQuery(jakarta.nosql.query.InsertQuery) QueryException(jakarta.nosql.QueryException) ColumnEntity(jakarta.nosql.column.ColumnEntity) Params(jakarta.nosql.Params) Duration(java.time.Duration)

Example 40 with Params

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

the class ParamsBinderTest method shouldConvert.

@Test
public void shouldConvert() {
    Method method = Stream.of(PersonRepository.class.getMethods()).filter(m -> m.getName().equals("findByAge")).findFirst().get();
    ClassMapping classMapping = mappings.get(Person.class);
    RepositoryDocumentObserverParser parser = new RepositoryDocumentObserverParser(classMapping);
    paramsBinder = new ParamsBinder(classMapping, converters);
    SelectMethodProvider selectMethodFactory = SelectMethodProvider.get();
    SelectQuery selectQuery = selectMethodFactory.apply(method, classMapping.getName());
    SelectQueryConverter converter = ServiceLoaderProvider.get(SelectQueryConverter.class);
    DocumentQueryParams columnQueryParams = converter.apply(selectQuery, parser);
    Params params = columnQueryParams.getParams();
    Object[] args = { 10 };
    paramsBinder.bind(params, args, method);
    DocumentQuery query = columnQueryParams.getQuery();
    DocumentCondition columnCondition = query.getCondition().get();
    Value value = columnCondition.getDocument().getValue();
    assertEquals(10, value.get());
}
Also used : ClassMapping(org.eclipse.jnosql.mapping.reflection.ClassMapping) ParamsBinder(org.eclipse.jnosql.mapping.util.ParamsBinder) DocumentQueryParams(jakarta.nosql.document.DocumentQueryParams) Params(jakarta.nosql.Params) Method(java.lang.reflect.Method) SelectQuery(jakarta.nosql.query.SelectQuery) DocumentQuery(jakarta.nosql.document.DocumentQuery) SelectQueryConverter(jakarta.nosql.document.SelectQueryConverter) SelectMethodProvider(org.eclipse.jnosql.communication.query.method.SelectMethodProvider) DocumentQueryParams(jakarta.nosql.document.DocumentQueryParams) Value(jakarta.nosql.Value) DocumentCondition(jakarta.nosql.document.DocumentCondition) 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