use of com.enonic.xp.query.filter.Filters in project xp by enonic.
the class JsonToFilterMapperTest method array_on_root.
@Test
public void array_on_root() throws Exception {
final List<Map<String, Object>> existsFilters = new ArrayList<>();
existsFilters.add(createExistsFilter());
existsFilters.add(createExistsFilter());
existsFilters.add(createExistsFilter());
final Filters filters = com.enonic.xp.lib.common.JsonToFilterMapper.create(existsFilters);
assertTrue(filters.get(0) instanceof BooleanFilter);
final ImmutableSet<Filter> mustFilters = ((BooleanFilter) filters.get(0)).getMust();
assertEquals(3, mustFilters.size());
}
use of com.enonic.xp.query.filter.Filters 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.Filters in project xp by enonic.
the class JsonToFilterMapperTest method values_filter.
@Test
public void values_filter() throws Exception {
Map<String, Object> value = new HashMap<>();
List<String> values = List.of("fisk", "ost", "løk");
final HashMap<String, Object> valueFilter = new HashMap<>();
valueFilter.put("field", "myField");
valueFilter.put("values", values);
value.put("hasValue", valueFilter);
final Filters filters = com.enonic.xp.lib.common.JsonToFilterMapper.create(value);
assertTrue(filters.get(0) instanceof ValueFilter);
assertEquals("myField", ((ValueFilter) filters.get(0)).getFieldName());
assertEquals(3, ((ValueFilter) filters.get(0)).getValues().size());
}
use of com.enonic.xp.query.filter.Filters in project xp by enonic.
the class MultiRepoSearchSourceAdaptorTest method multiple_repos.
@Test
public void multiple_repos() throws Exception {
final ESSource source = MultiRepoSearchSourceAdaptor.adapt(MultiRepoSearchSource.create().add(SingleRepoSearchSource.create().repositoryId(RepositoryId.from("repo1")).branch(Branch.from("branch1")).acl(PrincipalKeys.from(PrincipalKey.ofAnonymous())).build()).add(SingleRepoSearchSource.create().repositoryId(RepositoryId.from("repo2")).branch(Branch.from("branch2")).acl(PrincipalKeys.from(PrincipalKey.ofAnonymous())).build()).build());
assertTrue(source.getIndexNames().containsAll(Arrays.asList("search-repo1", "search-repo2")));
assertTrue(source.getIndexTypes().containsAll(Arrays.asList("branch1", "branch2")));
final Filters filters = source.getFilters();
assertEquals(1, filters.getSize());
final Filter allFilters = filters.get(0);
assert (allFilters instanceof BooleanFilter);
final ImmutableSet<Filter> shouldFilters = ((BooleanFilter) allFilters).getMust();
assertEquals(2, shouldFilters.size());
}
use of com.enonic.xp.query.filter.Filters 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);
}
Aggregations