Search in sources :

Example 1 with SearchResultReference

use of org.apache.directory.api.ldap.model.message.SearchResultReference in project directory-ldap-api by apache.

the class SearchResultReferenceTest method testDecodeSearchResultReferenceSuccess.

/**
 * Test the decoding of a SearchResultReference
 */
@Test
public void testDecodeSearchResultReferenceSuccess() {
    Asn1Decoder ldapDecoder = new Asn1Decoder();
    ByteBuffer stream = ByteBuffer.allocate(0x3d8);
    String[] ldapUrls = new String[] { "ldap:///", "ldap://directory.apache.org:80/", "ldap://d-a.org:80/", "ldap://1.2.3.4/", "ldap://1.2.3.4:80/", "ldap://1.1.1.100000.a/", "ldap://directory.apache.org:389/dc=example,dc=org/", "ldap://directory.apache.org:389/dc=example", "ldap://directory.apache.org:389/dc=example%202,dc=org", "ldap://directory.apache.org:389/dc=example,dc=org?ou", "ldap://directory.apache.org:389/dc=example,dc=org?ou,objectclass,dc", "ldap://directory.apache.org:389/dc=example,dc=org?ou,dc,ou", "ldap:///o=University%20of%20Michigan,c=US", "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US", "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress", "ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)", "ldap://ldap.itd.umich.edu/c=GB?objectClass?one", "ldap://ldap.question.com/o=Question%3f,c=US?mail", "ldap://ldap.netscape.com/o=Babsco,c=US???(int=%5c00%5c00%5c00%5c04)", "ldap:///??sub??bindname=cn=Manager%2co=Foo", "ldap:///??sub??!bindname=cn=Manager%2co=Foo" };
    stream.put(new byte[] { // LDAPMessage
    0x30, // LDAPMessage
    (byte) 0x82, // LDAPMessage
    0x03, // LDAPMessage
    (byte) 0xd4, // ::=SEQUENCE {
    0x02, 0x01, // messageID MessageID
    0x01, 0x73, (byte) 0x82, 0x03, // CHOICE { ...,
    (byte) 0xcd // searchResEntry
    // SearchResultEntry,
    // ...
    // SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL
    });
    for (int i = 0; i < ldapUrls.length; i++) {
        stream.put((byte) 0x04);
        stream.put((byte) Strings.getBytesUtf8(ldapUrls[i]).length);
        byte[] bytes = Strings.getBytesUtf8(ldapUrls[i]);
        for (int j = 0; j < bytes.length; j++) {
            stream.put(bytes[j]);
        }
    }
    String decodedPdu = Strings.dumpBytes(stream.array());
    stream.flip();
    // Allocate a BindRequest Container
    LdapMessageContainer<SearchResultReferenceDecorator> ldapMessageContainer = new LdapMessageContainer<SearchResultReferenceDecorator>(codec);
    try {
        ldapDecoder.decode(stream, ldapMessageContainer);
    } catch (DecoderException de) {
        de.printStackTrace();
        fail(de.getMessage());
    }
    SearchResultReference searchResultReference = ldapMessageContainer.getMessage();
    assertEquals(1, searchResultReference.getMessageId());
    Set<String> ldapUrlsSet = new HashSet<String>();
    for (int i = 0; i < ldapUrls.length; i++) {
        ldapUrlsSet.add(ldapUrls[i]);
    }
    Referral referral = searchResultReference.getReferral();
    assertNotNull(referral);
    for (String ldapUrl : referral.getLdapUrls()) {
        if (ldapUrlsSet.contains(ldapUrl)) {
            ldapUrlsSet.remove(ldapUrl);
        } else {
            fail(ldapUrl.toString() + " is not present");
        }
    }
    assertTrue(ldapUrlsSet.size() == 0);
    // Check the encoding
    try {
        ByteBuffer bb = encoder.encodeMessage(searchResultReference);
        // Check the length
        assertEquals(0x3D8, bb.limit());
        String encodedPdu = Strings.dumpBytes(bb.array());
        assertEquals(encodedPdu, decodedPdu);
    } catch (EncoderException ee) {
        ee.printStackTrace();
        fail(ee.getMessage());
    }
}
Also used : LdapMessageContainer(org.apache.directory.api.ldap.codec.api.LdapMessageContainer) SearchResultReference(org.apache.directory.api.ldap.model.message.SearchResultReference) ByteBuffer(java.nio.ByteBuffer) DecoderException(org.apache.directory.api.asn1.DecoderException) EncoderException(org.apache.directory.api.asn1.EncoderException) Referral(org.apache.directory.api.ldap.model.message.Referral) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) SearchResultReferenceDecorator(org.apache.directory.api.ldap.codec.decorators.SearchResultReferenceDecorator) HashSet(java.util.HashSet) Test(org.junit.Test) AbstractCodecServiceTest(org.apache.directory.api.ldap.codec.osgi.AbstractCodecServiceTest)

Example 2 with SearchResultReference

use of org.apache.directory.api.ldap.model.message.SearchResultReference in project directory-ldap-api by apache.

the class SearchResultReferenceTest method testDecodeSearchResultReferenceOneReference.

/**
 * Test the decoding of a SearchResultReference with one reference
 */
@Test
public void testDecodeSearchResultReferenceOneReference() {
    Asn1Decoder ldapDecoder = new Asn1Decoder();
    ByteBuffer stream = ByteBuffer.allocate(0x11);
    stream.put(new byte[] { // LDAPMessage ::=SEQUENCE {
    0x30, // LDAPMessage ::=SEQUENCE {
    0x0F, 0x02, 0x01, // messageID MessageID
    0x01, 0x73, // CHOICE { ..., searchResEntry SearchResultEntry,
    0x0A, // ...
    0x04, 0x08, 'l', 'd', 'a', 'p', ':', '/', '/', // SearchResultReference
    '/' // ::=
    // [APPLICATION
    // 19]
    // SEQUENCE
    // OF
    // LDAPURL
    });
    String decodedPdu = Strings.dumpBytes(stream.array());
    stream.flip();
    // Allocate a BindRequest Container
    LdapMessageContainer<SearchResultReferenceDecorator> ldapMessageContainer = new LdapMessageContainer<SearchResultReferenceDecorator>(codec);
    try {
        ldapDecoder.decode(stream, ldapMessageContainer);
    } catch (DecoderException de) {
        de.printStackTrace();
        fail(de.getMessage());
    }
    SearchResultReference searchResultReference = ldapMessageContainer.getMessage();
    assertEquals(1, searchResultReference.getMessageId());
    Referral referral = searchResultReference.getReferral();
    assertNotNull(referral);
    for (String ldapUrl : referral.getLdapUrls()) {
        assertEquals("ldap:///", ldapUrl);
    }
    // Check the encoding
    try {
        ByteBuffer bb = encoder.encodeMessage(searchResultReference);
        // Check the length
        assertEquals(0x11, bb.limit());
        String encodedPdu = Strings.dumpBytes(bb.array());
        assertEquals(encodedPdu, decodedPdu);
    } catch (EncoderException ee) {
        ee.printStackTrace();
        fail(ee.getMessage());
    }
}
Also used : LdapMessageContainer(org.apache.directory.api.ldap.codec.api.LdapMessageContainer) DecoderException(org.apache.directory.api.asn1.DecoderException) EncoderException(org.apache.directory.api.asn1.EncoderException) Referral(org.apache.directory.api.ldap.model.message.Referral) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) SearchResultReference(org.apache.directory.api.ldap.model.message.SearchResultReference) SearchResultReferenceDecorator(org.apache.directory.api.ldap.codec.decorators.SearchResultReferenceDecorator) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test) AbstractCodecServiceTest(org.apache.directory.api.ldap.codec.osgi.AbstractCodecServiceTest)

Example 3 with SearchResultReference

use of org.apache.directory.api.ldap.model.message.SearchResultReference in project directory-ldap-api by apache.

the class SearchResultReferenceTest method testDecodeSearchResultReferenceSuccessWithControls.

/**
 * Test the decoding of a SearchResultReference with controls
 */
@Test
public void testDecodeSearchResultReferenceSuccessWithControls() {
    Asn1Decoder ldapDecoder = new Asn1Decoder();
    ByteBuffer stream = ByteBuffer.allocate(0x3F5);
    String[] ldapUrls = new String[] { "ldap:///", "ldap://directory.apache.org:80/", "ldap://d-a.org:80/", "ldap://1.2.3.4/", "ldap://1.2.3.4:80/", "ldap://1.1.1.100000.a/", "ldap://directory.apache.org:389/dc=example,dc=org/", "ldap://directory.apache.org:389/dc=example", "ldap://directory.apache.org:389/dc=example%202,dc=org", "ldap://directory.apache.org:389/dc=example,dc=org?ou", "ldap://directory.apache.org:389/dc=example,dc=org?ou,objectclass,dc", "ldap://directory.apache.org:389/dc=example,dc=org?ou,dc,ou", "ldap:///o=University%20of%20Michigan,c=US", "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US", "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress", "ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)", "ldap://ldap.itd.umich.edu/c=GB?objectClass?one", "ldap://ldap.question.com/o=Question%3f,c=US?mail", "ldap://ldap.netscape.com/o=Babsco,c=US???(int=%5c00%5c00%5c00%5c04)", "ldap:///??sub??bindname=cn=Manager%2co=Foo", "ldap:///??sub??!bindname=cn=Manager%2co=Foo" };
    stream.put(new byte[] { // LDAPMessage
    0x30, // LDAPMessage
    (byte) 0x82, // LDAPMessage
    0x03, // LDAPMessage
    (byte) 0xF1, // ::=SEQUENCE {
    0x02, 0x01, // messageID MessageID
    0x01, 0x73, (byte) 0x82, 0x03, // CHOICE { ...,
    (byte) 0xcd // searchResEntry
    // SearchResultEntry,
    // ...
    // SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL
    });
    for (int i = 0; i < ldapUrls.length; i++) {
        stream.put((byte) 0x04);
        stream.put((byte) Strings.getBytesUtf8(ldapUrls[i]).length);
        byte[] bytes = Strings.getBytesUtf8(ldapUrls[i]);
        for (int j = 0; j < bytes.length; j++) {
            stream.put(bytes[j]);
        }
    }
    byte[] controlBytes = new byte[] { (byte) 0xA0, // A control
    0x1B, 0x30, 0x19, 0x04, 0x17, 0x32, 0x2E, 0x31, 0x36, 0x2E, 0x38, 0x34, 0x30, 0x2E, 0x31, 0x2E, 0x31, 0x31, 0x33, 0x37, 0x33, 0x30, 0x2E, 0x33, 0x2E, 0x34, 0x2E, 0x32 };
    for (int i = 0; i < controlBytes.length; i++) {
        stream.put(controlBytes[i]);
    }
    String decodedPdu = Strings.dumpBytes(stream.array());
    stream.flip();
    // Allocate a BindRequest Container
    LdapMessageContainer<SearchResultReferenceDecorator> ldapMessageContainer = new LdapMessageContainer<SearchResultReferenceDecorator>(codec);
    try {
        ldapMessageContainer.clean();
        ldapDecoder.decode(stream, ldapMessageContainer);
    } catch (DecoderException de) {
        de.printStackTrace();
        fail(de.getMessage());
    }
    stream.flip();
    SearchResultReference searchResultReference = ldapMessageContainer.getMessage();
    assertEquals(1, searchResultReference.getMessageId());
    Set<String> ldapUrlsSet = new HashSet<String>();
    for (int i = 0; i < ldapUrls.length; i++) {
        ldapUrlsSet.add(ldapUrls[i]);
    }
    Referral referral = searchResultReference.getReferral();
    assertNotNull(referral);
    for (String ldapUrl : referral.getLdapUrls()) {
        if (ldapUrlsSet.contains(ldapUrl)) {
            ldapUrlsSet.remove(ldapUrl);
        } else {
            fail(ldapUrl.toString() + " is not present");
        }
    }
    assertTrue(ldapUrlsSet.size() == 0);
    // Check the Control
    Map<String, Control> controls = searchResultReference.getControls();
    assertEquals(1, controls.size());
    @SuppressWarnings("unchecked") CodecControl<Control> control = (org.apache.directory.api.ldap.codec.api.CodecControl<Control>) controls.get("2.16.840.1.113730.3.4.2");
    assertEquals("2.16.840.1.113730.3.4.2", control.getOid());
    assertEquals("", Strings.dumpBytes((byte[]) control.getValue()));
    // Check the encoding
    try {
        ByteBuffer bb = encoder.encodeMessage(searchResultReference);
        // Check the length
        assertEquals(0x3F5, bb.limit());
        String encodedPdu = Strings.dumpBytes(bb.array());
        assertEquals(encodedPdu, decodedPdu);
    } catch (EncoderException ee) {
        ee.printStackTrace();
        fail(ee.getMessage());
    }
}
Also used : LdapMessageContainer(org.apache.directory.api.ldap.codec.api.LdapMessageContainer) SearchResultReference(org.apache.directory.api.ldap.model.message.SearchResultReference) ByteBuffer(java.nio.ByteBuffer) DecoderException(org.apache.directory.api.asn1.DecoderException) EncoderException(org.apache.directory.api.asn1.EncoderException) Control(org.apache.directory.api.ldap.model.message.Control) CodecControl(org.apache.directory.api.ldap.codec.api.CodecControl) Referral(org.apache.directory.api.ldap.model.message.Referral) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) SearchResultReferenceDecorator(org.apache.directory.api.ldap.codec.decorators.SearchResultReferenceDecorator) CodecControl(org.apache.directory.api.ldap.codec.api.CodecControl) HashSet(java.util.HashSet) Test(org.junit.Test) AbstractCodecServiceTest(org.apache.directory.api.ldap.codec.osgi.AbstractCodecServiceTest)

Example 4 with SearchResultReference

use of org.apache.directory.api.ldap.model.message.SearchResultReference in project directory-ldap-api by apache.

the class SearchResultReferenceDecorator method encode.

/**
 * Encode the SearchResultReference message to a PDU.
 * <br>
 * SearchResultReference :
 * <pre>
 * 0x73 LL
 *   0x04 LL reference
 *   [0x04 LL reference]*
 * </pre>
 *
 * @param buffer The buffer where to put the PDU
 * @return The PDU.
 */
@Override
public ByteBuffer encode(ByteBuffer buffer) throws EncoderException {
    SearchResultReference searchResultReference = getDecorated();
    try {
        // The SearchResultReference Tag
        buffer.put(LdapCodecConstants.SEARCH_RESULT_REFERENCE_TAG);
        buffer.put(TLV.getBytes(searchResultReferenceLength));
        // The referrals, if any
        Referral referral = searchResultReference.getReferral();
        if (referral != null) {
            // Each referral
            for (byte[] ldapUrlBytes : referral.getLdapUrlsBytes()) {
                // Encode the current referral
                BerValue.encode(buffer, ldapUrlBytes);
            }
        }
    } catch (BufferOverflowException boe) {
        throw new EncoderException(I18n.err(I18n.ERR_04005), boe);
    }
    return buffer;
}
Also used : EncoderException(org.apache.directory.api.asn1.EncoderException) Referral(org.apache.directory.api.ldap.model.message.Referral) SearchResultReference(org.apache.directory.api.ldap.model.message.SearchResultReference) BufferOverflowException(java.nio.BufferOverflowException)

Example 5 with SearchResultReference

use of org.apache.directory.api.ldap.model.message.SearchResultReference in project directory-ldap-api by apache.

the class Dsmlv2Engine method processRequest.

/**
 * Processes a single request
 *
 * @param request the request to process
 * @param respWriter The writer used to store the DSML response
 * @exception Exception If we had an error while processing the request
 */
protected void processRequest(DsmlDecorator<? extends Request> request, BufferedWriter respWriter) throws Exception {
    ResultCodeEnum resultCode = null;
    switch(request.getDecorated().getType()) {
        case ABANDON_REQUEST:
            connection.abandon((AbandonRequest) request);
            return;
        case ADD_REQUEST:
            AddResponse response = connection.add((AddRequest) request);
            resultCode = response.getLdapResult().getResultCode();
            AddResponseDsml addResponseDsml = new AddResponseDsml(connection.getCodecService(), response);
            writeResponse(respWriter, addResponseDsml);
            break;
        case BIND_REQUEST:
            BindResponse bindResponse = connection.bind((BindRequest) request);
            resultCode = bindResponse.getLdapResult().getResultCode();
            BindResponseDsml authResponseDsml = new BindResponseDsml(connection.getCodecService(), bindResponse);
            writeResponse(respWriter, authResponseDsml);
            break;
        case COMPARE_REQUEST:
            CompareResponse compareResponse = connection.compare((CompareRequest) request);
            resultCode = compareResponse.getLdapResult().getResultCode();
            CompareResponseDsml compareResponseDsml = new CompareResponseDsml(connection.getCodecService(), compareResponse);
            writeResponse(respWriter, compareResponseDsml);
            break;
        case DEL_REQUEST:
            DeleteResponse delResponse = connection.delete((DeleteRequest) request);
            resultCode = delResponse.getLdapResult().getResultCode();
            DelResponseDsml delResponseDsml = new DelResponseDsml(connection.getCodecService(), delResponse);
            writeResponse(respWriter, delResponseDsml);
            break;
        case EXTENDED_REQUEST:
            ExtendedResponse extendedResponse = connection.extended((ExtendedRequest) request);
            resultCode = extendedResponse.getLdapResult().getResultCode();
            ExtendedResponseDsml extendedResponseDsml = new ExtendedResponseDsml(connection.getCodecService(), extendedResponse);
            writeResponse(respWriter, extendedResponseDsml);
            break;
        case MODIFY_REQUEST:
            ModifyResponse modifyResponse = connection.modify((ModifyRequest) request);
            resultCode = modifyResponse.getLdapResult().getResultCode();
            ModifyResponseDsml modifyResponseDsml = new ModifyResponseDsml(connection.getCodecService(), modifyResponse);
            writeResponse(respWriter, modifyResponseDsml);
            break;
        case MODIFYDN_REQUEST:
            ModifyDnResponse modifyDnResponse = connection.modifyDn((ModifyDnRequest) request);
            resultCode = modifyDnResponse.getLdapResult().getResultCode();
            ModDNResponseDsml modDNResponseDsml = new ModDNResponseDsml(connection.getCodecService(), modifyDnResponse);
            writeResponse(respWriter, modDNResponseDsml);
            break;
        case SEARCH_REQUEST:
            SearchCursor searchResponses = connection.search((SearchRequest) request);
            SearchResponseDsml searchResponseDsml = new SearchResponseDsml(connection.getCodecService());
            if (respWriter != null) {
                StringBuilder sb = new StringBuilder();
                sb.append("<searchResponse");
                if (request.getDecorated().getMessageId() > 0) {
                    sb.append(" requestID=\"");
                    sb.append(request.getDecorated().getMessageId());
                    sb.append('"');
                }
                sb.append('>');
                respWriter.write(sb.toString());
            }
            while (searchResponses.next()) {
                Response searchResponse = searchResponses.get();
                if (searchResponse.getType() == MessageTypeEnum.SEARCH_RESULT_ENTRY) {
                    SearchResultEntry searchResultEntry = (SearchResultEntry) searchResponse;
                    SearchResultEntryDsml searchResultEntryDsml = new SearchResultEntryDsml(connection.getCodecService(), searchResultEntry);
                    searchResponseDsml = new SearchResponseDsml(connection.getCodecService(), searchResultEntryDsml);
                    if (respWriter != null) {
                        writeResponse(respWriter, searchResultEntryDsml);
                    } else {
                        searchResponseDsml.addResponse(searchResultEntryDsml);
                    }
                } else if (searchResponse.getType() == MessageTypeEnum.SEARCH_RESULT_REFERENCE) {
                    SearchResultReference searchResultReference = (SearchResultReference) searchResponse;
                    SearchResultReferenceDsml searchResultReferenceDsml = new SearchResultReferenceDsml(connection.getCodecService(), searchResultReference);
                    searchResponseDsml = new SearchResponseDsml(connection.getCodecService(), searchResultReferenceDsml);
                    if (respWriter != null) {
                        writeResponse(respWriter, searchResultReferenceDsml);
                    } else {
                        searchResponseDsml.addResponse(searchResultReferenceDsml);
                    }
                }
            }
            SearchResultDone srDone = searchResponses.getSearchResultDone();
            if (srDone != null) {
                resultCode = srDone.getLdapResult().getResultCode();
                SearchResultDoneDsml srdDsml = new SearchResultDoneDsml(connection.getCodecService(), srDone);
                if (respWriter != null) {
                    writeResponse(respWriter, srdDsml);
                    respWriter.write("</searchResponse>");
                } else {
                    searchResponseDsml.addResponse(srdDsml);
                    batchResponse.addResponse(searchResponseDsml);
                }
            }
            break;
        case UNBIND_REQUEST:
            connection.unBind();
            break;
        default:
            throw new IllegalStateException("Unexpected request tpye " + request.getDecorated().getType());
    }
    if ((!continueOnError) && (resultCode != null) && (resultCode != ResultCodeEnum.SUCCESS) && (resultCode != ResultCodeEnum.COMPARE_TRUE) && (resultCode != ResultCodeEnum.COMPARE_FALSE) && (resultCode != ResultCodeEnum.REFERRAL)) {
        // Turning on Exit flag
        exit = true;
    }
}
Also used : DelResponseDsml(org.apache.directory.api.dsmlv2.response.DelResponseDsml) SearchCursor(org.apache.directory.api.ldap.model.cursor.SearchCursor) SearchResultReference(org.apache.directory.api.ldap.model.message.SearchResultReference) BindResponse(org.apache.directory.api.ldap.model.message.BindResponse) SearchResultDoneDsml(org.apache.directory.api.dsmlv2.response.SearchResultDoneDsml) ResultCodeEnum(org.apache.directory.api.ldap.model.message.ResultCodeEnum) ModifyResponseDsml(org.apache.directory.api.dsmlv2.response.ModifyResponseDsml) CompareResponseDsml(org.apache.directory.api.dsmlv2.response.CompareResponseDsml) ModifyDnResponse(org.apache.directory.api.ldap.model.message.ModifyDnResponse) ModifyResponse(org.apache.directory.api.ldap.model.message.ModifyResponse) CompareResponse(org.apache.directory.api.ldap.model.message.CompareResponse) SearchResponseDsml(org.apache.directory.api.dsmlv2.response.SearchResponseDsml) SearchResultEntryDsml(org.apache.directory.api.dsmlv2.response.SearchResultEntryDsml) AddResponseDsml(org.apache.directory.api.dsmlv2.response.AddResponseDsml) SearchResultReferenceDsml(org.apache.directory.api.dsmlv2.response.SearchResultReferenceDsml) SearchResultDone(org.apache.directory.api.ldap.model.message.SearchResultDone) AddResponse(org.apache.directory.api.ldap.model.message.AddResponse) BindResponseDsml(org.apache.directory.api.dsmlv2.response.BindResponseDsml) ErrorResponse(org.apache.directory.api.dsmlv2.response.ErrorResponse) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) CompareResponse(org.apache.directory.api.ldap.model.message.CompareResponse) AddResponse(org.apache.directory.api.ldap.model.message.AddResponse) DeleteResponse(org.apache.directory.api.ldap.model.message.DeleteResponse) ModifyResponse(org.apache.directory.api.ldap.model.message.ModifyResponse) Response(org.apache.directory.api.ldap.model.message.Response) ModifyDnResponse(org.apache.directory.api.ldap.model.message.ModifyDnResponse) BindResponse(org.apache.directory.api.ldap.model.message.BindResponse) ExtendedResponseDsml(org.apache.directory.api.dsmlv2.response.ExtendedResponseDsml) DeleteResponse(org.apache.directory.api.ldap.model.message.DeleteResponse) ModDNResponseDsml(org.apache.directory.api.dsmlv2.response.ModDNResponseDsml) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) SearchResultEntry(org.apache.directory.api.ldap.model.message.SearchResultEntry)

Aggregations

SearchResultReference (org.apache.directory.api.ldap.model.message.SearchResultReference)17 Test (org.junit.Test)11 LdapURLEncodingException (org.apache.directory.api.ldap.model.exception.LdapURLEncodingException)9 AbstractResponseTest (org.apache.directory.api.dsmlv2.AbstractResponseTest)8 Dsmlv2ResponseParser (org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser)8 SearchResponse (org.apache.directory.api.dsmlv2.response.SearchResponse)8 Control (org.apache.directory.api.ldap.model.message.Control)6 DecoderException (org.apache.directory.api.asn1.DecoderException)4 EncoderException (org.apache.directory.api.asn1.EncoderException)4 DsmlControl (org.apache.directory.api.dsmlv2.DsmlControl)4 SearchResultReferenceDecorator (org.apache.directory.api.ldap.codec.decorators.SearchResultReferenceDecorator)4 Referral (org.apache.directory.api.ldap.model.message.Referral)4 SearchResultDone (org.apache.directory.api.ldap.model.message.SearchResultDone)4 SearchResultEntry (org.apache.directory.api.ldap.model.message.SearchResultEntry)4 ByteBuffer (java.nio.ByteBuffer)3 Asn1Decoder (org.apache.directory.api.asn1.ber.Asn1Decoder)3 LdapMessageContainer (org.apache.directory.api.ldap.codec.api.LdapMessageContainer)3 AbstractCodecServiceTest (org.apache.directory.api.ldap.codec.osgi.AbstractCodecServiceTest)3 LdapUrl (org.apache.directory.api.ldap.model.url.LdapUrl)3 HashSet (java.util.HashSet)2