Search in sources :

Example 1 with Filter

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());
}
Also used : BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) Filters(com.enonic.xp.query.filter.Filters) IdFilter(com.enonic.xp.query.filter.IdFilter) ExistsFilter(com.enonic.xp.query.filter.ExistsFilter) ValueFilter(com.enonic.xp.query.filter.ValueFilter) BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) Filter(com.enonic.xp.query.filter.Filter) ArrayList(java.util.ArrayList) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.jupiter.api.Test)

Example 2 with Filter

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());
}
Also used : BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) ExistsFilter(com.enonic.xp.query.filter.ExistsFilter) Filters(com.enonic.xp.query.filter.Filters) HashMap(java.util.HashMap) IdFilter(com.enonic.xp.query.filter.IdFilter) ExistsFilter(com.enonic.xp.query.filter.ExistsFilter) ValueFilter(com.enonic.xp.query.filter.ValueFilter) BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) Filter(com.enonic.xp.query.filter.Filter) Test(org.junit.jupiter.api.Test)

Example 3 with Filter

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());
}
Also used : BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) Filters(com.enonic.xp.query.filter.Filters) BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) Filter(com.enonic.xp.query.filter.Filter) Test(org.junit.jupiter.api.Test)

Example 4 with Filter

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();
}
Also used : BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) IdFilter(com.enonic.xp.query.filter.IdFilter) BooleanFilter(com.enonic.xp.query.filter.BooleanFilter) IndicesFilter(com.enonic.xp.query.filter.IndicesFilter) Filter(com.enonic.xp.query.filter.Filter)

Example 5 with Filter

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());
}
Also used : ValueFilter(com.enonic.xp.query.filter.ValueFilter) Filter(com.enonic.xp.query.filter.Filter) ValueFilter(com.enonic.xp.query.filter.ValueFilter) Test(org.junit.jupiter.api.Test)

Aggregations

Filter (com.enonic.xp.query.filter.Filter)10 BooleanFilter (com.enonic.xp.query.filter.BooleanFilter)7 ValueFilter (com.enonic.xp.query.filter.ValueFilter)7 Test (org.junit.jupiter.api.Test)6 ExistsFilter (com.enonic.xp.query.filter.ExistsFilter)5 Filters (com.enonic.xp.query.filter.Filters)5 IdFilter (com.enonic.xp.query.filter.IdFilter)5 HashMap (java.util.HashMap)3 ContentIds (com.enonic.xp.content.ContentIds)2 ContentQuery (com.enonic.xp.content.ContentQuery)2 ContentId (com.enonic.xp.content.ContentId)1 FindContentByQueryResult (com.enonic.xp.content.FindContentByQueryResult)1 FindContentIdsByQueryResult (com.enonic.xp.content.FindContentIdsByQueryResult)1 IssueStatus (com.enonic.xp.issue.IssueStatus)1 IssueType (com.enonic.xp.issue.IssueType)1 NodeQuery (com.enonic.xp.node.NodeQuery)1 AggregationQuery (com.enonic.xp.query.aggregation.AggregationQuery)1 QueryExpr (com.enonic.xp.query.expr.QueryExpr)1 IndicesFilter (com.enonic.xp.query.filter.IndicesFilter)1 HighlightQuery (com.enonic.xp.query.highlight.HighlightQuery)1