opends/src/server/org/opends/server/types/RawFilter.java
@@ -23,6 +23,7 @@ * * * Copyright 2006-2009 Sun Microsystems, Inc. * Portions Copyright 2013 ForgeRock AS */ package org.opends.server.types; import org.opends.messages.Message; @@ -32,12 +33,12 @@ import java.util.ArrayList; import java.io.IOException; import org.opends.server.loggers.debug.DebugTracer; import org.opends.server.protocols.asn1.*; import org.opends.server.protocols.ldap.LDAPFilter; import static org.opends.server.loggers.debug.DebugLogger.*; import org.opends.server.loggers.debug.DebugTracer; import static org.opends.messages.ProtocolMessages.*; import static org.opends.server.loggers.debug.DebugLogger.*; import static org.opends.server.protocols.ldap.LDAPConstants.*; import static org.opends.server.protocols.ldap.LDAPResultCode.*; import static org.opends.server.util.StaticUtils.*; @@ -636,12 +637,12 @@ try { reader.readStartSequence(); // Should have atleast 1 filter. do // Should have at least 1 filter // could also be an absolute true/false filter while (reader.hasNextElement()) { filterComponents.add(LDAPFilter.decode(reader)); } while(reader.hasNextElement()); reader.readEndSequence(); } catch (LDAPException le) @@ -1135,6 +1136,7 @@ * * @return A string representation of this search filter. */ @Override public String toString() { StringBuilder buffer = new StringBuilder(); opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestLDAPFilter.java
@@ -23,10 +23,12 @@ * * * Copyright 2006-2008 Sun Microsystems, Inc. * Portions Copyright 2011 ForgeRock AS * Portions Copyright 2011-2013 ForgeRock AS */ package org.opends.server.protocols.ldap; import java.util.ArrayList; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import org.testng.annotations.BeforeTest; @@ -36,8 +38,7 @@ import org.opends.server.protocols.asn1.ASN1; import org.opends.server.protocols.asn1.ASN1Reader; import static org.testng.Assert.assertEquals; import java.util.ArrayList; import static org.testng.Assert.*; public class TestLDAPFilter extends LdapTestCase { @@ -195,17 +196,19 @@ { "(ds-sync-conflict=uid=\\5c+3904211775265,ou=SharedAddressBook,cn=1038372,dc=cab)", LDAPFilter.createEqualityFilter("ds-sync-conflict", ByteString.valueOf("uid=\\+3904211775265,ou=SharedAddressBook,cn=1038372,dc=cab")) } ByteString.valueOf("uid=\\+3904211775265,ou=SharedAddressBook,cn=1038372,dc=cab")) }, // OPENDJ-735 { "(&)", LDAPFilter.createANDFilter(new ArrayList<RawFilter>()) }, // OPENDJ-735 { "(|)", LDAPFilter.createORFilter(new ArrayList<RawFilter>()) } }; } @Test(dataProvider = "filterstrings") public void testDecode(String filterStr, LDAPFilter filter) throws Exception { //LDAPFilter decodedFilter = LDAPFilter.decode(filterStr); //System.out.println(decodedFilter.); //System.out.println(filter.toString()); LDAPFilter decoded = LDAPFilter.decode(filterStr); assertEquals(decoded.toString(), filter.toString()); assertEquals(decoded.getAssertionValue(), filter.getAssertionValue());