You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2006/09/08 00:29:55 UTC
svn commit: r441270 -
/directory/sandbox/akarasulu/apacheds-2.0/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/asn1ber/messages/bind/BindRequestAsn1Ber.java
Author: elecharny
Date: Thu Sep 7 15:29:54 2006
New Revision: 441270
URL: http://svn.apache.org/viewvc?view=rev&rev=441270
Log:
Added the authenticationDecorator into the class,
fixed the encode method,
pointed to the Encoder and Decoder interfaces
Modified:
directory/sandbox/akarasulu/apacheds-2.0/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/asn1ber/messages/bind/BindRequestAsn1Ber.java
Modified: directory/sandbox/akarasulu/apacheds-2.0/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/asn1ber/messages/bind/BindRequestAsn1Ber.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/apacheds-2.0/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/asn1ber/messages/bind/BindRequestAsn1Ber.java?view=diff&rev=441270&r1=441269&r2=441270
==============================================================================
--- directory/sandbox/akarasulu/apacheds-2.0/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/asn1ber/messages/bind/BindRequestAsn1Ber.java (original)
+++ directory/sandbox/akarasulu/apacheds-2.0/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/asn1ber/messages/bind/BindRequestAsn1Ber.java Thu Sep 7 15:29:54 2006
@@ -22,14 +22,17 @@
import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
-import org.apache.directory.shared.asn1.ber.Decoder;
-import org.apache.directory.shared.asn1.ber.Encoder;
import org.apache.directory.shared.asn1.ber.tlv.Length;
import org.apache.directory.shared.asn1.ber.tlv.Value;
-import org.apache.directory.shared.ldap.codec.asn1ber.messages.EncoderException;
+import org.apache.directory.shared.asn1.ber.tlv.ValueException;
+import org.apache.directory.shared.ldap.codec.Decoder;
+import org.apache.directory.shared.ldap.codec.Encoder;
+import org.apache.directory.shared.ldap.codec.EncoderException;
import org.apache.directory.shared.ldap.codec.asn1ber.messages.LdapBerTags;
import org.apache.directory.shared.ldap.messages.Message;
+import org.apache.directory.shared.ldap.messages.bind.Authentication;
import org.apache.directory.shared.ldap.messages.bind.AuthenticationDecorator;
+import org.apache.directory.shared.ldap.messages.bind.BindRequest;
import org.apache.directory.shared.ldap.messages.bind.BindRequestDecorator;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.slf4j.Logger;
@@ -53,6 +56,9 @@
/** The bind request length */
private transient int bindRequestLength;
+ /** The authentication decorator */
+ private transient AuthenticationDecorator authenticationDecorator;
+
/**
*
* Creates a new instance of BindRequestAsn1Ber.
@@ -62,6 +68,16 @@
public BindRequestAsn1Ber( Message message )
{
super( message );
+ Authentication authentication = ((BindRequest)message).getAuthentication();
+
+ if ( authentication.isSimple() )
+ {
+ authenticationDecorator = new SimpleAuthenticationAsn1Ber( authentication );
+ }
+ else
+ {
+ authenticationDecorator = new SaslCredentialsAsn1Ber( authentication );
+ }
}
/**
@@ -129,7 +145,7 @@
* @param buffer The buffer where to put the PDU
* @return The PDU.
*/
- public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException
+ public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException, ValueException
{
if ( buffer == null )
{
@@ -149,13 +165,13 @@
}
// The version
- Value.encode( buffer, getVersion() );
+ Value.encode( buffer, getVersion() );
// The name
- Value.encode( buffer, LdapDN.getBytes( getName() ) );
+ Value.encode( buffer, LdapDN.getBytes( (LdapDN)getName() ) );
// The authentication
- getAuthentication().encode( buffer );
+ authenticationDecorator.encode( buffer );
return buffer;
}