Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 84063 invoked from network); 22 Aug 2006 17:04:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 22 Aug 2006 17:04:02 -0000 Received: (qmail 74632 invoked by uid 500); 22 Aug 2006 17:04:02 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 74596 invoked by uid 500); 22 Aug 2006 17:04:02 -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 74585 invoked by uid 99); 22 Aug 2006 17:04:02 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Aug 2006 10:04:02 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Aug 2006 10:04:01 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 967A01A981A; Tue, 22 Aug 2006 10:03:41 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r433692 - /directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/codec/del/DelRequestGrammar.java Date: Tue, 22 Aug 2006 17:03:41 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060822170341.967A01A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: elecharny Date: Tue Aug 22 10:03:40 2006 New Revision: 433692 URL: http://svn.apache.org/viewvc?rev=433692&view=rev Log: Created a Response when we have an exception while parsing a DN Modified: directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/codec/del/DelRequestGrammar.java Modified: directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/codec/del/DelRequestGrammar.java URL: http://svn.apache.org/viewvc/directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/codec/del/DelRequestGrammar.java?rev=433692&r1=433691&r2=433692&view=diff ============================================================================== --- directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/codec/del/DelRequestGrammar.java (original) +++ directory/branches/shared/0.9.5/ldap/src/main/java/org/apache/directory/shared/ldap/codec/del/DelRequestGrammar.java Tue Aug 22 10:03:40 2006 @@ -29,13 +29,17 @@ import org.apache.directory.shared.ldap.codec.LdapConstants; import org.apache.directory.shared.ldap.codec.LdapMessage; import org.apache.directory.shared.ldap.codec.LdapMessageContainer; +import org.apache.directory.shared.ldap.codec.LdapResult; import org.apache.directory.shared.ldap.codec.LdapStatesEnum; +import org.apache.directory.shared.ldap.codec.ResponseCarryingException; +import org.apache.directory.shared.ldap.codec.util.LdapResultEnum; +import org.apache.directory.shared.ldap.codec.util.LdapString; +import org.apache.directory.shared.ldap.codec.util.LdapStringEncodingException; import org.apache.directory.shared.ldap.name.LdapDN; import org.apache.directory.shared.ldap.util.StringTools; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - /** * This class implements the DelRequest LDAP message. All the actions are * declared in this class. As it is a singleton, these declaration are only done @@ -118,7 +122,34 @@ String msg = "The DN to delete (" + StringTools.dumpBytes( tlv.getValue().getData() ) + ") is invalid"; log.error( "{} : {}", msg, ine.getMessage() ); - throw new DecoderException( msg, ine ); + + LdapResult ldapResult = new LdapResult(); + + try + { + ldapResult.setErrorMessage( new LdapString( StringTools.getBytesUtf8( msg ) ) ); + } + catch ( LdapStringEncodingException uee ) + { + ldapResult.setErrorMessage( LdapString.EMPTY_STRING ); + } + + ldapResult.setResultCode( LdapResultEnum.INVALID_DN_SYNTAX ); + ldapResult.setMatchedDN( LdapDN.EMPTY_LDAPDN ); + + DelResponse delResponse = new DelResponse(); + delResponse.setMessageId( delRequest.getMessageId() ); + delResponse.setLdapResult( ldapResult ); + + LdapMessage response = new LdapMessage(); + response.setMessageId( delRequest.getMessageId() ); + response.setProtocolOP( delResponse ); + + ResponseCarryingException exception = new ResponseCarryingException( msg, ine ); + + exception.setResponse( response ); + + throw exception; } delRequest.setEntry( entry ); }