directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r986523 [4/6] - in /directory: apacheds/branches/apacheds-codec-merge/core-api/src/main/java/org/apache/directory/server/core/ apacheds/branches/apacheds-codec-merge/core-integ/src/test/java/org/apache/directory/server/core/operations/searc...
Date Tue, 17 Aug 2010 23:31:55 GMT
Modified: directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java?rev=986523&r1=986522&r2=986523&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java
(original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java
Tue Aug 17 23:31:53 2010
@@ -38,11 +38,13 @@ import org.apache.directory.shared.asn1.
 import org.apache.directory.shared.asn1.ber.IAsn1Container;
 import org.apache.directory.shared.asn1.codec.DecoderException;
 import org.apache.directory.shared.asn1.codec.EncoderException;
-import org.apache.directory.shared.ldap.codec.LdapConstants;
 import org.apache.directory.shared.ldap.codec.LdapMessageContainer;
 import org.apache.directory.shared.ldap.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.entry.EntryAttribute;
 import org.apache.directory.shared.ldap.filter.SearchScope;
+import org.apache.directory.shared.ldap.message.AliasDerefMode;
+import org.apache.directory.shared.ldap.message.LdapProtocolEncoder;
+import org.apache.directory.shared.ldap.message.SearchRequestImpl;
+import org.apache.directory.shared.ldap.message.internal.InternalSearchRequest;
 import org.apache.directory.shared.ldap.schema.normalizers.DeepTrimToLowerNormalizer;
 import org.apache.directory.shared.ldap.schema.normalizers.OidNormalizer;
 import org.apache.directory.shared.ldap.util.StringTools;
@@ -60,31 +62,35 @@ import org.junit.runner.RunWith;
 @Concurrent()
 public class SearchRequestMatchingRuleAssertionTest
 {
+    /** The encoder instance */
+    LdapProtocolEncoder encoder = new LdapProtocolEncoder();
+
     static Map<String, OidNormalizer> oids = new HashMap<String, OidNormalizer>();
 
+
     @BeforeClass
     public static void setUp() throws Exception
     {
         // DC normalizer
-        OidNormalizer dcOidNormalizer = new OidNormalizer( "dc",
-            new DeepTrimToLowerNormalizer( SchemaConstants.DOMAIN_COMPONENT_AT_OID ) );
-        
+        OidNormalizer dcOidNormalizer = new OidNormalizer( "dc", new DeepTrimToLowerNormalizer(
+            SchemaConstants.DOMAIN_COMPONENT_AT_OID ) );
+
         oids.put( "dc", dcOidNormalizer );
         oids.put( "domaincomponent", dcOidNormalizer );
         oids.put( "0.9.2342.19200300.100.1.25", dcOidNormalizer );
 
         // OU normalizer
-        OidNormalizer ouOidNormalizer = new OidNormalizer( "ou",
-            new DeepTrimToLowerNormalizer( SchemaConstants.OU_AT_OID ) );
-        
+        OidNormalizer ouOidNormalizer = new OidNormalizer( "ou", new DeepTrimToLowerNormalizer(
+            SchemaConstants.OU_AT_OID ) );
+
         oids.put( "ou", ouOidNormalizer );
-        oids.put( "organizationalUnitName",ouOidNormalizer );
+        oids.put( "organizationalUnitName", ouOidNormalizer );
         oids.put( "2.5.4.11", ouOidNormalizer );
-        
+
         // ObjectClass normalizer
-        OidNormalizer objectClassOidNormalizer = new OidNormalizer( "objectClass",
-            new DeepTrimToLowerNormalizer( SchemaConstants.OBJECT_CLASS_AT_OID ) );
-        
+        OidNormalizer objectClassOidNormalizer = new OidNormalizer( "objectClass", new DeepTrimToLowerNormalizer(
+            SchemaConstants.OBJECT_CLASS_AT_OID ) );
+
         oids.put( "objectclass", objectClassOidNormalizer );
         oids.put( "2.5.4.0", objectClassOidNormalizer );
     }
@@ -100,41 +106,67 @@ public class SearchRequestMatchingRuleAs
 
         ByteBuffer stream = ByteBuffer.allocate( 0x63 );
         stream.put( new byte[]
-            { 
-            0x30, 0x61,                     // LDAPMessage ::= SEQUENCE {
-              0x02, 0x01, 0x01,             //   messageID       MessageID,
-              0x63, 0x5C,                   //   protocolOp      CHOICE {
-                                            //     searchRequest   SearchRequest,
-                                            //
-                                            // SearchRequest ::= [APPLICATION 3] SEQUENCE
{
-                0x04, 0x11,                 //   baseObject      LDAPDN, (dc=example,dc=com)
-                  'd', 'c', '=', 'e', 'x', 'a', 'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c',
'o', 'm',
-                                            //   scope           ENUMERATED {
-                0x0A, 0x01, 0x00,           //      baseObject              (0), ...
-                                            //   derefAliases    ENUMERATED {
-                0x0A, 0x01, 0x02,           //     derefFindingBaseObj     (2),...
-                0x02, 0x01, 0x02,           //   sizeLimit       INTEGER (0 .. maxInt), (2)
-                0x02, 0x01, 0x03,           //   timeLimit       INTEGER (0 .. maxInt), (3)
-                0x01, 0x01, ( byte ) 0xFF,  //   typesOnly       BOOLEAN, (true)
-                ( byte ) 0xA9, 0x21,        //   filter          Filter,
-                                            //
-                                            // Filter ::= CHOICE {
-                                            //   extensibleMatch [9] MatchingRuleAssertion
}
-                                            //
-                                            // MatchingRuleAssertion ::= SEQUENCE {
-                  ( byte ) 0x81, 0x02,      //   matchingRule    [1] MatchingRuleId OPTIONAL,
-                    'c', 'n', 
-                  ( byte ) 0x82, 0x13,      //    type            [2] AttributeDescription
OPTIONAL,
-                    '1', '.', '2', '.', '8', '4', '0', '.', '4', '8', '0', '1', '8', '.',
'1', '.', '2', '.', '2', 
-                  ( byte ) 0x83, 0x03,      //    matchValue      [3] AssertionValue,
-                    'a', 'o', 'k', 
-                                            //    dnAttributes    [4] BOOLEAN DEFAULT FALSE
 }
-                  ( byte ) 0x84, 0x01, ( byte ) 0xFF, 
-                0x30, 0x15,                 // attributes      AttributeDescriptionList }
-                  0x04, 0x05, 'a', 't', 't', 'r', '0',
-                  0x04, 0x05, 'a', 't', 't', 'r', '1',
-                  0x04, 0x05, 'a', 't', 't', 'r', '2'
-            } );
+            {
+                0x30,
+                0x61, // LDAPMessage ::= SEQUENCE {
+                0x02,
+                0x01,
+                0x01, //   messageID       MessageID,
+                0x63,
+                0x5C, //   protocolOp      CHOICE {
+                //     searchRequest   SearchRequest,
+                //
+                // SearchRequest ::= [APPLICATION 3] SEQUENCE {
+                0x04,
+                0x11, //   baseObject      LDAPDN, (dc=example,dc=com)
+                'd', 'c', '=', 'e', 'x', 'a', 'm', 'p',
+                'l',
+                'e',
+                ',',
+                'd',
+                'c',
+                '=',
+                'c',
+                'o',
+                'm',
+                //   scope           ENUMERATED {
+                0x0A,
+                0x01,
+                0x00, //      baseObject              (0), ...
+                //   derefAliases    ENUMERATED {
+                0x0A,
+                0x01,
+                0x02, //     derefFindingBaseObj     (2),...
+                0x02,
+                0x01,
+                0x02, //   sizeLimit       INTEGER (0 .. maxInt), (2)
+                0x02,
+                0x01,
+                0x03, //   timeLimit       INTEGER (0 .. maxInt), (3)
+                0x01,
+                0x01,
+                ( byte ) 0xFF, //   typesOnly       BOOLEAN, (true)
+                ( byte ) 0xA9,
+                0x21, //   filter          Filter,
+                //
+                // Filter ::= CHOICE {
+                //   extensibleMatch [9] MatchingRuleAssertion }
+                //
+                // MatchingRuleAssertion ::= SEQUENCE {
+                ( byte ) 0x81,
+                0x02, //   matchingRule    [1] MatchingRuleId OPTIONAL,
+                'c', 'n',
+                ( byte ) 0x82,
+                0x13, //    type            [2] AttributeDescription OPTIONAL,
+                '1', '.', '2', '.', '8', '4', '0', '.', '4', '8', '0', '1', '8', '.', '1',
'.', '2', '.', '2',
+                ( byte ) 0x83,
+                0x03, //    matchValue      [3] AssertionValue,
+                'a', 'o', 'k',
+                //    dnAttributes    [4] BOOLEAN DEFAULT FALSE  }
+                ( byte ) 0x84, 0x01, ( byte ) 0xFF, 0x30,
+                0x15, // attributes      AttributeDescriptionList }
+                0x04, 0x05, 'a', 't', 't', 'r', '0', 0x04, 0x05, 'a', 't', 't', 'r', '1',
0x04, 0x05, 'a', 't', 't',
+                'r', '2' } );
 
         String decodedPdu = StringTools.dumpBytes( stream.array() );
         stream.flip();
@@ -152,33 +184,33 @@ public class SearchRequestMatchingRuleAs
             fail( de.getMessage() );
         }
 
-        SearchRequestCodec searchRequest = ( ( LdapMessageContainer ) ldapMessageContainer
).getSearchRequest();
+        InternalSearchRequest searchRequest = ( ( LdapMessageContainer ) ldapMessageContainer
).getSearchRequest();
 
         assertEquals( 1, searchRequest.getMessageId() );
-        assertEquals( "dc=example,dc=com", searchRequest.getBaseObject().toString() );
+        assertEquals( "dc=example,dc=com", searchRequest.getBase().toString() );
         assertEquals( SearchScope.OBJECT, searchRequest.getScope() );
-        assertEquals( LdapConstants.DEREF_FINDING_BASE_OBJ, searchRequest.getDerefAliases()
);
+        assertEquals( AliasDerefMode.DEREF_FINDING_BASE_OBJ, searchRequest.getDerefAliases()
);
         assertEquals( 2, searchRequest.getSizeLimit() );
         assertEquals( 3, searchRequest.getTimeLimit() );
-        assertEquals( true, searchRequest.isTypesOnly() );
+        assertEquals( true, searchRequest.getTypesOnly() );
 
         // The attributes
-        List<EntryAttribute> attributes = searchRequest.getAttributes();
+        List<String> attributes = searchRequest.getAttributes();
 
-        for ( EntryAttribute attribute:attributes  )
+        for ( String attribute : attributes )
         {
             assertNotNull( attribute );
         }
 
-        // Check the length
-        assertEquals( 0x63, searchRequest.computeLength() );
-
         // Check the encoding
         // We won't check the whole PDU, as it may differs because
         // attributes may have been reordered
         try
         {
-            ByteBuffer bb = searchRequest.encode();
+            ByteBuffer bb = encoder.encodeMessage( searchRequest );
+
+            // Check the length
+            assertEquals( 0x63, bb.limit() );
 
             String encodedPdu = StringTools.dumpBytes( bb.array() );
 
@@ -199,22 +231,15 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestEmptyExtensibleMatch()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x3B, 
-              0x02, 0x01, 0x04,                 // messageID
-                0x63, 0x36,                     // baseObject LDAPDN,
-                  0x04, 0x1F, 
-                    'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',',
'd', 'c', '=', 'e', 'x', 'a',
-                    'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-                  0x0A, 0x01, 0x01, 
-                  0x0A, 0x01, 0x03, 
-                  0x02, 0x01, 0x00, 
-                  0x02, 0x01, 0x00, 
-                  0x01, 0x01, ( byte ) 0xFF, 
-                  ( byte ) 0xA9, 0x00,             
-                  0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
-                0x04, 0x00 
-            };
+            { 0x30, 0x3B, 0x02,
+                0x01,
+                0x04, // messageID
+                0x63,
+                0x36, // baseObject LDAPDN,
+                0x04, 0x1F, 'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u',
',', 'd', 'c', '=', 'e',
+                'x', 'a', 'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01,
0x01, 0x0A, 0x01, 0x03,
+                0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9,
0x00, 0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -248,23 +273,17 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchEmptyMatchingRule()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x3D, 
-              0x02, 0x01, 0x04,                 // messageID
-              0x63, 0x38, 
-                0x04, 0x1F,                     // baseObject LDAPDN,
-                  'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                  'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-                0x0A, 0x01, 0x01, 
-                0x0A, 0x01, 0x03, 
-                0x02, 0x01, 0x00, 
-                0x02, 0x01, 0x00, 
-                0x01, 0x01, ( byte ) 0xFF, 
-                ( byte ) 0xA9, 0x02, 
-                  ( byte ) 0x81, 0x00,          // matchingRule    [1] MatchingRuleId OPTIONAL,
-                0x30, 0x02,                     // AttributeDescriptionList ::= SEQUENCE
OF AttributeDescription
-                  0x04, 0x00 
-            };
+            { 0x30, 0x3D, 0x02,
+                0x01,
+                0x04, // messageID
+                0x63, 0x38,
+                0x04,
+                0x1F, // baseObject LDAPDN,
+                'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x02, (
byte ) 0x81, 0x00, // matchingRule    [1] MatchingRuleId OPTIONAL,
+                0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -298,23 +317,17 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchEmptyType()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x3D, 
-              0x02, 0x01, 0x04,                 // messageID
-              0x63, 0x38, 
-                0x04, 0x1F,                     // baseObject LDAPDN,
-                  'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                  'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-                0x0A, 0x01, 0x01, 
-                0x0A, 0x01, 0x03, 
-                0x02, 0x01, 0x00, 
-                0x02, 0x01, 0x00, 
-                0x01, 0x01, ( byte ) 0xFF, 
-                ( byte ) 0xA9, 0x02, 
-                  ( byte ) 0x82, 0x00,          //    type            [2] AttributeDescription
OPTIONAL
-                0x30, 0x02,                     // AttributeDescriptionList ::= SEQUENCE
OF AttributeDescription
-                  0x04, 0x00 
-            };
+            { 0x30, 0x3D, 0x02,
+                0x01,
+                0x04, // messageID
+                0x63, 0x38,
+                0x04,
+                0x1F, // baseObject LDAPDN,
+                'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x02, (
byte ) 0x82, 0x00, //    type            [2] AttributeDescription OPTIONAL
+                0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -348,24 +361,20 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchEmptyMatchValue()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x43, 
-              0x02, 0x01, 0x04,                 // messageID
-              0x63, 0x3E, 
-                0x04, 0x1F,                     // baseObject LDAPDN,
-                  'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                  'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-                  0x0A, 0x01, 0x01, 
-                  0x0A, 0x01, 0x03, 
-                  0x02, 0x01, 0x00, 
-                  0x02, 0x01, 0x00, 
-                  0x01, 0x01, ( byte ) 0xFF, 
-                  ( byte ) 0xA9, 0x08, 
-                    ( byte ) 0x81, 0x04, 't', 'e', 's', 't', 
-                    ( byte ) 0x83, 0x00,        //    matchValue      [3] AssertionValue,
-                0x30, 0x02,                     // AttributeDescriptionList ::= SEQUENCE
OF AttributeDescription
-                  0x04, 0x00 
-            };
+            { 0x30, 0x43,
+                0x02,
+                0x01,
+                0x04, // messageID
+                0x63,
+                0x3E,
+                0x04,
+                0x1F, // baseObject LDAPDN,
+                'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x08, (
byte ) 0x81, 0x04, 't', 'e',
+                's', 't', ( byte ) 0x83, 0x00, //    matchValue      [3] AssertionValue,
+                0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -387,18 +396,19 @@ public class SearchRequestMatchingRuleAs
             fail( de.getMessage() );
         }
 
-        SearchRequestCodec searchRequest = ( ( LdapMessageContainer ) ldapMessageContainer
).getSearchRequest();
+        InternalSearchRequest searchRequest = ( ( LdapMessageContainer ) ldapMessageContainer
).getSearchRequest();
 
         assertEquals( 4, searchRequest.getMessageId() );
-        assertEquals( "uid=akarasulu,dc=example,dc=com", searchRequest.getBaseObject().toString()
);
+        assertEquals( "uid=akarasulu,dc=example,dc=com", searchRequest.getBase().toString()
);
         assertEquals( SearchScope.ONELEVEL, searchRequest.getScope() );
-        assertEquals( LdapConstants.DEREF_ALWAYS, searchRequest.getDerefAliases() );
+        assertEquals( AliasDerefMode.DEREF_ALWAYS, searchRequest.getDerefAliases() );
         assertEquals( 0, searchRequest.getSizeLimit() );
         assertEquals( 0, searchRequest.getTimeLimit() );
-        assertEquals( true, searchRequest.isTypesOnly() );
+        assertEquals( true, searchRequest.getTypesOnly() );
 
         // Extended
-        ExtensibleMatchFilter extensibleMatchFilter = ( ExtensibleMatchFilter ) searchRequest.getFilter();
+        Filter filter = ( ( SearchRequestImpl ) searchRequest ).getCurrentFilter();
+        ExtensibleMatchFilter extensibleMatchFilter = ( ExtensibleMatchFilter ) filter;
         assertNotNull( extensibleMatchFilter );
 
         assertEquals( "test", extensibleMatchFilter.getMatchingRule() );
@@ -406,7 +416,7 @@ public class SearchRequestMatchingRuleAs
         assertNull( extensibleMatchFilter.getMatchValue().get() );
         assertFalse( extensibleMatchFilter.isDnAttributes() );
 
-        List<EntryAttribute> attributes = searchRequest.getAttributes();
+        List<String> attributes = searchRequest.getAttributes();
 
         assertEquals( 0, attributes.size() );
     }
@@ -420,24 +430,20 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchMatchingRuleEmptyType()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x43, 
-              0x02, 0x01, 0x04,                 // messageID
-              0x63, 0x3E, 
-                0x04, 0x1F,                     // baseObject LDAPDN,
-                  'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                  'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-                0x0A, 0x01, 0x01, 
-                0x0A, 0x01, 0x03, 
-                0x02, 0x01, 0x00, 
-                0x02, 0x01, 0x00, 
-                0x01, 0x01, ( byte ) 0xFF, 
-                ( byte ) 0xA9, 0x08, 
-                  ( byte ) 0x81, 0x04, 't', 'e', 's', 't', 
-                  ( byte ) 0x82, 0x00,          //    type            [2] AttributeDescription
OPTIONAL,
-                0x30, 0x02,                     // AttributeDescriptionList ::= SEQUENCE
OF AttributeDescription
-                0x04, 0x00 
-            };
+            { 0x30, 0x43,
+                0x02,
+                0x01,
+                0x04, // messageID
+                0x63,
+                0x3E,
+                0x04,
+                0x1F, // baseObject LDAPDN,
+                'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x08, (
byte ) 0x81, 0x04, 't', 'e',
+                's', 't', ( byte ) 0x82, 0x00, //    type            [2] AttributeDescription
OPTIONAL,
+                0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -462,6 +468,7 @@ public class SearchRequestMatchingRuleAs
         fail( "We should not reach this point" );
     }
 
+
     /**
      * Test the decoding of a SearchRequest with an extensible match and an
      * matching rule and an empty dnAttributes
@@ -470,41 +477,67 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchDnAttributesEmptyType()
     {
         byte[] asn1BER = new byte[]
-            { 
-             0x30, 0x60,                     // LDAPMessage ::= SEQUENCE {
-               0x02, 0x01, 0x01,             //   messageID       MessageID,
-               0x63, 0x5B,                   //   protocolOp      CHOICE {
-                                             //     searchRequest   SearchRequest,
-                                             //
-                                             // SearchRequest ::= [APPLICATION 3] SEQUENCE
{
-                 0x04, 0x11,                 //   baseObject      LDAPDN, (dc=example,dc=com)
-                   'd', 'c', '=', 'e', 'x', 'a', 'm', 'p', 'l', 'e', ',', 'd', 'c', '=',
'c', 'o', 'm',
-                                             //   scope           ENUMERATED {
-                 0x0A, 0x01, 0x00,           //      baseObject              (0), ...
-                                             //   derefAliases    ENUMERATED {
-                 0x0A, 0x01, 0x02,           //     derefFindingBaseObj     (2),...
-                 0x02, 0x01, 0x02,           //   sizeLimit       INTEGER (0 .. maxInt),
(2)
-                 0x02, 0x01, 0x03,           //   timeLimit       INTEGER (0 .. maxInt),
(3)
-                 0x01, 0x01, ( byte ) 0xFF,  //   typesOnly       BOOLEAN, (true)
-                 ( byte ) 0xA9, 0x20,        //   filter          Filter,
-                                             //
-                                             // Filter ::= CHOICE {
-                                             //   extensibleMatch [9] MatchingRuleAssertion
}
-                                             //
-                                             // MatchingRuleAssertion ::= SEQUENCE {
-                   ( byte ) 0x81, 0x02,      //   matchingRule    [1] MatchingRuleId OPTIONAL,
-                     'c', 'n', 
-                   ( byte ) 0x82, 0x13,      //    type            [2] AttributeDescription
OPTIONAL,
-                     '1', '.', '2', '.', '8', '4', '0', '.', '4', '8', '0', '1', '8', '.',
'1', '.', '2', '.', '2', 
-                   ( byte ) 0x83, 0x03,      //    matchValue      [3] AssertionValue,
-                     'a', 'o', 'k', 
-                                             //    dnAttributes    [4] BOOLEAN DEFAULT FALSE
 }
-                   ( byte ) 0x84, 0x00, 
-                 0x30, 0x15,                 // attributes      AttributeDescriptionList
}
-                   0x04, 0x05, 'a', 't', 't', 'r', '0',
-                   0x04, 0x05, 'a', 't', 't', 'r', '1',
-                   0x04, 0x05, 'a', 't', 't', 'r', '2'
-            };
+            {
+                0x30,
+                0x60, // LDAPMessage ::= SEQUENCE {
+                0x02,
+                0x01,
+                0x01, //   messageID       MessageID,
+                0x63,
+                0x5B, //   protocolOp      CHOICE {
+                //     searchRequest   SearchRequest,
+                //
+                // SearchRequest ::= [APPLICATION 3] SEQUENCE {
+                0x04,
+                0x11, //   baseObject      LDAPDN, (dc=example,dc=com)
+                'd', 'c', '=', 'e', 'x', 'a', 'm', 'p',
+                'l',
+                'e',
+                ',',
+                'd',
+                'c',
+                '=',
+                'c',
+                'o',
+                'm',
+                //   scope           ENUMERATED {
+                0x0A,
+                0x01,
+                0x00, //      baseObject              (0), ...
+                //   derefAliases    ENUMERATED {
+                0x0A,
+                0x01,
+                0x02, //     derefFindingBaseObj     (2),...
+                0x02,
+                0x01,
+                0x02, //   sizeLimit       INTEGER (0 .. maxInt), (2)
+                0x02,
+                0x01,
+                0x03, //   timeLimit       INTEGER (0 .. maxInt), (3)
+                0x01,
+                0x01,
+                ( byte ) 0xFF, //   typesOnly       BOOLEAN, (true)
+                ( byte ) 0xA9,
+                0x20, //   filter          Filter,
+                //
+                // Filter ::= CHOICE {
+                //   extensibleMatch [9] MatchingRuleAssertion }
+                //
+                // MatchingRuleAssertion ::= SEQUENCE {
+                ( byte ) 0x81,
+                0x02, //   matchingRule    [1] MatchingRuleId OPTIONAL,
+                'c', 'n',
+                ( byte ) 0x82,
+                0x13, //    type            [2] AttributeDescription OPTIONAL,
+                '1', '.', '2', '.', '8', '4', '0', '.', '4', '8', '0', '1', '8', '.', '1',
'.', '2', '.', '2',
+                ( byte ) 0x83,
+                0x03, //    matchValue      [3] AssertionValue,
+                'a', 'o', 'k',
+                //    dnAttributes    [4] BOOLEAN DEFAULT FALSE  }
+                ( byte ) 0x84, 0x00, 0x30,
+                0x15, // attributes      AttributeDescriptionList }
+                0x04, 0x05, 'a', 't', 't', 'r', '0', 0x04, 0x05, 'a', 't', 't', 'r', '1',
0x04, 0x05, 'a', 't', 't',
+                'r', '2' };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -538,22 +571,19 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchMatchingRuleAlone()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x41, 
-              0x02, 0x01, 0x04, // messageID
-              0x63, 0x3C, 0x04, 0x1F, // baseObject LDAPDN,
+            { 0x30, 0x41,
+                0x02,
+                0x01,
+                0x04, // messageID
+                0x63,
+                0x3C,
+                0x04,
+                0x1F, // baseObject LDAPDN,
                 'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-              0x0A, 0x01, 0x01, 
-              0x0A, 0x01, 0x03, 
-              0x02, 0x01, 0x00, 
-              0x02, 0x01, 0x00, 
-              0x01, 0x01, ( byte ) 0xFF, 
-              ( byte ) 0xA9, 0x06, 
-                ( byte ) 0x81, 0x04, 't', 'e', 's', 't', 
-              0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
-                0x04, 0x00 
-            };
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x06, (
byte ) 0x81, 0x04, 't', 'e',
+                's', 't', 0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -587,22 +617,19 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchTypeAlone()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x43, 
-              0x02, 0x01, 0x04, // messageID
-              0x63, 0x3E, 0x04, 0x1F, // baseObject LDAPDN,
+            { 0x30, 0x43,
+                0x02,
+                0x01,
+                0x04, // messageID
+                0x63,
+                0x3E,
+                0x04,
+                0x1F, // baseObject LDAPDN,
                 'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-              0x0A, 0x01, 0x01, 
-              0x0A, 0x01, 0x03, 
-              0x02, 0x01, 0x00, 
-              0x02, 0x01, 0x00, 
-              0x01, 0x01, ( byte ) 0xFF, 
-              ( byte ) 0xA9, 0x06, 
-                ( byte ) 0x82, 0x04, 't', 'e', 's', 't', 
-              0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
-                0x04, 0x00 
-            };
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x06, (
byte ) 0x82, 0x04, 't', 'e',
+                's', 't', 0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -636,23 +663,19 @@ public class SearchRequestMatchingRuleAs
     public void testDecodeSearchRequestExtensibleMatchMatchValueAlone()
     {
         byte[] asn1BER = new byte[]
-            { 
-            0x30, 0x43, 
-              0x02, 0x01, 0x04, // messageID
-              0x63, 0x3E, 0x04, 
+            { 0x30, 0x43,
+                0x02,
+                0x01,
+                0x04, // messageID
+                0x63,
+                0x3E,
+                0x04,
                 0x1F, // baseObject LDAPDN,
-                  'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
-                  'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 
-                0x0A, 0x01, 0x01, 
-                0x0A, 0x01, 0x03, 
-                0x02, 0x01, 0x00, 
-                0x02, 0x01, 0x00, 
-                0x01, 0x01, ( byte ) 0xFF, 
-                ( byte ) 0xA9, 0x06, 
-                  ( byte ) 0x83, 0x04, 't', 'e', 's', 't', 
-                0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
-                  0x04, 0x00 
-            };
+                'u', 'i', 'd', '=', 'a', 'k', 'a', 'r', 'a', 's', 'u', 'l', 'u', ',', 'd',
'c', '=', 'e', 'x', 'a',
+                'm', 'p', 'l', 'e', ',', 'd', 'c', '=', 'c', 'o', 'm', 0x0A, 0x01, 0x01,
0x0A, 0x01, 0x03, 0x02, 0x01,
+                0x00, 0x02, 0x01, 0x00, 0x01, 0x01, ( byte ) 0xFF, ( byte ) 0xA9, 0x06, (
byte ) 0x83, 0x04, 't', 'e',
+                's', 't', 0x30, 0x02, // AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+                0x04, 0x00 };
 
         Asn1Decoder ldapDecoder = new Asn1Decoder();
 
@@ -673,18 +696,19 @@ public class SearchRequestMatchingRuleAs
             fail( de.getMessage() );
         }
 
-        SearchRequestCodec searchRequest = ( ( LdapMessageContainer ) ldapMessageContainer
).getSearchRequest();
+        InternalSearchRequest searchRequest = ( ( LdapMessageContainer ) ldapMessageContainer
).getSearchRequest();
 
         assertEquals( 4, searchRequest.getMessageId() );
-        assertEquals( "uid=akarasulu,dc=example,dc=com", searchRequest.getBaseObject().toString()
);
+        assertEquals( "uid=akarasulu,dc=example,dc=com", searchRequest.getBase().toString()
);
         assertEquals( SearchScope.ONELEVEL, searchRequest.getScope() );
-        assertEquals( LdapConstants.DEREF_ALWAYS, searchRequest.getDerefAliases() );
+        assertEquals( AliasDerefMode.DEREF_ALWAYS, searchRequest.getDerefAliases() );
         assertEquals( 0, searchRequest.getSizeLimit() );
         assertEquals( 0, searchRequest.getTimeLimit() );
-        assertEquals( true, searchRequest.isTypesOnly() );
+        assertEquals( true, searchRequest.getTypesOnly() );
 
         // Extended
-        ExtensibleMatchFilter extensibleMatchFilter = ( ExtensibleMatchFilter ) searchRequest.getFilter();
+        Filter filter = ( ( SearchRequestImpl ) searchRequest ).getCurrentFilter();
+        ExtensibleMatchFilter extensibleMatchFilter = ( ExtensibleMatchFilter ) filter;
         assertNotNull( extensibleMatchFilter );
 
         assertNull( extensibleMatchFilter.getMatchingRule() );
@@ -692,7 +716,7 @@ public class SearchRequestMatchingRuleAs
         assertEquals( "test", extensibleMatchFilter.getMatchValue().getString() );
         assertFalse( extensibleMatchFilter.isDnAttributes() );
 
-        List<EntryAttribute> attributes = searchRequest.getAttributes();
+        List<String> attributes = searchRequest.getAttributes();
 
         assertEquals( 0, attributes.size() );
     }



Mime
View raw message