use of com.enonic.xp.query.filter.ExistsFilter in project xp by enonic.
the class JsonToFilterMapperTest method boolean_filter.
@SuppressWarnings("unchecked")
@Test
public void boolean_filter() throws Exception {
Map<String, Object> filter = new HashMap<>();
final Map<String, Object> boolFilter = new HashMap<>();
boolFilter.put("must", List.of(createExistsFilter(), createExistsFilter()));
boolFilter.put("mustNot", List.of(createExistsFilter()));
boolFilter.put("should", List.of(createExistsFilter(), createExistsFilter(), createExistsFilter()));
filter.put("boolean", boolFilter);
final Filters filters = com.enonic.xp.lib.common.JsonToFilterMapper.create(filter);
assertTrue(filters.get(0) instanceof BooleanFilter);
final BooleanFilter booleanFilter = (BooleanFilter) filters.get(0);
final ImmutableSet<Filter> mustFilters = booleanFilter.getMust();
assertEquals(2, mustFilters.size());
assertTrue(mustFilters.iterator().next() instanceof ExistsFilter);
assertTrue(mustFilters.iterator().next() instanceof ExistsFilter);
final ImmutableSet<Filter> mustNotFilters = booleanFilter.getMustNot();
assertEquals(1, mustNotFilters.size());
final ImmutableSet<Filter> shouldFilters = booleanFilter.getShould();
assertEquals(3, shouldFilters.size());
}
use of com.enonic.xp.query.filter.ExistsFilter in project xp by enonic.
the class FilterBuilderFactoryTest method createExistsFilter.
@Test
public void createExistsFilter() throws Exception {
final ExistsFilter queryFilter = ExistsFilter.create().fieldName("myField").build();
final String expected = load("filter_exists.json");
final QueryBuilder filterBuilder = new FilterBuilderFactory(new SearchQueryFieldNameResolver()).create(Filters.from(queryFilter));
assertEquals(cleanString(expected), cleanString(filterBuilder.toString()));
}
use of com.enonic.xp.query.filter.ExistsFilter in project xp by enonic.
the class JsonToFilterMapperTest method array_on_root_single.
@Test
public void array_on_root_single() throws Exception {
final List<Map<String, Object>> existsFilters = new ArrayList<>();
existsFilters.add(createExistsFilter());
final Filters filters = com.enonic.xp.lib.common.JsonToFilterMapper.create(existsFilters);
assertTrue(filters.get(0) instanceof ExistsFilter);
}
use of com.enonic.xp.query.filter.ExistsFilter in project xp by enonic.
the class JsonToFilterMapperTest method exists_filter.
@Test
public void exists_filter() throws Exception {
final Map<String, Object> existsFilter = createExistsFilter();
final Filters filters = com.enonic.xp.lib.common.JsonToFilterMapper.create(existsFilter);
assertTrue(filters.get(0) instanceof ExistsFilter);
assertEquals("myField", ((ExistsFilter) filters.get(0)).getFieldName());
}
use of com.enonic.xp.query.filter.ExistsFilter in project xp by enonic.
the class JsonToFilterMapperTest method notExists_filter.
@Test
public void notExists_filter() throws Exception {
Map<String, Object> value = new HashMap<>();
final HashMap<String, Object> notExistsFilter = new HashMap<>();
notExistsFilter.put("field", "myField");
value.put("notExists", notExistsFilter);
final Filters filters = com.enonic.xp.lib.common.JsonToFilterMapper.create(value);
assertTrue(filters.get(0) instanceof BooleanFilter);
final BooleanFilter booleanFilter = (BooleanFilter) filters.get(0);
final ImmutableSet<Filter> mustNotFilters = booleanFilter.getMustNot();
assertEquals(1, mustNotFilters.size());
final Filter mustNotFilter = mustNotFilters.iterator().next();
assertTrue(mustNotFilter instanceof ExistsFilter);
}
Aggregations