Skip to content

Commit

Permalink
chore: update query to support _id as an alias
Browse files Browse the repository at this point in the history
Signed-off-by: Otavio Santana <otaviopolianasantana@gmail.com>
  • Loading branch information
otaviojava committed May 19, 2023
1 parent 213c677 commit 0fa1f4c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
import java.util.ArrayList;
import java.util.List;

import static org.eclipse.jnosql.databases.orientdb.communication.OrientDBConverter.ID_FIELD;
import static org.eclipse.jnosql.databases.orientdb.communication.OrientDBConverter.RID_FIELD;

final class QueryOSQLConverter {

private static final String WHERE = " WHERE ";
Expand Down Expand Up @@ -132,13 +135,15 @@ private static boolean isFirstCondition(StringBuilder query, int counter) {
private static void appendCondition(StringBuilder query, List<Object> params,
Document document, String condition, List<ORecordId> ids) {

if(OrientDBConverter.RID_FIELD.equals(document.name())) {
if (RID_FIELD.equals(document.name())
||
ID_FIELD.equals(document.name())) {
ids.add(new ORecordId(document.get(String.class)));
return;
}
query.append(document.name())
.append(condition).append(PARAM_APPENDER);
if(IN.equals(condition)) {
if (IN.equals(condition)) {
params.add(ValueUtil.convertToList(document.value()));
} else {
params.add(document.get());
Expand All @@ -152,7 +157,7 @@ private static void appendSort(List<Sort> sorts, StringBuilder query) {
query.append(separator)
.append(sort.property())
.append(SPACE)
.append(sort.isAscending()? Direction.ASC: Direction.DESC);
.append(sort.isAscending() ? Direction.ASC : Direction.DESC);
separator = ", ";
}
}
Expand All @@ -167,27 +172,6 @@ private static void appendPagination(DocumentQuery documentQuery, StringBuilder
}
}

static class Query {
private final String query;
private final List<Object> params;
private List<ORecordId> ids;

Query(String query, List<Object> params,List<ORecordId> ids) {
this.query = query;
this.params = params;
this.ids = ids;
}

String getQuery() {
return query;
}

List<ORecordId> getIds() {
return ids;
}

List<Object> getParams() {
return params;
}
record Query(String query, List<Object> params, List<ORecordId> ids) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ private QueryOSQLFactory() {

static QueryResult to(DocumentQuery documentQuery) {
QueryOSQLConverter.Query query = QueryOSQLConverter.select(documentQuery);
return new QueryResult(query.getQuery(), query.getParams(), query.getIds());
return new QueryResult(query.query(), query.params(), query.ids());
}

static QueryResultAsync toAsync(DocumentQuery documentQuery, Consumer<Stream<ODocument>> callBack) {
QueryOSQLConverter.Query query = QueryOSQLConverter.select(documentQuery);

return new QueryResultAsync(new OSQLAsynchQuery<>(query.getQuery(), new OCommandResultListener() {
return new QueryResultAsync(new OSQLAsynchQuery<>(query.query(), new OCommandResultListener() {
private List<ODocument> documents = new ArrayList<>();

@Override
Expand All @@ -63,12 +63,12 @@ public void end() {
public Object getResult() {
return null;
}
}), query.getParams());
}), query.params());
}

static QueryResult toLive(DocumentQuery documentQuery, OrientDBLiveCallback callbacks) {
QueryOSQLConverter.Query query = QueryOSQLConverter.select(documentQuery);
return new QueryResult(query.getQuery(), query.getParams(), Collections.emptyList());
return new QueryResult(query.query(), query.params(), Collections.emptyList());
}

static QueryResultAsync toAsync(String query, Consumer<List<ODocument>> callBack, Object... params) {
Expand Down

0 comments on commit 0fa1f4c

Please sign in to comment.