in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/services/grafana/GrafanaServiceNewImpl.java [408:463]
private void appendFilters(SelectBuilder2 selectBuilder, Map<String, List<FieldFilter>> filters) throws SelectBuilder2.NoSuchFieldException, SelectBuilder2.NoSuchTypeException, SelectBuilder2.WrongTypeException {
if (filters != null) {
for (Map.Entry<String, List<FieldFilter>> entry : filters.entrySet()) {
SelectBuilder2.Type type = selectBuilder.type(entry.getKey());
for (FieldFilter fieldFilter : entry.getValue()) {
SelectBuilder2.Type.Field field = type.field(fieldFilter.getFieldName());
switch (fieldFilter.getFilterType()) {
case EQUAL:
field.equalTo(fieldFilter.getValues().get(0));
break;
case NOTEQUAL:
field.notEqualTo(fieldFilter.getValues().get(0));
break;
case GREATER:
field.greaterThan(fieldFilter.getValues().get(0));
break;
case NOTGREATER:
field.notGreaterThan(fieldFilter.getValues().get(0));
break;
case LESS:
field.lessThan(fieldFilter.getValues().get(0));
break;
case NOTLESS:
field.notLessThan(fieldFilter.getValues().get(0));
break;
case IN:
field.equalTo(fieldFilter.getValues());
break;
case NOT_IN:
field.notEqualTo(fieldFilter.getValues());
break;
case NULL:
field.isNull();
break;
case NOTNULL:
field.notNull();
break;
case STARTS_WITH:
field.startsWith(fieldFilter.getValues().get(0));
break;
case ENDS_WITH:
field.endsWith(fieldFilter.getValues().get(0));
break;
case CONTAINS:
field.contains(fieldFilter.getValues().get(0));
break;
case NOT_CONTAINS:
field.notContains(fieldFilter.getValues().get(0));
break;
default:
throw new UnsupportedOperationException();
}
}
}
}
}