Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 823 invoked from network); 14 Apr 2007 08:30:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Apr 2007 08:30:10 -0000 Received: (qmail 34906 invoked by uid 500); 14 Apr 2007 08:30:16 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 34861 invoked by uid 500); 14 Apr 2007 08:30:16 -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 34846 invoked by uid 99); 14 Apr 2007 08:30:16 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 14 Apr 2007 01:30:16 -0700 X-ASF-Spam-Status: No, hits=-98.6 required=10.0 tests=ALL_TRUSTED,INFO_TLD,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 14 Apr 2007 01:30:08 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 7B28B1A9838; Sat, 14 Apr 2007 01:29:48 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r528782 - in /directory/apacheds/trunk/core/src: main/java/org/apache/directory/server/core/authn/ main/java/org/apache/directory/server/core/authz/ main/java/org/apache/directory/server/core/exception/ main/java/org/apache/directory/server... Date: Sat, 14 Apr 2007 08:29:47 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070414082948.7B28B1A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: elecharny Date: Sat Apr 14 01:29:46 2007 New Revision: 528782 URL: http://svn.apache.org/viewvc?view=rev&rev=528782 Log: One more ServiceContext used : GetMatchedDN Added: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetMatchedDNServiceContext.java Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authn/AuthenticationService.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/BaseInterceptor.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/Interceptor.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/InterceptorChain.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/NextInterceptor.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexus.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexusProxy.java directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/interceptor/InterceptorChainTest.java Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authn/AuthenticationService.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authn/AuthenticationService.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authn/AuthenticationService.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authn/AuthenticationService.java Sat Apr 14 01:29:46 2007 @@ -230,15 +230,15 @@ } - public LdapDN getMatchedName ( NextInterceptor next, LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( NextInterceptor next, ServiceContext getMatchedDNContext ) throws NamingException { if ( IS_DEBUG ) { - log.debug( "Matching name = '" + dn.toString() + "'" ); + log.debug( "Matching name = '" + getMatchedDNContext.getDn().getUpName() + "'" ); } checkAuthenticated(); - return next.getMatchedName( dn ); + return next.getMatchedName( getMatchedDNContext ); } Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AuthorizationService.java Sat Apr 14 01:29:46 2007 @@ -1010,7 +1010,7 @@ } - public LdapDN getMatchedName ( NextInterceptor next, LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( NextInterceptor next, ServiceContext getMatchedDNContext ) throws NamingException { // Access the principal requesting the operation, and bypass checks if it is the admin Invocation invocation = InvocationStack.getInstance().peek(); @@ -1020,12 +1020,12 @@ if ( isPrincipalAnAdministrator( principalDn ) || !enabled ) { - return next.getMatchedName( dn ); + return next.getMatchedName( getMatchedDNContext ); } // get the present matched name Attributes entry; - LdapDN matched = next.getMatchedName( dn ); + LdapDN matched = next.getMatchedName( getMatchedDNContext ); // check if we have disclose on error permission for the entry at the matched dn // if not remove rdn and check that until nothing is left in the name and return Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionService.java Sat Apr 14 01:29:46 2007 @@ -34,6 +34,7 @@ import org.apache.directory.server.core.interceptor.BaseInterceptor; import org.apache.directory.server.core.interceptor.NextInterceptor; import org.apache.directory.server.core.interceptor.context.EntryServiceContext; +import org.apache.directory.server.core.interceptor.context.GetMatchedDNServiceContext; import org.apache.directory.server.core.interceptor.context.LookupServiceContext; import org.apache.directory.server.core.interceptor.context.RenameServiceContext; import org.apache.directory.server.core.interceptor.context.ModifyServiceContext; @@ -139,7 +140,7 @@ { LdapNameNotFoundException e2 = new LdapNameNotFoundException( "Parent " + parentDn.getUpName() + " not found" ); - e2.setResolvedName( new LdapDN( nexus.getMatchedName( parentDn ).getUpName() ) ); + e2.setResolvedName( new LdapDN( nexus.getMatchedName( new GetMatchedDNServiceContext( parentDn ) ).getUpName() ) ); throw e2; } @@ -505,6 +506,7 @@ Invocation invocation = InvocationStack.getInstance().peek(); PartitionNexusProxy proxy = invocation.getProxy(); + if ( !nextInterceptor.hasEntry( new EntryServiceContext( dn ) ) ) { LdapNameNotFoundException e; @@ -518,7 +520,10 @@ e = new LdapNameNotFoundException( dn.toString() ); } - e.setResolvedName( new LdapDN( proxy.getMatchedName( dn ).getUpName() ) ); + e.setResolvedName( + new LdapDN( + proxy.getMatchedName( + new GetMatchedDNServiceContext( dn ) ).getUpName() ) ); throw e; } } Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/BaseInterceptor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/BaseInterceptor.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/BaseInterceptor.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/BaseInterceptor.java Sat Apr 14 01:29:46 2007 @@ -111,9 +111,9 @@ } - public LdapDN getMatchedName ( NextInterceptor next, LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( NextInterceptor next, ServiceContext getMatchedDNContext ) throws NamingException { - return next.getMatchedName( dn ); + return next.getMatchedName( getMatchedDNContext ); } Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/Interceptor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/Interceptor.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/Interceptor.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/Interceptor.java Sat Apr 14 01:29:46 2007 @@ -125,9 +125,9 @@ /** - * Filters {@link PartitionNexus#getMatchedName(org.apache.directory.shared.ldap.name.LdapDN)} call. + * Filters {@link PartitionNexus#getMatchedName( ServiceContext )} call. */ - LdapDN getMatchedName ( NextInterceptor next, LdapDN name ) throws NamingException; + LdapDN getMatchedName ( NextInterceptor next, ServiceContext getMatchedDNContext ) throws NamingException; /** @@ -161,19 +161,19 @@ /** - * Filters {@link Partition#delete(ServiceContext)} call. + * Filters {@link Partition#delete( ServiceContext )} call. */ void delete( NextInterceptor next, ServiceContext deleteContext ) throws NamingException; /** - * Filters {@link Partition#add(ServiceContext)} call. + * Filters {@link Partition#add( ServiceContext )} call. */ void add( NextInterceptor next, ServiceContext addContext ) throws NamingException; /** - * Filters {@link Partition#modify(ServiceContext)} call. + * Filters {@link Partition#modify( ServiceContext )} call. */ void modify( NextInterceptor next, ServiceContext modifyContext ) throws NamingException; @@ -198,43 +198,43 @@ /** - * Filters {@link Partition#lookup(ServiceContext)} call. + * Filters {@link Partition#lookup( ServiceContext )} call. */ Attributes lookup( NextInterceptor next, ServiceContext lookupContext ) throws NamingException; /** - * Filters {@link Partition#hasEntry(ServiceContext)} call. + * Filters {@link Partition#hasEntry( ServiceContext )} call. */ boolean hasEntry( NextInterceptor next, ServiceContext entryContext ) throws NamingException; /** - * Filters {@link Partition#rename(ServiceContext)} call. + * Filters {@link Partition#rename( ServiceContext )} call. */ void rename( NextInterceptor next, ServiceContext renameContext ) throws NamingException; /** - * Filters {@link Partition#move(ServiceContext)} call. + * Filters {@link Partition#move( ServiceContext )} call. */ void move( NextInterceptor next, ServiceContext moveContext ) throws NamingException; /** - * Filters {@link Partition#moveAndRename(ServiceContext)} call. + * Filters {@link Partition#moveAndRename( ServiceContext) } call. */ void moveAndRename( NextInterceptor next, ServiceContext moveAndRenameContext ) throws NamingException; /** - * Filters {@link Partition#bind(ServiceContext)} call. + * Filters {@link Partition#bind( ServiceContext )} call. */ void bind( NextInterceptor next, ServiceContext bindContext ) throws NamingException; /** - * Filters {@link Partition#unbind(ServiceContext)} call. + * Filters {@link Partition#unbind( ServiceContext )} call. */ void unbind( NextInterceptor next, ServiceContext unbindContext ) throws NamingException; } Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/InterceptorChain.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/InterceptorChain.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/InterceptorChain.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/InterceptorChain.java Sat Apr 14 01:29:46 2007 @@ -91,9 +91,9 @@ } - public LdapDN getMatchedName ( NextInterceptor next, LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( NextInterceptor next, ServiceContext getMatchedDNContext ) throws NamingException { - return ( LdapDN ) nexus.getMatchedName( dn ).clone(); + return ( LdapDN ) nexus.getMatchedName( getMatchedDNContext ).clone(); } @@ -543,14 +543,15 @@ } - public LdapDN getMatchedName( LdapDN name ) throws NamingException + public LdapDN getMatchedName( ServiceContext getMatchedDNContext ) throws NamingException { Entry entry = getStartingEntry(); Interceptor head = entry.configuration.getInterceptor(); NextInterceptor next = entry.nextInterceptor; + try { - return head.getMatchedName( next, name ); + return head.getMatchedName( next, getMatchedDNContext ); } catch ( NamingException ne ) { @@ -1040,14 +1041,14 @@ } - public LdapDN getMatchedName ( LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( ServiceContext getMatchedDNContext ) throws NamingException { Entry next = getNextEntry(); Interceptor interceptor = next.configuration.getInterceptor(); try { - return interceptor.getMatchedName( next.nextInterceptor, dn ); + return interceptor.getMatchedName( next.nextInterceptor, getMatchedDNContext ); } catch ( NamingException ne ) { Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/NextInterceptor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/NextInterceptor.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/NextInterceptor.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/NextInterceptor.java Sat Apr 14 01:29:46 2007 @@ -46,21 +46,21 @@ public interface NextInterceptor { /** - * Calls the next interceptor's {@link Interceptor#compare(NextInterceptor,org.apache.directory.shared.ldap.name.LdapDN,String,Object)}. + * Calls the next interceptor's {@link Interceptor#compare( NextInterceptor, ServiceContext )}. */ boolean compare( ServiceContext compareContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#getRootDSE(NextInterceptor, ServiceContext )}. + * Calls the next interceptor's {@link Interceptor#getRootDSE( NextInterceptor, ServiceContext )}. */ Attributes getRootDSE( ServiceContext getRootDSEContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#getMatchedName(NextInterceptor,org.apache.directory.shared.ldap.name.LdapDN)}. + * Calls the next interceptor's {@link Interceptor#getMatchedName( NextInterceptor, ServiceContext )}. */ - LdapDN getMatchedName ( LdapDN name ) throws NamingException; + LdapDN getMatchedName ( ServiceContext getMatchedDNContext ) throws NamingException; /** @@ -94,13 +94,13 @@ /** - * Calls the next interceptor's {@link Interceptor#add(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#add( NextInterceptor, ServiceContext )}. */ void add( ServiceContext addContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#modify(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#modify( NextInterceptor, ServiceContext )}. */ void modify( ServiceContext modifyContext ) throws NamingException; @@ -125,42 +125,42 @@ /** - * Calls the next interceptor's {@link Interceptor#lookup(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#lookup( NextInterceptor, ServiceContext )}. */ Attributes lookup( ServiceContext lookupContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#hasEntry(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#hasEntry( NextInterceptor, ServiceContext )}. */ boolean hasEntry( ServiceContext entryContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#rename(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#rename( NextInterceptor, ServiceContext )}. */ void rename( ServiceContext renameContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#move(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#move( NextInterceptor, ServiceContext )}. */ void move( ServiceContext moveContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#moveAndRename(NextInterceptor,ServiceContext)}. + * Calls the next interceptor's {@link Interceptor#moveAndRename( NextInterceptor, ServiceContext )}. */ void moveAndRename( ServiceContext moveAndRenameContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#bind(NextInterceptor,org.apache.directory.shared.ldap.name.LdapDN,byte[],java.util.List,String)} + * Calls the next interceptor's {@link Interceptor#bind( NextInterceptor, ServiceContext )} */ void bind( ServiceContext bindContext ) throws NamingException; /** - * Calls the next interceptor's {@link Interceptor#unbind(NextInterceptor, ServiceContext))} + * Calls the next interceptor's {@link Interceptor#unbind( NextInterceptor, ServiceContext ))} */ void unbind( ServiceContext unbindContext ) throws NamingException; } Added: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetMatchedDNServiceContext.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetMatchedDNServiceContext.java?view=auto&rev=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetMatchedDNServiceContext.java (added) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetMatchedDNServiceContext.java Sat Apr 14 01:29:46 2007 @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.directory.server.core.interceptor.context; + +import org.apache.directory.shared.ldap.name.LdapDN; + +/** + * A GetMatchedDN context used for Interceptors. It contains all the informations + * needed for the getMatchedDN operation, and used by all the interceptors + * + * @author Apache Directory Project + * @version $Rev$, $Date$ + */ +public class GetMatchedDNServiceContext extends AbstractServiceContext +{ + /** + * Creates a new instance of GetMatchedDNServiceContext. + */ + public GetMatchedDNServiceContext() + { + super(); + } + + /** + * Creates a new instance of GetMatchedDNServiceContext. + * + * @param dn The entry DN used to get the rootDSE + */ + public GetMatchedDNServiceContext( LdapDN dn ) + { + super( dn ); + } + + /** + * @see Object#toString() + */ + public String toString() + { + return "GetMatchedDNContext with DN '" + getDn().getUpName() + "'"; + } +} Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java Sat Apr 14 01:29:46 2007 @@ -370,10 +370,10 @@ // Normalize all Name based arguments for other interface operations // ------------------------------------------------------------------------ - public LdapDN getMatchedName ( NextInterceptor nextInterceptor, LdapDN name ) throws NamingException + public LdapDN getMatchedName ( NextInterceptor nextInterceptor, ServiceContext getMatchedDNContext ) throws NamingException { - name = LdapDN.normalize( name, attrNormalizers ); - return nextInterceptor.getMatchedName( name ); + LdapDN.normalize( getMatchedDNContext.getDn(), attrNormalizers ); + return nextInterceptor.getMatchedName( getMatchedDNContext ); } Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java Sat Apr 14 01:29:46 2007 @@ -591,9 +591,10 @@ /** * @see PartitionNexus#getMatchedName(org.apache.directory.shared.ldap.name.LdapDN) */ - public LdapDN getMatchedName ( LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( ServiceContext getMatchedDNContext ) throws NamingException { - dn = ( LdapDN ) dn.clone(); + LdapDN dn = ( LdapDN ) getMatchedDNContext.getDn().clone(); + while ( dn.size() > 0 ) { if ( hasEntry( new EntryServiceContext( dn ) ) ) Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexus.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexus.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexus.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexus.java Sat Apr 14 01:29:46 2007 @@ -221,13 +221,14 @@ /** * Gets the most significant Dn that exists within the server for any Dn. * - * @param name the normalized distinguished name to use for matching. + * @param getMatchedDNContext the context containing the distinguished name + * to use for matching. * @return a distinguished name representing the matching portion of dn, * as originally provided by the user on creation of the matched entry or * the empty string distinguished name if no match was found. * @throws NamingException if there are any problems */ - public abstract LdapDN getMatchedName ( LdapDN name ) throws NamingException; + public abstract LdapDN getMatchedName ( ServiceContext getMatchedDNContext ) throws NamingException; /** Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexusProxy.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexusProxy.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexusProxy.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexusProxy.java Sat Apr 14 01:29:46 2007 @@ -208,21 +208,22 @@ } - public LdapDN getMatchedName ( LdapDN dn ) throws NamingException + public LdapDN getMatchedName ( ServiceContext getMatchedDNContext ) throws NamingException { - return getMatchedName( dn, null ); + return getMatchedName( getMatchedDNContext, null ); } - public LdapDN getMatchedName( LdapDN dn, Collection bypass ) throws NamingException + public LdapDN getMatchedName( ServiceContext getMatchedDNContext, Collection bypass ) throws NamingException { ensureStarted(); InvocationStack stack = InvocationStack.getInstance(); - Object[] args = new Object[] { dn }; + Object[] args = new Object[] { getMatchedDNContext }; stack.push( new Invocation( this, caller, "getMatchedDn", args, bypass ) ); + try { - return this.configuration.getInterceptorChain().getMatchedName( dn ); + return this.configuration.getInterceptorChain().getMatchedName( getMatchedDNContext ); } finally { Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java (original) +++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java Sat Apr 14 01:29:46 2007 @@ -2027,10 +2027,13 @@ } catch ( NamingException ne ) { - log.error( "Attribute value '{}' for attribute '{}' is synatxically incorrect", - (value instanceof String ? value : StringTools.dumpBytes( (byte[])value ) ), - attribute.getID()); - throw ne; + String message = "Attribute value '" + + (value instanceof String ? value : StringTools.dumpBytes( (byte[])value ) ) + + "' for attribute '" + attribute.getID() + "' is syntaxically incorrect"; + log.info( message ); + + throw new LdapInvalidAttributeValueException( message, ResultCodeEnum.INVALID_ATTRIBUTE_SYNTAX ); + } } } Modified: directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/interceptor/InterceptorChainTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/interceptor/InterceptorChainTest.java?view=diff&rev=528782&r1=528781&r2=528782 ============================================================================== --- directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/interceptor/InterceptorChainTest.java (original) +++ directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/interceptor/InterceptorChainTest.java Sat Apr 14 01:29:46 2007 @@ -296,10 +296,10 @@ } - public LdapDN getMatchedName ( NextInterceptor next, LdapDN name ) throws NamingException + public LdapDN getMatchedName ( NextInterceptor next, ServiceContext getMatchedDNContext ) throws NamingException { interceptors.add( this ); - return next.getMatchedName( name ); + return next.getMatchedName( getMatchedDNContext ); }