Package org.apache.harmony.jndi.provider.ldap.parser

Examples of org.apache.harmony.jndi.provider.ldap.parser.FilterParser


        if (null == searchControls) {
            searchControls = new SearchControls();
        }

        FilterParser filterParser = new FilterParser(filter);
        filterParser.setArgs(objs);
        Filter f = null;
        try {
            f = filterParser.parse();
        } catch (ParseException e) {
            InvalidSearchFilterException ex = new InvalidSearchFilterException(
                    Messages.getString("ldap.29")); //$NON-NLS-1$
            ex.setRootCause(e);
            throw ex;
View Full Code Here


        if (filter == null) {
            // ldap.28=Parameter of filter should not be null
            throw new NullPointerException(Messages.getString("ldap.28")); //$NON-NLS-1$
        }

        FilterParser parser = new FilterParser(filter);
       
        if (args == null) {
            args = new Object[0];
        }
       
        parser.setArgs(args);
       
        try {
            return parser.parse();
        } catch (ParseException e) {
            // ldap.29=Invalid search filter
            InvalidSearchFilterException ex = new InvalidSearchFilterException(
                    Messages.getString("ldap.29")); //$NON-NLS-1$
            ex.setRootCause(e);
View Full Code Here

            return ldapSchemaCtx;

        SearchControls searchControls = new SearchControls();
        SearchOp search = null;
        Filter filter = null;
        FilterParser filterParser = null;
        LdapSearchResult sre = null;
        Map<String, Attributes> names = null;
        Set<String> keyset = null;

        if (name.size() != 0) {
            subschemasubentry = name.toString() + "," + contextDn.toString();
        }
        if (null == subschemasubentry) {
            filterParser = new FilterParser("(objectClass=*)");
            try {
                filter = filterParser.parse();
            } catch (ParseException e) {
                InvalidSearchFilterException ex = new InvalidSearchFilterException(
                        Messages.getString("ldap.29")); //$NON-NLS-1$
                ex.setRootCause(e);
                throw ex;
            }

            searchControls.setSearchScope(SearchControls.OBJECT_SCOPE);
            searchControls.setReturningAttributes(new String[] {
                    "namingContexts", "subschemaSubentry", "altServer", });
            search = new SearchOp("", searchControls, filter);

            try {
                client.doOperation(search, requestControls);
            } catch (IOException e) {
                CommunicationException ex = new CommunicationException(e
                        .getMessage());
                ex.setRootCause(e);
                if (search.getSearchResult().isEmpty()) {
                    throw ex;
                }
                search.getSearchResult().setException(ex);
            }

            sre = search.getSearchResult();
            names = sre.getEntries();

            keyset = names.keySet();
            schemaRoot: for (Iterator<String> iterator = keyset.iterator(); iterator
                    .hasNext();) {
                String key = iterator.next();
                Attributes as = names.get(key);
                NamingEnumeration<String> ids = as.getIDs();
                while (ids.hasMore()) {
                    String id = ids.next();
                    if (id.equalsIgnoreCase("subschemasubentry")) {
                        subschemasubentry = (String) as.get(id).get();
                        break schemaRoot;
                    }
                }
            }
        }

        searchControls.setSearchScope(SearchControls.OBJECT_SCOPE);
        searchControls.setReturningAttributes(new String[] { "objectclasses",
                "attributetypes", "matchingrules", "ldapsyntaxes" });
        searchControls.setReturningObjFlag(true);
        filterParser = new FilterParser("(objectClass=subschema)");
        try {
            filter = filterParser.parse();
        } catch (ParseException e) {
            InvalidSearchFilterException ex = new InvalidSearchFilterException(
                    Messages.getString("ldap.29")); //$NON-NLS-1$
            ex.setRootCause(e);
            throw ex;
View Full Code Here

        SearchControls searchControls = new SearchControls();
        searchControls.setSearchScope(SearchControls.OBJECT_SCOPE);
        searchControls.setReturningAttributes(new String[] { "objectClass", });
        searchControls.setReturningObjFlag(false);
        FilterParser parser = new FilterParser("(objectClass=*)");
        Filter filter = null;
        try {
            filter = parser.parse();
        } catch (ParseException e1) {
            // Should not throw this excption
        }
        String targetDN = getTargetDN(name, contextDn);
        SearchOp search = new SearchOp(targetDN, searchControls, filter);
View Full Code Here

     * test whether correct filters can be accepted by the parser
     *
     * @throws Exception
     */
    public void test_grammar() throws Exception {
        parser = new FilterParser(getClass().getClassLoader()
                .getResourceAsStream(TEST_FILE));
        parser.test();
    }
View Full Code Here

                .getResourceAsStream(TEST_FILE));
        parser.test();
    }

    public void test_parse() throws Exception {
        parser = new FilterParser("(cn=Babs Jensen)");
        filter = parser.parse();
        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("cn", "Babs Jensen", filter.getValue());

        parser = new FilterParser("(!(cn=Tim Howes))");
        filter = parser.parse();
        assertEquals(Filter.NOT_FILTER, filter.getType());
        assertTrue(filter.getValue() instanceof Filter);
        filter = (Filter) filter.getValue();
        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("cn", "Tim Howes", filter.getValue());

        parser = new FilterParser(
                "(&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))");
        filter = parser.parse();
        assertEquals(Filter.AND_FILTER, filter.getType());
        assertFalse(filter.isLeaf());
        List<Filter> children = filter.getChildren();
View Full Code Here

        assertEquals("Babs J", chosen.getValue());
        assertEquals(0, chosen.getIndex());
    }

    public void test_parse_special_char() throws Exception {
        parser = new FilterParser("(cn=\\2Atest)");
        filter = parser.parse();
        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("cn", "*test", filter.getValue());
    }
View Full Code Here

        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("cn", "*test", filter.getValue());
    }

    public void test_parse_argument() throws Exception {
        parser = new FilterParser("(cn={0})");
        parser.setArgs(new Object[] { "value" });
        filter = parser.parse();
        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("cn", "value", filter.getValue());

        parser = new FilterParser("(cn=start{0}end)");
        parser.setArgs(new Object[] { "value" });
        filter = parser.parse();
        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("cn", "startvalueend", filter.getValue());

        parser = new FilterParser("({2}cn{1}=test{0})");
        parser.setArgs(new Object[] { "value0", "value1", "value2" });
        filter = parser.parse();
        assertEquals(Filter.EQUALITY_MATCH_FILTER, filter.getType());
        assertAttributeValueAssertion("value2cnvalue1", "testvalue0", filter
                .getValue());
View Full Code Here

import org.apache.harmony.jndi.provider.ldap.Filter;
import org.apache.harmony.jndi.provider.ldap.parser.FilterParser;

public class ASN1LdapFilterTest extends TestCase {
    public void test_encode() throws Exception {
        FilterParser parser = new FilterParser("(&(cn=1)(o=2))");
        Filter filter = parser.parse();
        LdapASN1Constant.Filter.encode(filter);
        ASN1TestUtils.checkEncode(filter, LdapASN1Constant.Filter);

        parser = new FilterParser("(object=1)");
        filter = parser.parse();
        LdapASN1Constant.Filter.encode(filter);
        ASN1TestUtils.checkEncode(filter, LdapASN1Constant.Filter);
       
        parser = new FilterParser("(cn=*hello*)");
        filter = parser.parse();
        LdapASN1Constant.Filter.encode(filter);
        ASN1TestUtils.checkEncode(filter, LdapASN1Constant.Filter);
       
        parser = new FilterParser("(sn=Lu\\c4\\8di\\c4\\87)");
        filter = parser.parse();
        LdapASN1Constant.Filter.encode(filter);
        ASN1TestUtils.checkEncode(filter, LdapASN1Constant.Filter);
       
        parser = new FilterParser("(&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))");
        filter = parser.parse();
        LdapASN1Constant.Filter.encode(filter);
        ASN1TestUtils.checkEncode(filter, LdapASN1Constant.Filter);
    }
View Full Code Here

        }

        SearchControls searchControls = new SearchControls();
        SearchOp search = null;
        Filter filter = null;
        FilterParser filterParser = null;
        LdapSearchResult sre = null;
        Map<String, Attributes> names = null;
        Set<String> keyset = null;

        if (null == subschemasubentry) {
            filterParser = new FilterParser("(objectClass=*)");
            try {
                filter = filterParser.parse();
            } catch (ParseException e) {
                InvalidSearchFilterException ex = new InvalidSearchFilterException(
                        Messages.getString("ldap.29")); //$NON-NLS-1$
                ex.setRootCause(e);
                throw ex;
            }

            searchControls.setSearchScope(SearchControls.OBJECT_SCOPE);
            searchControls.setReturningAttributes(new String[] {
                    "namingContexts", "subschemaSubentry", "altServer", });
            search = new SearchOp(name.toString(), searchControls, filter);
            search.setBatchSize(0);
            try {
                client.doOperation(search, requestControls);
            } catch (IOException e) {
                CommunicationException ex = new CommunicationException(e
                        .getMessage());
                ex.setRootCause(e);
                if (search.getSearchResult().isEmpty()) {
                    throw ex;
                }
                search.getSearchResult().setException(ex);
            }

            sre = search.getSearchResult();
            names = sre.getEntries();

            keyset = names.keySet();

            schemaRoot: for (Iterator<String> iterator = keyset.iterator(); iterator
                    .hasNext();) {
                String key = iterator.next();
                Attributes as = names.get(key);
                NamingEnumeration<String> ids = as.getIDs();
                while (ids.hasMore()) {
                    String id = ids.next();
                    if (id.equalsIgnoreCase("subschemasubentry")) {
                        subschemasubentry = (String) as.get(id).get();
                        break schemaRoot;
                    }
                }
            }
        }

        if (null == subschemasubentry) {
            return getSchema(name.getPrefix(name.size() - 1));
        }

        searchControls.setSearchScope(SearchControls.OBJECT_SCOPE);
        searchControls.setReturningAttributes(new String[] { "objectclasses",
                "attributetypes", "matchingrules", "ldapsyntaxes" });
        searchControls.setReturningObjFlag(true);
        filterParser = new FilterParser("(objectClass=subschema)");
        try {
            filter = filterParser.parse();
        } catch (ParseException e) {
            InvalidSearchFilterException ex = new InvalidSearchFilterException(
                    Messages.getString("ldap.29")); //$NON-NLS-1$
            ex.setRootCause(e);
            throw ex;
View Full Code Here

TOP

Related Classes of org.apache.harmony.jndi.provider.ldap.parser.FilterParser

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.