Skip to content

Commit

Permalink
simplify QueryParser
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
  • Loading branch information
thjaeckle committed Jul 19, 2022
1 parent d1ec490 commit be4964b
Showing 1 changed file with 5 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import java.util.concurrent.CompletionStage;

import org.eclipse.ditto.base.model.headers.DittoHeaders;
import org.eclipse.ditto.base.model.signals.commands.Command;
import org.eclipse.ditto.rql.model.ParserException;
import org.eclipse.ditto.rql.model.predicates.PredicateParser;
import org.eclipse.ditto.rql.parser.RqlPredicateParser;
Expand All @@ -29,8 +28,8 @@
import org.eclipse.ditto.rql.query.criteria.CriteriaFactory;
import org.eclipse.ditto.rql.query.expression.ThingsFieldExpressionFactory;
import org.eclipse.ditto.rql.query.filter.QueryFilterCriteriaFactory;
import org.eclipse.ditto.thingsearch.api.commands.sudo.SudoCountThings;
import org.eclipse.ditto.thingsearch.api.commands.sudo.StreamThings;
import org.eclipse.ditto.thingsearch.api.commands.sudo.SudoCountThings;
import org.eclipse.ditto.thingsearch.api.query.filter.ParameterOptionVisitor;
import org.eclipse.ditto.thingsearch.model.signals.commands.exceptions.InvalidOptionException;
import org.eclipse.ditto.thingsearch.model.signals.commands.query.QueryThings;
Expand Down Expand Up @@ -82,7 +81,7 @@ public static QueryParser of(final ThingsFieldExpressionFactory fieldExpressionF
* @param command the search command.
* @return the query.
*/
public CompletionStage<Query> parse(final Command<?> command) {
public CompletionStage<Query> parse(final ThingSearchQueryCommand<?> command) {
final Criteria criteria = parseCriteria(command);
final Query query;
if (command instanceof final QueryThings queryThings) {
Expand All @@ -101,21 +100,11 @@ public CompletionStage<Query> parse(final Command<?> command) {
return queryCriteriaValidator.validateQuery(command, query);
}

private Criteria parseCriteria(final Command<?> command) {
private Criteria parseCriteria(final ThingSearchQueryCommand<?> command) {

final DittoHeaders headers = command.getDittoHeaders();
final Set<String> namespaces;
final String filter;
if (command instanceof ThingSearchQueryCommand<?> thingSearchQueryCommand) {
namespaces = thingSearchQueryCommand.getNamespaces().orElse(null);
filter = thingSearchQueryCommand.getFilter().orElse(null);
} else if (command instanceof StreamThings streamThings) {
namespaces = streamThings.getNamespaces().orElse(null);
filter = streamThings.getFilter().orElse(null);
} else {
namespaces = null;
filter = null;
}
final Set<String> namespaces = command.getNamespaces().orElse(null);
final String filter = command.getFilter().orElse(null);

if (namespaces == null) {
return queryFilterCriteriaFactory.filterCriteria(filter, command.getDittoHeaders());
Expand Down

0 comments on commit be4964b

Please sign in to comment.