in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/util/TablestoreHelper.java [622:653]
public static ColumnValueFilter parserTableFilters(Filter metadataFilter) {
if (metadataFilter == null) {
return null;
}
if (metadataFilter instanceof AbstractConditionFilter) {
if (metadataFilter instanceof And) {
CompositeColumnValueFilter compositeColumnValueFilter = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.AND);
for (Filter filter : ((And) metadataFilter).getFilters()) {
compositeColumnValueFilter.addFilter(parserTableFilters(filter));
}
return compositeColumnValueFilter;
} else if (metadataFilter instanceof Or) {
CompositeColumnValueFilter compositeColumnValueFilter = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.OR);
for (Filter filter : ((Or) metadataFilter).getFilters()) {
compositeColumnValueFilter.addFilter(parserTableFilters(filter));
}
return compositeColumnValueFilter;
} else if (metadataFilter instanceof Not) {
CompositeColumnValueFilter compositeColumnValueFilter = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.NOT);
for (Filter filter : ((Not) metadataFilter).getFilters()) {
compositeColumnValueFilter.addFilter(parserTableFilters(filter));
}
return compositeColumnValueFilter;
} else {
throw Exceptions.illegalArgument("unsupported filter type:%s, filter:%s", metadataFilter.getClass(), metadataFilter);
}
} else if (metadataFilter instanceof AbstractOperationFilter) {
return parseTableFilter((AbstractOperationFilter) metadataFilter);
} else {
throw Exceptions.illegalArgument("unsupported filter type:%s, filter:%s", metadataFilter.getClass(), metadataFilter);
}
}