/** * Transform a BindResponse message from a CodecMessage to a * InternalMessage. This is used by clients which are receiving a * BindResponse PDU and must decode it to return the Internal * representation. * * @param bindResponse The message to transform * @param messageId The message Id * @return a Internal BindResponseImpl */ private static InternalMessage transformBindResponse( BindResponseCodec bindResponse, int messageId ) { BindResponseImpl internalMessage = new BindResponseImpl( messageId ); // Codec : byte[] serverSaslcreds -> Internal : byte[] serverSaslCreds internalMessage.setServerSaslCreds( bindResponse.getServerSaslCreds() ); //transformControlsCodecToInternal( codecMessage, internalMessage ); transformLdapResultCodecToInternal( bindResponse.getLdapResult(), internalMessage.getLdapResult() ); return internalMessage; }
/** * Transform a Internal BindResponse to a Codec BindResponse * * @param internalMessage The incoming Internal BindResponse * @return The BindResponseCodec instance */ private static LdapMessageCodec transformBindResponse( InternalMessage internalMessage ) { BindResponseImpl internalBindResponse = ( BindResponseImpl ) internalMessage; BindResponseCodec bindResponseCodec = new BindResponseCodec(); // Internal : byte [] serverSaslCreds -> Codec : OctetString // serverSaslCreds byte[] serverSaslCreds = internalBindResponse.getServerSaslCreds(); if ( serverSaslCreds != null ) { bindResponseCodec.setServerSaslCreds( serverSaslCreds ); } // Transform the ldapResult bindResponseCodec.setLdapResult( transformLdapResult( ( LdapResultImpl ) internalBindResponse.getLdapResult() ) ); return bindResponseCodec; }