diff --git a/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLConverter.java b/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLConverter.java index e2e68d7d7..0c136c928 100644 --- a/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLConverter.java +++ b/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLConverter.java @@ -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 "; @@ -132,13 +135,15 @@ private static boolean isFirstCondition(StringBuilder query, int counter) { private static void appendCondition(StringBuilder query, List params, Document document, String condition, List 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()); @@ -152,7 +157,7 @@ private static void appendSort(List 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 = ", "; } } @@ -167,27 +172,6 @@ private static void appendPagination(DocumentQuery documentQuery, StringBuilder } } - static class Query { - private final String query; - private final List params; - private List ids; - - Query(String query, List params,List ids) { - this.query = query; - this.params = params; - this.ids = ids; - } - - String getQuery() { - return query; - } - - List getIds() { - return ids; - } - - List getParams() { - return params; - } + record Query(String query, List params, List ids) { } } diff --git a/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLFactory.java b/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLFactory.java index f1bada760..65740b3a0 100644 --- a/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLFactory.java +++ b/jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/communication/QueryOSQLFactory.java @@ -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> 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 documents = new ArrayList<>(); @Override @@ -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> callBack, Object... params) {