From 948d214f68f4d0a1e24bf3218119b8dff7cb3ef5 Mon Sep 17 00:00:00 2001 From: RishabhB99 Date: Tue, 2 Jul 2024 15:55:22 +0530 Subject: [PATCH] addressed pr comment --- .../query/parser/MongoGroupTypeExpressionParser.java | 8 +++++--- .../core/documentstore/parser/GroupByAliasGetter.java | 9 +++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/document-store/src/main/java/org/hypertrace/core/documentstore/mongo/query/parser/MongoGroupTypeExpressionParser.java b/document-store/src/main/java/org/hypertrace/core/documentstore/mongo/query/parser/MongoGroupTypeExpressionParser.java index d6c6f631..520520ce 100644 --- a/document-store/src/main/java/org/hypertrace/core/documentstore/mongo/query/parser/MongoGroupTypeExpressionParser.java +++ b/document-store/src/main/java/org/hypertrace/core/documentstore/mongo/query/parser/MongoGroupTypeExpressionParser.java @@ -10,7 +10,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; @@ -151,10 +151,12 @@ public static boolean isFunctionExpressionSelectionWithGroupBy( && (Boolean) selectionSpec.getExpression().accept(FUNCTION_EXPRESSION_CHECKER); } + @SuppressWarnings("unchecked") public static List getGroupByAliases(final List expressions) { return expressions.stream() - .map(expression -> (String) expression.accept(GROUP_BY_ALIAS_GETTER)) - .filter(Objects::nonNull) + .map(expression -> (Optional) expression.accept(GROUP_BY_ALIAS_GETTER)) + .filter(Optional::isPresent) + .map(Optional::get) .collect(Collectors.toUnmodifiableList()); } } diff --git a/document-store/src/main/java/org/hypertrace/core/documentstore/parser/GroupByAliasGetter.java b/document-store/src/main/java/org/hypertrace/core/documentstore/parser/GroupByAliasGetter.java index 0721d9be..defb7e86 100644 --- a/document-store/src/main/java/org/hypertrace/core/documentstore/parser/GroupByAliasGetter.java +++ b/document-store/src/main/java/org/hypertrace/core/documentstore/parser/GroupByAliasGetter.java @@ -1,5 +1,6 @@ package org.hypertrace.core.documentstore.parser; +import java.util.Optional; import org.hypertrace.core.documentstore.expression.impl.FunctionExpression; import org.hypertrace.core.documentstore.expression.impl.IdentifierExpression; @@ -7,12 +8,12 @@ public class GroupByAliasGetter implements GroupTypeExpressionVisitor { @Override - public String visit(FunctionExpression expression) { - return null; + public Optional visit(FunctionExpression expression) { + return Optional.empty(); } @Override - public String visit(IdentifierExpression expression) { - return expression.getName(); + public Optional visit(IdentifierExpression expression) { + return Optional.of(expression.getName()); } }