Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 1224 invoked from network); 10 May 2008 15:39:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 10 May 2008 15:39:01 -0000 Received: (qmail 66955 invoked by uid 500); 10 May 2008 15:39:03 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 66900 invoked by uid 500); 10 May 2008 15:39:03 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 66889 invoked by uid 99); 10 May 2008 15:39:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 May 2008 08:39:03 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 May 2008 15:38:14 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6C93823889FE; Sat, 10 May 2008 08:38:33 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r655116 [1/2] - in /directory/sandbox/akarasulu/bigbang/shared: ./ asn1-codec/ asn1/ bouncycastle-reduced/ convert/ ldap-constants/ ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/ ldap-jndi/ ldap/ ldap/src/main/antl... Date: Sat, 10 May 2008 15:38:31 -0000 To: commits@directory.apache.org From: akarasulu@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080510153833.6C93823889FE@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: akarasulu Date: Sat May 10 08:38:30 2008 New Revision: 655116 URL: http://svn.apache.org/viewvc?rev=655116&view=rev Log: merging in changes from bigbang before replacing bigbang with private branch Added: directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SupportedSaslMechanisms.java - copied unchanged from r655113, directory/shared/branches/bigbang/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SupportedSaslMechanisms.java Removed: directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SupportedSASLMechanisms.java Modified: directory/sandbox/akarasulu/bigbang/shared/LAST_BIG_BANG_MERGE directory/sandbox/akarasulu/bigbang/shared/asn1-codec/pom.xml directory/sandbox/akarasulu/bigbang/shared/asn1/pom.xml directory/sandbox/akarasulu/bigbang/shared/bouncycastle-reduced/pom.xml directory/sandbox/akarasulu/bigbang/shared/convert/pom.xml directory/sandbox/akarasulu/bigbang/shared/ldap-constants/pom.xml directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SchemaConstants.java directory/sandbox/akarasulu/bigbang/shared/ldap-jndi/pom.xml directory/sandbox/akarasulu/bigbang/shared/ldap/pom.xml directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/ACIItem.g directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/subtree-specification.g directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/AttributeValueAssertion.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixEncoder.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixTransformer.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/InitAssertionValueFilterAction.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/AttributeValueAssertionFilter.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientBinaryValue.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientStringValue.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterParser.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDNSerializer.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/entry/client/ClientStringValueTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/entry/client/DefaultClientAttributeTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntryTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterNodeEqualityTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/name/RdnTest.java directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/subtree/SubtreeSpecificationParserTest.java directory/sandbox/akarasulu/bigbang/shared/pom.xml Modified: directory/sandbox/akarasulu/bigbang/shared/LAST_BIG_BANG_MERGE URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/LAST_BIG_BANG_MERGE?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/LAST_BIG_BANG_MERGE (original) +++ directory/sandbox/akarasulu/bigbang/shared/LAST_BIG_BANG_MERGE Sat May 10 08:38:30 2008 @@ -17,12 +17,19 @@ ---------------------------- svn merge -r 613574:638217 https://svn.apache.org/repos/asf/directory/shared/branches/bigbang . + Fri Mar 28 22:43:55 EDT 2008 ---------------------------- svn merge -r 638217:642491 https://svn.apache.org/repos/asf/directory/shared/branches/bigbang . + Wed Apr 16 22:28:41 EDT 2008 ---------------------------- svn merge -r 642491:648919 https://svn.apache.org/repos/asf/directory/shared/branches/bigbang . +Sat May 10 11:32:48 EDT 2008 +---------------------------- +svn merge -r 648919:655113 https://svn.apache.org/repos/asf/directory/shared/branches/bigbang . + + Modified: directory/sandbox/akarasulu/bigbang/shared/asn1-codec/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/asn1-codec/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/asn1-codec/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/asn1-codec/pom.xml Sat May 10 08:38:30 2008 @@ -24,7 +24,7 @@ org.apache.directory.shared shared-parent - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT shared-asn1-codec Apache Directory MINA ASN.1 Codec Shared Modified: directory/sandbox/akarasulu/bigbang/shared/asn1/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/asn1/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/asn1/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/asn1/pom.xml Sat May 10 08:38:30 2008 @@ -24,7 +24,7 @@ org.apache.directory.shared shared-parent - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT shared-asn1 Apache Directory ASN.1 Shared Modified: directory/sandbox/akarasulu/bigbang/shared/bouncycastle-reduced/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/bouncycastle-reduced/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/bouncycastle-reduced/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/bouncycastle-reduced/pom.xml Sat May 10 08:38:30 2008 @@ -3,7 +3,7 @@ shared-parent org.apache.directory.shared - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT 4.0.0 org.apache.directory.shared Modified: directory/sandbox/akarasulu/bigbang/shared/convert/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/convert/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/convert/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/convert/pom.xml Sat May 10 08:38:30 2008 @@ -24,7 +24,7 @@ org.apache.directory.shared shared-parent - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT shared-converter Apache Directory Protocol Ldap Converters Modified: directory/sandbox/akarasulu/bigbang/shared/ldap-constants/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap-constants/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap-constants/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap-constants/pom.xml Sat May 10 08:38:30 2008 @@ -24,7 +24,7 @@ org.apache.directory.shared shared-parent - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT shared-ldap-constants Apache Directory Protocol Ldap Shared Constants Modified: directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SchemaConstants.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SchemaConstants.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SchemaConstants.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap-constants/src/main/java/org/apache/directory/shared/ldap/constants/SchemaConstants.java Sat May 10 08:38:30 2008 @@ -299,6 +299,10 @@ // SupportedExtension String SUPPORTED_EXTENSION_AT = "supportedExtension"; String SUPPORTED_EXTENSION_AT_OID = "1.3.6.1.4.1.1466.101.120.7"; + + // supportedSASLMechanisms + String SUPPORTED_SASL_MECHANISMS_AT = "supportedSASLMechanisms"; + String SUPPORTED_SASL_MECHANISMS_AT_OID = "1.3.6.1.4.1.1466.101.120.14"; // supportedControl String SUPPORTED_CONTROL_AT = "supportedControl"; Modified: directory/sandbox/akarasulu/bigbang/shared/ldap-jndi/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap-jndi/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap-jndi/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap-jndi/pom.xml Sat May 10 08:38:30 2008 @@ -24,7 +24,7 @@ org.apache.directory.shared shared-parent - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT shared-ldap-jndi Apache Directory JNDI Shared Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/pom.xml URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/pom.xml?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/pom.xml (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/pom.xml Sat May 10 08:38:30 2008 @@ -24,7 +24,7 @@ org.apache.directory.shared shared-parent - 0.9.11-SNAPSHOT + 0.9.12-SNAPSHOT shared-ldap Apache Directory Protocol Ldap Shared Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/ACIItem.g URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/ACIItem.g?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/ACIItem.g (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/ACIItem.g Sat May 10 08:38:30 2008 @@ -55,6 +55,7 @@ import org.apache.directory.shared.ldap.constants.SchemaConstants; import org.apache.directory.shared.ldap.constants.AuthenticationLevel; import org.apache.directory.shared.ldap.schema.OidNormalizer; +import org.apache.directory.shared.ldap.entry.client.ClientStringValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1223,7 +1224,7 @@ : ID_item ( SP )* COLON ( SP )* oid=oid { - node = new EqualityNode( SchemaConstants.OBJECT_CLASS_AT , oid ); + node = new EqualityNode( SchemaConstants.OBJECT_CLASS_AT , new ClientStringValue( oid ) ); } ; Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/subtree-specification.g URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/subtree-specification.g?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/subtree-specification.g (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/antlr/subtree-specification.g Sat May 10 08:38:30 2008 @@ -45,6 +45,7 @@ import org.apache.directory.shared.ldap.util.ComponentsMonitor; import org.apache.directory.shared.ldap.util.OptionalComponentsMonitor; import org.apache.directory.shared.ldap.constants.SchemaConstants; +import org.apache.directory.shared.ldap.entry.client.ClientStringValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -398,7 +399,7 @@ : ID_item ( SP )* COLON ( SP )* oid=oid { - node = new EqualityNode( SchemaConstants.OBJECT_CLASS_AT, oid ); + node = new EqualityNode( SchemaConstants.OBJECT_CLASS_AT, new ClientStringValue( oid ) ); } ; Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/AttributeValueAssertion.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/AttributeValueAssertion.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/AttributeValueAssertion.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/AttributeValueAssertion.java Sat May 10 08:38:30 2008 @@ -19,6 +19,7 @@ */ package org.apache.directory.shared.ldap.codec; +import org.apache.directory.shared.ldap.entry.Value; import org.apache.directory.shared.ldap.util.StringTools; @@ -45,7 +46,7 @@ private String attributeDesc; /** The assertion value */ - private Object assertionValue; + private Value assertionValue; // ~ Methods @@ -56,7 +57,7 @@ * * @return Returns the assertionValue. */ - public Object getAssertionValue() + public Value getAssertionValue() { return assertionValue; } @@ -67,7 +68,7 @@ * * @param assertionValue The assertionValue to set. */ - public void setAssertionValue( Object assertionValue ) + public void setAssertionValue( Value assertionValue ) { this.assertionValue = assertionValue; } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixEncoder.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixEncoder.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixEncoder.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixEncoder.java Sat May 10 08:38:30 2008 @@ -68,7 +68,7 @@ * * @param provider The associated Provider */ - public TwixEncoder(Provider provider) + public TwixEncoder( Provider provider ) { this.provider = provider; encodeCallback = new OutputCallback(); @@ -92,6 +92,7 @@ log.debug( "Encoding this LdapMessage : " + obj ); } + ( ( OutputCallback ) encodeCallback ).attach( out ); encodeCallback.encodeOccurred( null, ( ( LdapMessage ) obj ).encode( null ) ); } catch ( EncoderException e ) @@ -255,6 +256,7 @@ { try { + ( ( ByteBuffer ) encoded ).flip(); channel.write( ( ByteBuffer ) encoded ); } catch ( IOException e ) Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixTransformer.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixTransformer.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixTransformer.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/TwixTransformer.java Sat May 10 08:38:30 2008 @@ -25,6 +25,7 @@ import java.util.Iterator; import java.util.List; +import javax.naming.InvalidNameException; import javax.naming.NamingEnumeration; import javax.naming.directory.Attribute; @@ -112,6 +113,7 @@ import org.apache.directory.shared.ldap.message.extended.GracefulShutdownRequest; import org.apache.directory.shared.ldap.message.spi.Provider; import org.apache.directory.shared.ldap.message.spi.TransformerSpi; +import org.apache.directory.shared.ldap.name.LdapDN; import org.apache.directory.shared.ldap.util.StringTools; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -240,6 +242,72 @@ /** + * Transform a BindResponse message from a TwixMessage to a + * SnickersMessage. This is used by clients which are receiving a + * BindResponse PDU and must decode it to return the Snickers + * representation. + * + * @param twixMessage The message to transform + * @param messageId The message Id + * @return a Snickers BindResponseImpl + */ + private Message transformBindResponse( LdapMessage twixMessage, int messageId ) + { + BindResponseImpl snickersMessage = new BindResponseImpl( messageId ); + BindResponse bindResponse = twixMessage.getBindResponse(); + + // Twix : byte[] serverSaslcreds -> Snickers : byte[] serverSaslCreds + snickersMessage.setServerSaslCreds( bindResponse.getServerSaslCreds() ); + transformControlsTwixToSnickers( twixMessage, snickersMessage ); + transformLdapResultTwixToSnickers( bindResponse.getLdapResult(), snickersMessage.getLdapResult() ); + + return snickersMessage; + } + + + /** + * Transforms parameters of a Twix LdapResult into a Snickers LdapResult. + * + * @param twixResult the Twix LdapResult representation + * @param snickersResult the Snickers LdapResult representation + */ + private void transformLdapResultTwixToSnickers( LdapResult twixResult, + org.apache.directory.shared.ldap.message.LdapResult snickersResult ) + { + snickersResult.setErrorMessage( twixResult.getErrorMessage() ); + + try + { + snickersResult.setMatchedDn( new LdapDN( twixResult.getMatchedDN() ) ); + } + catch ( InvalidNameException e ) + { + log.error( "Could not parse matchedDN while transforming twix value to snickers: {}", + twixResult.getMatchedDN() ); + snickersResult.setMatchedDn( new LdapDN() ); + } + + snickersResult.setResultCode( twixResult.getResultCode() ); + + if ( twixResult.getReferrals() == null ) + { + + } + else + { + ReferralImpl referral = new ReferralImpl(); + + for ( LdapURL url : twixResult.getReferrals() ) + { + referral.addLdapUrl( url.toString() ); + } + + snickersResult.setReferral( referral ); + } + } + + + /** * Transform a CompareRequest message from a TwixMessage to a * SnickersMessage * @@ -443,58 +511,26 @@ switch ( ( ( AttributeValueAssertionFilter ) twixFilter ).getFilterType() ) { case LdapConstants.EQUALITY_MATCH_FILTER: - if ( ava.getAssertionValue() instanceof String ) - { - branch = new EqualityNode( ava.getAttributeDesc(), - (String)ava.getAssertionValue() ); - } - else - { - branch = new EqualityNode( ava.getAttributeDesc(), - (byte[])ava.getAssertionValue() ); - } + branch = new EqualityNode( ava.getAttributeDesc(), + ava.getAssertionValue() ); break; case LdapConstants.GREATER_OR_EQUAL_FILTER: - if ( ava.getAssertionValue() instanceof String ) - { - branch = new GreaterEqNode( ava.getAttributeDesc(), - (String)ava.getAssertionValue() ); - } - else - { - branch = new GreaterEqNode( ava.getAttributeDesc(), - (byte[])ava.getAssertionValue() ); - } + branch = new GreaterEqNode( ava.getAttributeDesc(), + ava.getAssertionValue() ); break; case LdapConstants.LESS_OR_EQUAL_FILTER: - if ( ava.getAssertionValue() instanceof String ) - { - branch = new LessEqNode( ava.getAttributeDesc(), - (String)ava.getAssertionValue() ); - } - else - { - branch = new LessEqNode( ava.getAttributeDesc(), - (byte[])ava.getAssertionValue() ); - } + branch = new LessEqNode( ava.getAttributeDesc(), + ava.getAssertionValue() ); break; case LdapConstants.APPROX_MATCH_FILTER: - if ( ava.getAssertionValue() instanceof String ) - { - branch = new ApproximateNode( ava.getAttributeDesc(), - (String)ava.getAssertionValue() ); - } - else - { - branch = new ApproximateNode( ava.getAttributeDesc(), - (byte[])ava.getAssertionValue() ); - } + branch = new ApproximateNode( ava.getAttributeDesc(), + ava.getAssertionValue() ); break; } @@ -730,6 +766,9 @@ break; case ( LdapConstants.BIND_RESPONSE ): + snickersMessage = transformBindResponse( twixMessage, messageId ); + break; + case ( LdapConstants.SEARCH_RESULT_ENTRY ): case ( LdapConstants.SEARCH_RESULT_DONE ): case ( LdapConstants.SEARCH_RESULT_REFERENCE ): @@ -838,7 +877,7 @@ /** * Transform a Ldapresult part of a Snickers Response to a Twix LdapResult * - * @param snickersLdapResult The Snickers LdapResult to transform + * @param snickersLdapResult the Snickers LdapResult to transform * @return A Twix LdapResult */ private LdapResult transformLdapResult( LdapResultImpl snickersLdapResult ) @@ -935,6 +974,41 @@ /** + * Transform a Snickers BindRequest to a Twix BindRequest + * + * @param twixMessage The Twix BindRequest to produce + * @param snickersMessage The incoming Snickers BindRequest + */ + private void transformBindRequest( LdapMessage twixMessage, Message snickersMessage ) + { + BindRequestImpl snickersBindRequest = ( BindRequestImpl ) snickersMessage; + + BindRequest bindRequest = new BindRequest(); + + if ( snickersBindRequest.isSimple() ) + { + SimpleAuthentication simple = new SimpleAuthentication(); + simple.setSimple( snickersBindRequest.getCredentials() ); + bindRequest.setAuthentication( simple ); + } + else + { + SaslCredentials sasl = new SaslCredentials(); + sasl.setCredentials( snickersBindRequest.getCredentials() ); + sasl.setMechanism( snickersBindRequest.getSaslMechanism() ); + bindRequest.setAuthentication( sasl ); + } + + bindRequest.setMessageId( snickersBindRequest.getMessageId() ); + bindRequest.setName( snickersBindRequest.getName() ); + bindRequest.setVersion( snickersBindRequest.isVersion3() ? 3 : 2 ); + + // Set the operation into the LdapMessage + twixMessage.setProtocolOP( bindRequest ); + } + + + /** * Transform a Snickers CompareResponse to a Twix CompareResponse * * @param twixMessage The Twix CompareResponse to produce @@ -1174,6 +1248,10 @@ transformBindResponse( twixMessage, msg ); break; + case BIND_REQUEST : + transformBindRequest( twixMessage, msg ); + break; + case ADD_RESPONSE : transformAddResponse( twixMessage, msg ); break; @@ -1214,6 +1292,30 @@ return twixMessage; } + + /** + * TODO finish this implementation. Takes Twix Controls, transforming + * them to Snickers Controls and populates the Snickers message with them. + * + * @param twixMessage the Twix message + * @param msg the Snickers message + */ + private void transformControlsTwixToSnickers( LdapMessage twixMessage, Message msg ) + { + if ( twixMessage.getControls() == null ) + { + return; + } + + Iterator list = twixMessage.getControls().iterator(); + + while ( list.hasNext() ) + { + log.debug( "Not decoding response control: {}", list.next() ); + } + } + + /** * Transforms the controls * @param twixMessage The Twix SearchResultReference to produce Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/InitAssertionValueFilterAction.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/InitAssertionValueFilterAction.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/InitAssertionValueFilterAction.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/InitAssertionValueFilterAction.java Sat May 10 08:38:30 2008 @@ -29,6 +29,9 @@ import org.apache.directory.shared.ldap.codec.LdapMessageContainer; import org.apache.directory.shared.ldap.codec.search.AttributeValueAssertionFilter; import org.apache.directory.shared.ldap.codec.search.SearchRequest; +import org.apache.directory.shared.ldap.entry.Value; +import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue; +import org.apache.directory.shared.ldap.entry.client.ClientStringValue; import org.apache.directory.shared.ldap.util.StringTools; import org.slf4j.Logger; @@ -65,11 +68,15 @@ TLV tlv = ldapMessageContainer.getCurrentTLV(); // The value can be null. - Object assertionValue = StringTools.EMPTY_BYTES; + Value assertionValue = null; if ( tlv.getLength() != 0 ) { - assertionValue = tlv.getValue().getData(); + assertionValue = new ClientBinaryValue( tlv.getValue().getData() ); + } + else + { + assertionValue = new ClientBinaryValue( StringTools.EMPTY_BYTES ); } AttributeValueAssertionFilter terminalFilter = ( AttributeValueAssertionFilter ) searchRequest @@ -78,11 +85,29 @@ if ( ldapMessageContainer.isBinary( assertion.getAttributeDesc() ) ) { + if ( tlv.getLength() != 0 ) + { + assertionValue = new ClientBinaryValue( tlv.getValue().getData() ); + } + else + { + assertionValue = new ClientBinaryValue( StringTools.EMPTY_BYTES ); + } + assertion.setAssertionValue( assertionValue ); } else { - assertion.setAssertionValue( StringTools.utf8ToString( ( byte[] ) assertionValue ) ); + if ( tlv.getLength() != 0 ) + { + assertionValue = new ClientStringValue( StringTools.utf8ToString( tlv.getValue().getData() ) ); + } + else + { + assertionValue = new ClientStringValue( "" ); + } + + assertion.setAssertionValue(assertionValue ); } // We now have to get back to the nearest filter which is Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/AttributeValueAssertionFilter.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/AttributeValueAssertionFilter.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/AttributeValueAssertionFilter.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/AttributeValueAssertionFilter.java Sat May 10 08:38:30 2008 @@ -28,6 +28,8 @@ import org.apache.directory.shared.asn1.codec.EncoderException; import org.apache.directory.shared.ldap.codec.AttributeValueAssertion; import org.apache.directory.shared.ldap.codec.LdapConstants; +import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue; +import org.apache.directory.shared.ldap.entry.client.ClientStringValue; import org.apache.directory.shared.ldap.util.StringTools; @@ -152,17 +154,17 @@ avaLength = 1 + TLV.getNbBytes( attributeDescLength ) + attributeDescLength; - Object assertionValue = assertion.getAssertionValue(); + org.apache.directory.shared.ldap.entry.Value assertionValue = assertion.getAssertionValue(); int assertionValueLength = 0; - if ( assertionValue instanceof String ) + if ( assertionValue instanceof ClientStringValue ) { - assertionValueLength = StringTools.getBytesUtf8( ( String ) assertionValue ).length; + assertionValueLength = StringTools.getBytesUtf8( ((ClientStringValue)assertionValue).get() ).length; } else { - assertionValueLength = ( ( byte[] ) assertionValue ).length; + assertionValueLength = ((ClientBinaryValue)assertionValue).get().length; } avaLength += 1 + TLV.getNbBytes( assertionValueLength ) + assertionValueLength; @@ -228,13 +230,13 @@ Value.encode( buffer, assertion.getAttributeDesc() ); // The assertion desc - if ( assertion.getAssertionValue() instanceof String ) + if ( assertion.getAssertionValue().get() instanceof String ) { - Value.encode( buffer, ( String ) assertion.getAssertionValue() ); + Value.encode( buffer, ( String ) assertion.getAssertionValue().get() ); } else { - Value.encode( buffer, ( byte[] ) assertion.getAssertionValue() ); + Value.encode( buffer, ( byte[] ) assertion.getAssertionValue().get() ); } return buffer; Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/Value.java Sat May 10 08:38:30 2008 @@ -171,4 +171,12 @@ * @exception NamingException If the value cannot be normalized */ void normalize( Normalizer normalizer ) throws NamingException; + + + /** + * Tells if the current value is Binary or String + * + * @return true if the value is Binary, false otherwise + */ + boolean isBinary(); } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientBinaryValue.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientBinaryValue.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientBinaryValue.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientBinaryValue.java Sat May 10 08:38:30 2008 @@ -338,6 +338,17 @@ System.arraycopy( wrapped, 0, copy, 0, wrapped.length ); return copy; } + + + /** + * Tells if the current value is Binary or String + * + * @return true if the value is Binary, false otherwise + */ + public boolean isBinary() + { + return true; + } /** Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientStringValue.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientStringValue.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientStringValue.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/ClientStringValue.java Sat May 10 08:38:30 2008 @@ -295,6 +295,17 @@ /** + * Tells if the current value is Binary or String + * + * @return true if the value is Binary, false otherwise + */ + public boolean isBinary() + { + return false; + } + + + /** * @see Externalizable#readExternal(ObjectInput) */ public void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException @@ -318,6 +329,6 @@ */ public String toString() { - return "'" + wrapped + "'"; + return wrapped == null ? "null": wrapped; } } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/entry/client/DefaultClientEntry.java Sat May 10 08:38:30 2008 @@ -29,6 +29,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; import org.apache.directory.shared.ldap.entry.AbstractEntry; import org.apache.directory.shared.ldap.entry.Entry; @@ -1050,11 +1052,18 @@ result = result*17 + dn.hashCode(); - for ( EntryAttribute attribute:attributes.values() ) + SortedMap sortedMap = new TreeMap(); + + for ( String id:attributes.keySet() ) { - result = result*17 + attribute.hashCode(); + sortedMap.put( id, attributes.get( id ) ); } - + + for ( String id:sortedMap.keySet() ) + { + result = result*17 + sortedMap.get( id ).hashCode(); + } + return result; } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java Sat May 10 08:38:30 2008 @@ -19,6 +19,7 @@ */ package org.apache.directory.shared.ldap.filter; +import org.apache.directory.shared.ldap.entry.Value; /** * A simple assertion value node. @@ -34,19 +35,7 @@ * @param attribute the attribute name * @param value the value to test for */ - public ApproximateNode( String attribute, byte[] value ) - { - super( attribute, value, AssertionType.APPROXIMATE ); - } - - - /** - * Creates a new ApproximateNode object. - * - * @param attribute the attribute name - * @param value the value to test for - */ - public ApproximateNode( String attribute, String value ) + public ApproximateNode( String attribute, Value value ) { super( attribute, value, AssertionType.APPROXIMATE ); } @@ -66,14 +55,14 @@ */ public String toString() { - StringBuilder buf = new StringBuilder(); - + StringBuilder buf = new StringBuilder(); + buf.append( '(' ).append( getAttribute() ).append( "~=" ).append( value ); buf.append( super.toString() ); buf.append( ')' ); - return buf.toString(); + return buf.toString(); } } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java Sat May 10 08:38:30 2008 @@ -19,6 +19,8 @@ */ package org.apache.directory.shared.ldap.filter; +import org.apache.directory.shared.ldap.entry.Value; + /** * A assertion value node for Equality. @@ -34,19 +36,7 @@ * @param attribute the attribute name * @param value the value to test for */ - public EqualityNode( String attribute, byte[] value ) - { - super( attribute, value, AssertionType.EQUALITY ); - } - - - /** - * Creates a new Equality object. - * - * @param attribute the attribute name - * @param value the value to test for - */ - public EqualityNode( String attribute, String value ) + public EqualityNode( String attribute, Value value ) { super( attribute, value, AssertionType.EQUALITY ); } @@ -58,19 +48,7 @@ * @param attribute the attribute name * @param value the value to test for */ - protected EqualityNode( String attribute, byte[] value, AssertionType assertionType ) - { - super( attribute, value, assertionType ); - } - - - /** - * Creates a new Equality object. - * - * @param attribute the attribute name - * @param value the value to test for - */ - protected EqualityNode( String attribute, String value, AssertionType assertionType ) + protected EqualityNode( String attribute, Value value, AssertionType assertionType ) { super( attribute, value, assertionType ); } @@ -90,14 +68,14 @@ */ public String toString() { - StringBuilder buf = new StringBuilder(); - + StringBuilder buf = new StringBuilder(); + buf.append( '(' ).append( getAttribute() ).append( "=" ).append( value ); buf.append( super.toString() ); buf.append( ')' ); - return buf.toString(); + return buf.toString(); } } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterParser.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterParser.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterParser.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterParser.java Sat May 10 08:38:30 2008 @@ -22,6 +22,7 @@ import java.text.ParseException; +import org.apache.directory.shared.ldap.entry.client.ClientStringValue; import org.apache.directory.shared.ldap.util.AttributeUtils; import org.apache.directory.shared.ldap.util.Position; import org.apache.directory.shared.ldap.util.StringTools; @@ -35,7 +36,8 @@ public FilterParser() { } - + + /** * Parse an extensible * @@ -61,35 +63,35 @@ // Push back the ':' pos.start--; } - + // Do we have a MatchingRule ? if ( StringTools.charAt( filter, pos.start ) == ':' ) { pos.start++; int start = pos.start; - + if ( StringTools.charAt( filter, pos.start ) == '=' ) { pos.start++; - + // Get the assertionValue node.setValue( parseAssertionValue( filter, pos ) ); - + return node; } else { AttributeUtils.parseAttribute( filter, pos, false ); - + node.setMatchingRuleId( filter.substring( start, pos.start ) ); - + if ( StringTools.areEquals( filter, pos.start, ":=" ) ) { pos.start += 2; - + // Get the assertionValue node.setValue( parseAssertionValue( filter, pos ) ); - + return node; } else @@ -106,7 +108,7 @@ else { boolean oidRequested = false; - + // First check if we have a ":dn" if ( StringTools.areEquals( filter, pos.start, ":dn" ) ) { @@ -118,40 +120,40 @@ { oidRequested = true; } - + // Do we have a MatchingRule ? if ( StringTools.charAt( filter, pos.start ) == ':' ) { pos.start++; int start = pos.start; - + if ( StringTools.charAt( filter, pos.start ) == '=' ) { if ( oidRequested ) { throw new ParseException( "MatchingRule expected", pos.start ); } - + pos.start++; - + // Get the assertionValue node.setValue( parseAssertionValue( filter, pos ) ); - + return node; } else { AttributeUtils.parseAttribute( filter, pos, false ); - + node.setMatchingRuleId( filter.substring( start, pos.start ) ); - + if ( StringTools.areEquals( filter, pos.start, ":=" ) ) { pos.start += 2; - + // Get the assertionValue node.setValue( parseAssertionValue( filter, pos ) ); - + return node; } else @@ -166,8 +168,8 @@ } } } - - + + /** * An assertion value : * assertionvalue = valueencoding @@ -204,9 +206,9 @@ private static String parseAssertionValue( String filter, Position pos ) throws ParseException { int start = pos.start; - + char c = StringTools.charAt( filter, pos.start ); - + do { if ( StringTools.isUnicodeSubset( c ) ) @@ -217,7 +219,7 @@ { // Maybe an escaped pos.start++; - + // First hex if ( StringTools.isHex( filter, pos.start ) ) { @@ -243,35 +245,38 @@ // not a valid char, so let's get out return filter.substring( start, pos.start ); } - } while ( ( c = StringTools.charAt( filter, pos.start ) ) != '\0' ); - + } + while ( ( c = StringTools.charAt( filter, pos.start ) ) != '\0' ); + return filter.substring( start, pos.start ); } + /** * Parse a substring */ - private static ExprNode parseSubstring( String attr, String initial, String filter, Position pos ) throws ParseException + private static ExprNode parseSubstring( String attr, String initial, String filter, Position pos ) + throws ParseException { if ( StringTools.isCharASCII( filter, pos.start, '*' ) ) { // We have found a '*' : this is a substring SubstringNode node = new SubstringNode( attr ); - + if ( !StringTools.isEmpty( initial ) ) { // We have a substring starting with a value : val*... // Set the initial value node.setInitial( initial ); } - + pos.start++; - + // while ( true ) { String assertionValue = parseAssertionValue( filter, pos ); - + // Is there anything else but a ')' after the value ? if ( StringTools.isCharASCII( filter, pos.start, ')' ) ) { @@ -293,10 +298,10 @@ { node.addAny( assertionValue ); } - + pos.start++; } - } + } } else { @@ -304,7 +309,8 @@ throw new ParseException( "Bad substring", pos.start ); } } - + + /** * Here is the grammar to parse : * @@ -329,7 +335,8 @@ * @param pos * @return */ - private static ExprNode parsePresenceEqOrSubstring( String attr, String filter, Position pos ) throws ParseException + private static ExprNode parsePresenceEqOrSubstring( String attr, String filter, Position pos ) + throws ParseException { if ( StringTools.isCharASCII( filter, pos.start, '*' ) ) { @@ -353,25 +360,25 @@ else if ( StringTools.isCharASCII( filter, pos.start, ')' ) ) { // An empty equality Node - return new EqualityNode( attr, "" ); + return new EqualityNode( attr, new ClientStringValue( "" ) ); } else { // A substring or an equality node String value = parseAssertionValue( filter, pos ); - + // Is there anything else but a ')' after the value ? if ( StringTools.isCharASCII( filter, pos.start, ')' ) ) { // This is an equality node - return new EqualityNode( attr, value ); + return new EqualityNode( attr, new ClientStringValue( value ) ); } - + return parseSubstring( attr, value, filter, pos ); } } - - + + /** * Parse the following grammar : * item = simple / present / substring / extensible @@ -389,15 +396,15 @@ { LeafNode node = null; String attr = null; - + // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); - + if ( c == '\0' ) { throw new ParseException( "Bad char", pos.start ); } - + if ( c == ':' ) { // If we have a colon, then the item is an extensible one @@ -407,24 +414,24 @@ { // We must have an attribute attr = AttributeUtils.parseAttribute( filter, pos, true ); - + // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); // Now, we may have a present, substring, simple or an extensible c = StringTools.charAt( filter, pos.start ); - + switch ( c ) { - case '=' : + case '=': // It can be a presence, an equal or a substring pos.start++; return parsePresenceEqOrSubstring( attr, filter, pos ); - - case '~' : + + case '~': // Approximate node pos.start++; - + // Check that we have a '=' if ( !StringTools.isCharASCII( filter, pos.start, '=' ) ) { @@ -432,15 +439,15 @@ } pos.start++; - + // Parse the value and create the node - node = new ApproximateNode( attr, parseAssertionValue( filter, pos ) ); + node = new ApproximateNode( attr, new ClientStringValue( parseAssertionValue( filter, pos ) ) ); return node; - - case '>' : + + case '>': // Greater or equal node pos.start++; - + // Check that we have a '=' if ( !StringTools.isCharASCII( filter, pos.start, '=' ) ) { @@ -448,15 +455,15 @@ } pos.start++; - + // Parse the value and create the node - node = new GreaterEqNode( attr, parseAssertionValue( filter, pos ) ); + node = new GreaterEqNode( attr, new ClientStringValue( parseAssertionValue( filter, pos ) ) ); return node; - - case '<' : + + case '<': // Less or equal node pos.start++; - + // Check that we have a '=' if ( !StringTools.isCharASCII( filter, pos.start, '=' ) ) { @@ -464,23 +471,24 @@ } pos.start++; - + // Parse the value and create the node - node = new LessEqNode( attr, parseAssertionValue( filter, pos ) ); + node = new LessEqNode( attr, new ClientStringValue( parseAssertionValue( filter, pos ) ) ); return node; - - case ':' : + + case ':': // An extensible node pos.start++; return parseExtensible( attr, filter, pos ); - - default : + + default: // This is an error throw new ParseException( "An item is expected", pos.start ); } } } + /** * Parse AND, OR and NOT nodes : * @@ -493,20 +501,20 @@ */ private static ExprNode parseBranchNode( ExprNode node, String filter, Position pos ) throws ParseException { - BranchNode bNode = (BranchNode)node; - + BranchNode bNode = ( BranchNode ) node; + // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); - + // We must have at least one filter ExprNode child = parseFilterInternal( filter, pos ); - + // Add the child to the node children bNode.addNode( child ); // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); - + // Now, iterate though all the remaining filters, if any while ( ( child = parseFilterInternal( filter, pos ) ) != null ) { @@ -516,13 +524,14 @@ // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); } - + // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); return node; } + /** * filtercomp = and / or / not / item * and = '&' filterlist @@ -537,53 +546,54 @@ * / ( [dnattrs] * matchingrule COLON EQUALS assertionvalue ) */ - private static ExprNode parseFilterComp( String filter, Position pos ) throws ParseException + private static ExprNode parseFilterComp( String filter, Position pos ) throws ParseException { ExprNode node = null; // Relax the grammar a bit : we can have spaces // StringTools.trimLeft( filter, pos ); - + if ( pos.start == pos.length ) { throw new ParseException( "Empty filterComp", pos.start ); } - + char c = StringTools.charAt( filter, pos.start ); - + switch ( c ) { - case '&' : + case '&': // This is a AND node pos.start++; node = new AndNode(); parseBranchNode( node, filter, pos ); break; - - case '|' : + + case '|': // This is an OR node pos.start++; node = new OrNode(); parseBranchNode( node, filter, pos ); break; - - case '!' : + + case '!': // This is a NOT node pos.start++; node = new NotNode(); parseBranchNode( node, filter, pos ); break; - - default : + + default: // This is an item node = parseItem( filter, pos, c ); break; - + } - + return node; } - + + /** * Pasre the grammar rule : * filter ::= '(' filterComp ')' @@ -592,7 +602,7 @@ { // relax the grammar by allowing spaces // StringTools.trimLeft( filter, pos ); - + // Check for the left '(' if ( StringTools.isCharASCII( filter, pos.start, '(' ) == false ) { @@ -606,34 +616,35 @@ return null; } } - + pos.start++; - + // relax the grammar by allowing spaces // StringTools.trimLeft( filter, pos ); - + // parse the filter component ExprNode node = parseFilterComp( filter, pos ); - + if ( node == null ) { throw new ParseException( "Bad filter", pos.start ); } - + // relax the grammar by allowing spaces // StringTools.trimLeft( filter, pos ); - + // Check that we have a right ')' if ( StringTools.isCharASCII( filter, pos.start, ')' ) == false ) { throw new ParseException( "The filter has no right parenthese", pos.start ); } - + pos.start++; - + return node; } - + + /** * @see FilterParser#parse(String) */ @@ -644,12 +655,12 @@ { throw new ParseException( "Empty filter", 0 ); } - + Position pos = new Position(); pos.start = 0; pos.end = 0; pos.length = filter.length(); - + return parseFilterInternal( filter, pos ); } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java Sat May 10 08:38:30 2008 @@ -20,6 +20,9 @@ package org.apache.directory.shared.ldap.filter; +import org.apache.directory.shared.ldap.entry.Value; + + /** * A assertion value node for GreaterOrEqual. * @@ -34,19 +37,7 @@ * @param attribute the attribute name * @param value the value to test for */ - public GreaterEqNode( String attribute, byte[] value ) - { - super( attribute, value, AssertionType.GREATEREQ ); - } - - - /** - * Creates a new GreaterOrEqual object. - * - * @param attribute the attribute name - * @param value the value to test for - */ - public GreaterEqNode( String attribute, String value ) + public GreaterEqNode( String attribute, Value value ) { super( attribute, value, AssertionType.GREATEREQ ); } @@ -60,20 +51,20 @@ return super.hashCode(); } - + /** * @see Object#toString() */ public String toString() { - StringBuilder buf = new StringBuilder(); - + StringBuilder buf = new StringBuilder(); + buf.append( '(' ).append( getAttribute() ).append( ">=" ).append( value ); buf.append( super.toString() ); - + buf.append( ')' ); - - return buf.toString(); + + return buf.toString(); } } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java Sat May 10 08:38:30 2008 @@ -20,6 +20,9 @@ package org.apache.directory.shared.ldap.filter; +import org.apache.directory.shared.ldap.entry.Value; + + /** * A assertion value node for LessOrEqual. * @@ -34,25 +37,13 @@ * @param attribute the attribute name * @param value the value to test for */ - public LessEqNode( String attribute, byte[] value ) + public LessEqNode( String attribute, Value value ) { super( attribute, value, AssertionType.LESSEQ ); } /** - * Creates a new LessEqNode object. - * - * @param attribute the attribute name - * @param value the value to test for - */ - public LessEqNode( String attribute, String value ) - { - super( attribute, value, AssertionType.LESSEQ ); - } - - - /** * @see Object#hashCode() */ public int hashCode() @@ -60,20 +51,20 @@ return super.hashCode(); } - + /** * @see Object#toString() */ public String toString() { - StringBuilder buf = new StringBuilder(); - + StringBuilder buf = new StringBuilder(); + buf.append( '(' ).append( getAttribute() ).append( "<=" ).append( value ); buf.append( super.toString() ); - + buf.append( ')' ); - - return buf.toString(); + + return buf.toString(); } } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java Sat May 10 08:38:30 2008 @@ -19,7 +19,9 @@ */ package org.apache.directory.shared.ldap.filter; + import org.apache.directory.shared.ldap.constants.SchemaConstants; +import org.apache.directory.shared.ldap.entry.Value; /** @@ -30,25 +32,13 @@ */ public abstract class SimpleNode extends LeafNode { - /** the value */ - protected Object value; + /** the value */ + protected Value value; /** Constants for comparisons */ public final static boolean EVAL_GREATER = true; public final static boolean EVAL_LESSER = false; - /** - * Creates a new SimpleNode object. - * - * @param attribute the attribute name - * @param value the value to test for - */ - protected SimpleNode( String attribute, byte[] value, AssertionType assertionType ) - { - super( attribute, assertionType ); - this.value = value; - } - /** * Creates a new SimpleNode object. @@ -56,7 +46,7 @@ * @param attribute the attribute name * @param value the value to test for */ - protected SimpleNode( String attribute, String value, AssertionType assertionType ) + protected SimpleNode( String attribute, Value value, AssertionType assertionType ) { super( attribute, assertionType ); this.value = value; @@ -68,7 +58,7 @@ * * @return the value */ - public final Object getValue() + public final Value getValue() { return value; } @@ -79,7 +69,7 @@ * * @param value the value for this node */ - public void setValue( Object value ) + public void setValue( Value value ) { this.value = value; } @@ -103,7 +93,7 @@ return buf; } - + /** * @see ExprNode#printRefinementToBuffer(StringBuilder) */ @@ -125,15 +115,15 @@ */ public int hashCode() { - int h = 37; - - h = h*17 + super.hashCode(); - h = h*17 + ( value == null ? 0 : value.hashCode() ); - - return h; + int h = 37; + + h = h * 17 + super.hashCode(); + h = h * 17 + ( value == null ? 0 : value.hashCode() ); + + return h; } - + /* * (non-Javadoc) * @@ -150,26 +140,26 @@ { return false; } - + if ( other.getClass() != this.getClass() ) { - return false; + return false; } - + if ( !super.equals( other ) ) { - return false; + return false; } - SimpleNode otherNode = (SimpleNode)other; + SimpleNode otherNode = ( SimpleNode ) other; if ( value == null ) { - return otherNode.value == null; + return otherNode.value == null; } else { - return value.equals( otherNode.value ); - } + return value.equals( otherNode.value ); + } } } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDNSerializer.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDNSerializer.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDNSerializer.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/LdapDNSerializer.java Sat May 10 08:38:30 2008 @@ -77,7 +77,7 @@ } else { - String message = "The DN should have been normalized before being serialized"; + String message = "The DN should have been normalized before being serialized " + dn; LOG.error( message ); throw new IOException( message ); } Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java Sat May 10 08:38:30 2008 @@ -784,7 +784,13 @@ AttributeTypeAndValue atavLocal = ( AttributeTypeAndValue ) atavLocalList.get( 0 ); AttributeTypeAndValue atavParam = ( AttributeTypeAndValue ) atavParamList.get( 0 ); - return atavLocal.compareTo( atavParam ); + // If the ATAVs are different we are finished. + // It the ATAVs are equal we must compare the remaining ATAVs, too. + int result = atavLocal.compareTo( atavParam ); + if ( result != 0 ) + { + return result; + } } else { @@ -813,14 +819,11 @@ if ( !found ) { - // The ATAV does not exist in the second - // RDN + // The ATAV does not exist in the second RDN return SUPERIOR; } } } - - return EQUALS; } else { Modified: directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestTest.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestTest.java?rev=655116&r1=655115&r2=655116&view=diff ============================================================================== --- directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestTest.java (original) +++ directory/sandbox/akarasulu/bigbang/shared/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestTest.java Sat May 10 08:38:30 2008 @@ -193,7 +193,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "top", assertion.getAssertionValue().toString() ); + assertEquals( "top", assertion.getAssertionValue().get() ); // (& (| (objectclass=top) (ou=contacts) ) (... equalityMatch = ( AttributeValueAssertionFilter ) orFilters.get( 1 ); @@ -203,7 +203,7 @@ assertNotNull( assertion ); assertEquals( "ou", assertion.getAttributeDesc() ); - assertEquals( "contacts", assertion.getAssertionValue().toString() ); + assertEquals( "contacts", assertion.getAssertionValue().get() ); // (& (| (objectclass=top) (ou=contacts) ) (! ... NotFilter notFilter = ( NotFilter ) andFilters.get( 1 ); @@ -217,7 +217,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "ttt", assertion.getAssertionValue().toString() ); + assertEquals( "ttt", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); @@ -357,7 +357,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "top", assertion.getAssertionValue().toString() ); + assertEquals( "top", assertion.getAssertionValue().get() ); // (& (| (objectclass~=top) (ou<=contacts) ) (... AttributeValueAssertionFilter lessOrEqual = ( AttributeValueAssertionFilter ) orFilters.get( 1 ); @@ -367,7 +367,7 @@ assertNotNull( assertion ); assertEquals( "ou", assertion.getAttributeDesc() ); - assertEquals( "contacts", assertion.getAssertionValue().toString() ); + assertEquals( "contacts", assertion.getAssertionValue().get() ); // (& (| (objectclass~=top) (ou<=contacts) ) (! ... NotFilter notFilter = ( NotFilter ) andFilters.get( 1 ); @@ -381,7 +381,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "ttt", assertion.getAssertionValue().toString() ); + assertEquals( "ttt", assertion.getAssertionValue().get() ); // The attributes Attributes attributes = sr.getAttributes(); @@ -548,7 +548,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "ttt", assertion.getAssertionValue().toString() ); + assertEquals( "ttt", assertion.getAssertionValue().get() ); // The attributes Attributes attributes = sr.getAttributes(); @@ -942,31 +942,31 @@ .getAssertion(); assertEquals( "uid", assertion.getAttributeDesc() ); - assertEquals( "akarasulu", assertion.getAssertionValue().toString() ); + assertEquals( "akarasulu", assertion.getAssertionValue().get() ); // cn=aok assertion = ( ( AttributeValueAssertionFilter ) orFilter.getOrFilter().get( 1 ) ).getAssertion(); assertEquals( "cn", assertion.getAttributeDesc() ); - assertEquals( "aok", assertion.getAssertionValue().toString() ); + assertEquals( "aok", assertion.getAssertionValue().get() ); // ou = Human Resources assertion = ( ( AttributeValueAssertionFilter ) orFilter.getOrFilter().get( 2 ) ).getAssertion(); assertEquals( "ou", assertion.getAttributeDesc() ); - assertEquals( "Human Resources", assertion.getAssertionValue().toString() ); + assertEquals( "Human Resources", assertion.getAssertionValue().get() ); // l=Santa Clara assertion = ( ( AttributeValueAssertionFilter ) orFilter.getOrFilter().get( 3 ) ).getAssertion(); assertEquals( "l", assertion.getAttributeDesc() ); - assertEquals( "Santa Clara", assertion.getAssertionValue().toString() ); + assertEquals( "Santa Clara", assertion.getAssertionValue().get() ); // cn=abok assertion = ( ( AttributeValueAssertionFilter ) orFilter.getOrFilter().get( 4 ) ).getAssertion(); assertEquals( "cn", assertion.getAttributeDesc() ); - assertEquals( "abok", assertion.getAssertionValue().toString() ); + assertEquals( "abok", assertion.getAssertionValue().get() ); // The attributes Attributes attributes = sr.getAttributes(); @@ -1223,7 +1223,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "top", assertion.getAssertionValue().toString() ); + assertEquals( "top", assertion.getAssertionValue().get() ); // (& (| (objectclass=top) (ou=contacts) ) (... equalityMatch = ( AttributeValueAssertionFilter ) orFilters.get( 1 ); @@ -1233,7 +1233,7 @@ assertNotNull( assertion ); assertEquals( "2.5.4.11", assertion.getAttributeDesc() ); - assertEquals( "contacts", assertion.getAssertionValue().toString() ); + assertEquals( "contacts", assertion.getAssertionValue().get() ); // (& (| (objectclass=top) (ou=contacts) ) (! ... NotFilter notFilter = ( NotFilter ) andFilters.get( 1 ); @@ -1247,7 +1247,7 @@ assertNotNull( assertion ); assertEquals( "organizationalUnitName", assertion.getAttributeDesc() ); - assertEquals( "ttt", assertion.getAssertionValue().toString() ); + assertEquals( "ttt", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); @@ -1530,7 +1530,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "top", assertion.getAssertionValue().toString() ); + assertEquals( "top", assertion.getAssertionValue().get() ); // (& (| (objectclass=top) (ou=contacts) ) (... equalityMatch = ( AttributeValueAssertionFilter ) orFilters.get( 1 ); @@ -1540,7 +1540,7 @@ assertNotNull( assertion ); assertEquals( "ou", assertion.getAttributeDesc() ); - assertEquals( "contacts", assertion.getAssertionValue().toString() ); + assertEquals( "contacts", assertion.getAssertionValue().get() ); // (& (| (objectclass=top) (ou=contacts) ) (! ... NotFilter notFilter = ( NotFilter ) andFilters.get( 1 ); @@ -1554,7 +1554,7 @@ assertNotNull( assertion ); assertEquals( "objectclass", assertion.getAttributeDesc() ); - assertEquals( "ttt", assertion.getAssertionValue().toString() ); + assertEquals( "ttt", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); @@ -2506,7 +2506,7 @@ AttributeValueAssertion assertion = greaterThanFilter.getAssertion(); assertEquals( "test", assertion.getAttributeDesc() ); - assertEquals( "", assertion.getAssertionValue().toString() ); + assertEquals( "", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); @@ -2588,7 +2588,7 @@ AttributeValueAssertion assertion = greaterThanFilter.getAssertion(); assertEquals( "test", assertion.getAttributeDesc() ); - assertEquals( "", assertion.getAssertionValue().toString() ); + assertEquals( "", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); @@ -2686,7 +2686,7 @@ AttributeValueAssertion assertion = greaterThanFilter.getAssertion(); assertEquals( "test", assertion.getAttributeDesc() ); - assertEquals( "", assertion.getAssertionValue().toString() ); + assertEquals( "", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); @@ -2946,7 +2946,7 @@ assertNotNull( assertion ); assertEquals( "pgpdisabled", assertion.getAttributeDesc() ); - assertEquals( "0", assertion.getAssertionValue().toString() ); + assertEquals( "0", assertion.getAssertionValue().get() ); // Check the encoding // We won't check the whole PDU, as it may differs because @@ -3043,7 +3043,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3151,7 +3151,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3264,7 +3264,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); // (&(a=b)(c=d)) equalityMatch = ( AttributeValueAssertionFilter ) andFilters.get( 1 ); @@ -3274,7 +3274,7 @@ assertNotNull( assertion ); assertEquals( "c", assertion.getAttributeDesc() ); - assertEquals( "d", assertion.getAssertionValue().toString() ); + assertEquals( "d", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3388,7 +3388,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3508,7 +3508,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); // (&(&(a=b)(c=d) equalityMatch = ( AttributeValueAssertionFilter ) andFilters2.get( 1 ); @@ -3518,7 +3518,7 @@ assertNotNull( assertion ); assertEquals( "c", assertion.getAttributeDesc() ); - assertEquals( "d", assertion.getAssertionValue().toString() ); + assertEquals( "d", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3637,7 +3637,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); // (&(&(a=b))(c=d)) equalityMatch = ( AttributeValueAssertionFilter ) andFilters.get( 1 ); @@ -3647,7 +3647,7 @@ assertNotNull( assertion ); assertEquals( "c", assertion.getAttributeDesc() ); - assertEquals( "d", assertion.getAssertionValue().toString() ); + assertEquals( "d", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3770,7 +3770,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); // (&(&(a=b)(c=d)... equalityMatch = ( AttributeValueAssertionFilter ) andFilters2.get( 1 ); @@ -3780,7 +3780,7 @@ assertNotNull( assertion ); assertEquals( "c", assertion.getAttributeDesc() ); - assertEquals( "d", assertion.getAssertionValue().toString() ); + assertEquals( "d", assertion.getAssertionValue().get() ); // (&(&(a=b)(c=d))(e=f)) equalityMatch = ( AttributeValueAssertionFilter ) andFilters.get( 1 ); @@ -3790,7 +3790,7 @@ assertNotNull( assertion ); assertEquals( "e", assertion.getAttributeDesc() ); - assertEquals( "f", assertion.getAssertionValue().toString() ); + assertEquals( "f", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -3910,7 +3910,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); // (&(&(a=b))(&... andFilter2 = ( AndFilter ) andFilters.get( 1 ); @@ -3927,7 +3927,7 @@ assertNotNull( assertion ); assertEquals( "c", assertion.getAttributeDesc() ); - assertEquals( "d", assertion.getAssertionValue().toString() ); + assertEquals( "d", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -4051,7 +4051,7 @@ assertNotNull( assertion ); assertEquals( "a", assertion.getAttributeDesc() ); - assertEquals( "b", assertion.getAssertionValue().toString() ); + assertEquals( "b", assertion.getAssertionValue().get() ); // (&(&(a=b)(c=d))... equalityMatch = ( AttributeValueAssertionFilter ) andFilters2.get( 1 ); @@ -4061,7 +4061,7 @@ assertNotNull( assertion ); assertEquals( "c", assertion.getAttributeDesc() ); - assertEquals( "d", assertion.getAssertionValue().toString() ); + assertEquals( "d", assertion.getAssertionValue().get() ); // (&(&(a=b)(c=d))(&... andFilter2 = ( AndFilter ) andFilters.get( 1 ); @@ -4078,7 +4078,7 @@ assertNotNull( assertion ); assertEquals( "e", assertion.getAttributeDesc() ); - assertEquals( "f", assertion.getAssertionValue().toString() ); + assertEquals( "f", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -4215,7 +4215,7 @@ assertNotNull( assertion ); assertEquals( "e", assertion.getAttributeDesc() ); - assertEquals( "f", assertion.getAssertionValue().toString() ); + assertEquals( "f", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -4377,7 +4377,7 @@ assertNotNull( assertion ); assertEquals( "uid", assertion.getAttributeDesc() ); - assertEquals( "buster ", assertion.getAssertionValue().toString() ); + assertEquals( "buster ", assertion.getAssertionValue().get() ); // (&(uid=buster)(sbAttribute=Buy)) equalityMatch = ( AttributeValueAssertionFilter ) andFilters.get( 1 ); @@ -4387,7 +4387,7 @@ assertNotNull( assertion ); assertEquals( "sbAttribute", assertion.getAttributeDesc() ); - assertEquals( "Buy ", assertion.getAssertionValue().toString() ); + assertEquals( "Buy ", assertion.getAssertionValue().get() ); Attributes attributes = sr.getAttributes(); assertEquals( 0, attributes.size() ); @@ -4486,7 +4486,7 @@ assertNotNull( assertion ); assertEquals( "objectClass", assertion.getAttributeDesc() ); - assertEquals( "person", assertion.getAssertionValue().toString() ); + assertEquals( "person", assertion.getAssertionValue().get() ); // (&(a=b)(| OrFilter orFilter = ( OrFilter ) andFilters.get( 1 ); @@ -4512,6 +4512,6 @@ assertNotNull( assertion ); assertEquals( "sn", assertion.getAttributeDesc() ); - assertEquals( "Jagger", assertion.getAssertionValue().toString() ); + assertEquals( "Jagger", assertion.getAssertionValue().get() ); } }