Search in sources :

Example 1 with NotRefinement

use of org.apache.directory.api.ldap.model.subtree.NotRefinement in project directory-ldap-api by apache.

the class SubtreeSpecificationParserTest method testSpecWithRefinement.

/**
 * Tests the parser with a valid specification with refinement set.
 */
@Test
public void testSpecWithRefinement() throws Exception {
    SubtreeSpecification ss = parser.parse(SPEC_WITH_REFINEMENT);
    // The items
    Refinement topItem = new ItemRefinement(topOC);
    Refinement aliasItem = new ItemRefinement(aliasOC);
    Refinement personItem = new ItemRefinement(personOC);
    Refinement countryItem = new ItemRefinement(countryOC);
    // The inner OR refinement or:{item:2.5.6.1, item:person}
    List<Refinement> orList = new ArrayList<Refinement>();
    orList.add(aliasItem);
    orList.add(personItem);
    Refinement orRefinement = new OrRefinement(orList);
    // The inner AND refinement and:{ item:2.5.6.0, or:... }
    List<Refinement> innerAndList = new ArrayList<Refinement>();
    innerAndList.add(topItem);
    innerAndList.add(orRefinement);
    Refinement innerAndRefinement = new AndRefinement(innerAndList);
    // The NOT refinement not:item:2.5.6.2
    Refinement notRefinement = new NotRefinement(countryItem);
    // The outer AND refinement and:{and:..., not:...}
    List<Refinement> outerAndList = new ArrayList<Refinement>();
    outerAndList.add(innerAndRefinement);
    outerAndList.add(notRefinement);
    StringBuilder buffer = new StringBuilder();
    ss.getRefinement().printRefinementToBuffer(buffer);
    // assertEquals( outerAndRefinement.toString(), buffer );
    assertEquals("and: { and: { item: 2.5.6.0, or: { item: 2.5.6.1, item: person } }, not: item: 2.5.6.2 }", buffer.toString());
}
Also used : AndRefinement(org.apache.directory.api.ldap.model.subtree.AndRefinement) OrRefinement(org.apache.directory.api.ldap.model.subtree.OrRefinement) AndRefinement(org.apache.directory.api.ldap.model.subtree.AndRefinement) OrRefinement(org.apache.directory.api.ldap.model.subtree.OrRefinement) Refinement(org.apache.directory.api.ldap.model.subtree.Refinement) NotRefinement(org.apache.directory.api.ldap.model.subtree.NotRefinement) ItemRefinement(org.apache.directory.api.ldap.model.subtree.ItemRefinement) ArrayList(java.util.ArrayList) ItemRefinement(org.apache.directory.api.ldap.model.subtree.ItemRefinement) NotRefinement(org.apache.directory.api.ldap.model.subtree.NotRefinement) SubtreeSpecification(org.apache.directory.api.ldap.model.subtree.SubtreeSpecification) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)1 AndRefinement (org.apache.directory.api.ldap.model.subtree.AndRefinement)1 ItemRefinement (org.apache.directory.api.ldap.model.subtree.ItemRefinement)1 NotRefinement (org.apache.directory.api.ldap.model.subtree.NotRefinement)1 OrRefinement (org.apache.directory.api.ldap.model.subtree.OrRefinement)1 Refinement (org.apache.directory.api.ldap.model.subtree.Refinement)1 SubtreeSpecification (org.apache.directory.api.ldap.model.subtree.SubtreeSpecification)1 Test (org.junit.Test)1