Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR for #4028 - Stroom User Logging on Query with in Dictionary term #4346

Open
wants to merge 2 commits into
base: 7.4
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -197,13 +197,11 @@ public static <T> SearchEventAction createSearchEventAction(final QuickFilterRes

private static AdvancedQueryItem convertItem(final ExpressionItem expressionItem) {
if (expressionItem != null && expressionItem.enabled()) {
if (expressionItem instanceof ExpressionTerm) {
final ExpressionTerm expressionTerm = (ExpressionTerm) expressionItem;
if (expressionItem instanceof final ExpressionTerm expressionTerm) {

return convertTerm(expressionTerm);

} else if (expressionItem instanceof ExpressionOperator) {
final ExpressionOperator expressionOperator = (ExpressionOperator) expressionItem;
} else if (expressionItem instanceof final ExpressionOperator expressionOperator) {
final AdvancedQueryItem operator;
if (expressionOperator.op().equals(Op.AND)) {
operator = And.builder()
Expand Down Expand Up @@ -294,21 +292,13 @@ private static AdvancedQueryItem convertTerm(final ExpressionTerm expressionTerm
}
} else {
final TermCondition termCondition = convertCondition(expressionTerm.getCondition());
final String value;
final String value = switch (expressionTerm.getCondition()) {
case IN_DICTIONARY -> "dictionary: " + expressionTerm.getDocRef();
case IN_FOLDER -> "folder: " + expressionTerm.getDocRef();
case IS_DOC_REF -> "docRef: " + expressionTerm.getDocRef();
default -> expressionTerm.getValue();
};

switch (expressionTerm.getCondition()) {
case IN_DICTIONARY:
value = "dictionary: " + expressionTerm.getDocRef();
break;
case IN_FOLDER:
value = "folder: " + expressionTerm.getDocRef();
break;
case IS_DOC_REF:
value = "docRef: " + expressionTerm.getDocRef();
break;
default:
value = expressionTerm.getValue();
}
result = Term.builder()
.withName(expressionTerm.getField())
.withCondition(termCondition)
Expand All @@ -321,38 +311,19 @@ private static AdvancedQueryItem convertTerm(final ExpressionTerm expressionTerm


private static TermCondition convertCondition(final Condition condition) {
final TermCondition termCondition;
switch (condition) {
case CONTAINS:
termCondition = TermCondition.CONTAINS;
break;
case EQUALS:
case IN_DICTIONARY:
case IN_FOLDER:
case IS_DOC_REF:
termCondition = TermCondition.EQUALS;
break;
case NOT_EQUALS:
termCondition = TermCondition.NOT_EQUALS;
break;
case GREATER_THAN:
termCondition = TermCondition.GREATER_THAN;
break;
case GREATER_THAN_OR_EQUAL_TO:
termCondition = TermCondition.GREATER_THAN_EQUAL_TO;
break;
case LESS_THAN:
termCondition = TermCondition.LESS_THAN;
break;
case LESS_THAN_OR_EQUAL_TO:
termCondition = TermCondition.LESS_THAN_EQUAL_TO;
break;
case MATCHES_REGEX:
termCondition = TermCondition.REGEX;
break;
default:
throw new RuntimeException("Can't convert condition " + condition);
}
return termCondition;
return switch (condition) {
case CONTAINS -> TermCondition.CONTAINS;
case EQUALS,
IN_DICTIONARY,
IN_FOLDER,
IS_DOC_REF -> TermCondition.EQUALS;
case NOT_EQUALS -> TermCondition.NOT_EQUALS;
case GREATER_THAN -> TermCondition.GREATER_THAN;
case GREATER_THAN_OR_EQUAL_TO -> TermCondition.GREATER_THAN_EQUAL_TO;
case LESS_THAN -> TermCondition.LESS_THAN;
case LESS_THAN_OR_EQUAL_TO -> TermCondition.LESS_THAN_EQUAL_TO;
case MATCHES_REGEX -> TermCondition.REGEX;
default -> throw new RuntimeException("Can't convert condition " + condition);
};
}
}
Loading