use of org.hypertrace.core.documentstore.Filter in project entity-service by hypertrace.
the class DocStoreConverter method transformNonListRhsFilterTypes.
private static Filter transformNonListRhsFilterTypes(AttributeFilter filter) {
try {
Filter f = new Filter();
f.setFieldName(filter.getName());
f.setOp(transform(filter.getOperator()));
transform(filter.getAttributeValue(), f, isPartOfAttributeMap(f.getFieldName()));
// Set child filters to empty string
f.setChildFilters(new Filter[] {});
return f;
} catch (IOException ioe) {
throw new IllegalArgumentException(String.format("transformNonListRhsFilterTypes: Error converting filter for query. Filter: %s", filter), ioe);
}
}
use of org.hypertrace.core.documentstore.Filter in project entity-service by hypertrace.
the class DocStoreConverter method transform.
private static Filter transform(AttributeFilter filter) {
if (filter.hasAttributeValue()) {
if (isMultiValuedAttribute(filter) && filter.getOperator() == Operator.EQ) {
return transformToEqFilterWithValueListRhs(filter);
} else if (isMultiValuedAttribute(filter) && filter.getOperator() == Operator.NEQ) {
return transformToNeqFilterWithValueListRhs(filter);
} else if (isMultiValuedAttribute(filter) && filter.getOperator() == Operator.IN) {
return transformToOrFilterChainForStrArray(filter);
} else if (isMultiValuedAttribute(filter) && filter.getOperator() == Operator.NOT_IN) {
return transformToAndFilterChainForStrArray(filter);
} else {
return transformNonListRhsFilterTypes(filter);
}
} else {
// AND or OR filter chains
Filter f = new Filter();
f.setFieldName(filter.getName());
f.setOp(transform(filter.getOperator()));
f.setChildFilters(filter.getChildFilterList().stream().map(DocStoreConverter::transform).collect(Collectors.toList()).toArray(new Filter[] {}));
return f;
}
}
use of org.hypertrace.core.documentstore.Filter in project entity-service by hypertrace.
the class DocStoreConverter method createEqFilterForAttributeValue.
private static Filter createEqFilterForAttributeValue(String fieldName, AttributeValue attributeValue) {
Filter f = new Filter();
f.setFieldName(fieldName);
f.setOp(Op.EQ);
f.setValue(prepareRhsValueForSpecialValueListCase(attributeValue));
// Set child filters to empty array
f.setChildFilters(new Filter[] {});
return f;
}
Aggregations