use of com.enonic.xp.query.filter.Filter 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.Filter 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.Filter 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.Filter in project xp by enonic.
the class MultiRepoSearchSourceAdaptor method doCreateAclEntryFilter.
private static Filter doCreateAclEntryFilter(final RepositoryId repoId, final BranchAclEntry entry) {
final BooleanFilter.Builder filters = BooleanFilter.create().must(createBranchFilter(entry.getBranch()));
final Filter aclFilter = AclFilterBuilderFactory.create(entry.getAcl());
if (aclFilter != null) {
filters.must(aclFilter);
}
return IndicesFilter.create().addIndex(createSearchIndexName(repoId)).filter(filters.build()).build();
}
use of com.enonic.xp.query.filter.Filter in project xp by enonic.
the class AclFilterBuilderFactoryTest method anonymous.
@Test
public void anonymous() throws Exception {
final Filter filter = AclFilterBuilderFactory.create(PrincipalKeys.empty());
assertTrue(filter instanceof ValueFilter);
ValueFilter valueFilter = (ValueFilter) filter;
assertEquals(1, valueFilter.getValues().size());
}
Aggregations