Search in sources :

Example 26 with Params

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

the class ColumnParamsTest method shouldSetParameter.

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

Example 27 with Params

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

the class BaseColumnRepository method getDeleteQuery.

protected ColumnDeleteQuery getDeleteQuery(Method method, Object[] args) {
    DeleteMethodProvider deleteMethodFactory = DeleteMethodProvider.get();
    DeleteQuery deleteQuery = deleteMethodFactory.apply(method, getClassMapping().getName());
    ColumnDeleteQueryParams queryParams = DELETE_CONVERTER.apply(deleteQuery, getParser());
    ColumnDeleteQuery query = queryParams.getQuery();
    Params params = queryParams.getParams();
    getParamsBinder().bind(params, args, method);
    return query;
}
Also used : DeleteMethodProvider(org.eclipse.jnosql.communication.query.method.DeleteMethodProvider) ColumnQueryParams(jakarta.nosql.column.ColumnQueryParams) ColumnDeleteQueryParams(jakarta.nosql.column.ColumnDeleteQueryParams) Params(jakarta.nosql.Params) ColumnDeleteQuery(jakarta.nosql.column.ColumnDeleteQuery) DeleteQuery(jakarta.nosql.query.DeleteQuery) ColumnDeleteQueryParams(jakarta.nosql.column.ColumnDeleteQueryParams) ColumnDeleteQuery(jakarta.nosql.column.ColumnDeleteQuery)

Example 28 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);
    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 queryParams = converter.apply(selectQuery, parser);
    Params params = queryParams.getParams();
    paramsBinder.bind(params, new Object[] { 10L, "Ada" }, method);
    DocumentQuery query = queryParams.getQuery();
    DocumentCondition columnCondition = query.getCondition().get();
    List<DocumentCondition> conditions = columnCondition.getDocument().get(new TypeReference<List<DocumentCondition>>() {
    });
    List<Object> values = conditions.stream().map(DocumentCondition::getDocument).map(Document::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) DocumentQueryParams(jakarta.nosql.document.DocumentQueryParams) Params(jakarta.nosql.Params) Method(java.lang.reflect.Method) Document(jakarta.nosql.document.Document) 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) List(java.util.List) DocumentCondition(jakarta.nosql.document.DocumentCondition) Test(org.junit.jupiter.api.Test)

Example 29 with Params

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

the class DeleteQueryParser method getQuery.

private DocumentDeleteQuery getQuery(Params params, DocumentObserverParser observer, DeleteQuery deleteQuery) {
    String collection = observer.fireEntity(deleteQuery.getEntity());
    List<String> documents = deleteQuery.getFields().stream().map(f -> observer.fireField(collection, f)).collect(Collectors.toList());
    DocumentCondition condition = null;
    if (deleteQuery.getWhere().isPresent()) {
        condition = deleteQuery.getWhere().map(c -> Conditions.getCondition(c, params, observer, collection)).get();
    }
    return new DefaultDocumentDeleteQuery(collection, condition, documents);
}
Also used : DocumentCollectionManager(jakarta.nosql.document.DocumentCollectionManager) DocumentCondition(jakarta.nosql.document.DocumentCondition) DocumentDeleteQuery(jakarta.nosql.document.DocumentDeleteQuery) DocumentPreparedStatement(jakarta.nosql.document.DocumentPreparedStatement) DocumentDeleteQueryParams(jakarta.nosql.document.DocumentDeleteQueryParams) DocumentEntity(jakarta.nosql.document.DocumentEntity) Collectors(java.util.stream.Collectors) ServiceLoaderProvider(jakarta.nosql.ServiceLoaderProvider) DeleteQueryConverter(jakarta.nosql.document.DeleteQueryConverter) DeleteQuery(jakarta.nosql.query.DeleteQuery) Objects(java.util.Objects) List(java.util.List) DeleteQueryProvider(jakarta.nosql.query.DeleteQuery.DeleteQueryProvider) Stream(java.util.stream.Stream) QueryException(jakarta.nosql.QueryException) DocumentObserverParser(jakarta.nosql.document.DocumentObserverParser) Params(jakarta.nosql.Params) DocumentCondition(jakarta.nosql.document.DocumentCondition)

Example 30 with Params

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

the class DeleteQueryParser method prepare.

DocumentPreparedStatement prepare(String query, DocumentCollectionManager collectionManager, DocumentObserverParser observer) {
    Params params = Params.newParams();
    DocumentDeleteQuery documentQuery = getQuery(query, params, observer);
    return DefaultDocumentPreparedStatement.delete(documentQuery, params, query, collectionManager);
}
Also used : DocumentDeleteQueryParams(jakarta.nosql.document.DocumentDeleteQueryParams) Params(jakarta.nosql.Params) DocumentDeleteQuery(jakarta.nosql.document.DocumentDeleteQuery)

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