From commits-return-25732-apmail-directory-commits-archive=directory.apache.org@directory.apache.org Fri May 07 22:18:18 2010 Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 67449 invoked from network); 7 May 2010 22:18:18 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 7 May 2010 22:18:18 -0000 Received: (qmail 59285 invoked by uid 500); 7 May 2010 22:18:18 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 59247 invoked by uid 500); 7 May 2010 22:18:18 -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 59240 invoked by uid 99); 7 May 2010 22:18:18 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 May 2010 22:18:18 +0000 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; Fri, 07 May 2010 22:18:16 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 303D423889C5; Fri, 7 May 2010 22:17:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r942250 - /directory/apacheds/trunk/core-entry/src/main/java/org/apache/directory/server/core/entry/ClonedServerEntrySearch.java Date: Fri, 07 May 2010 22:17:19 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100507221719.303D423889C5@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: elecharny Date: Fri May 7 22:17:18 2010 New Revision: 942250 URL: http://svn.apache.org/viewvc?rev=942250&view=rev Log: Added a temporary class that will be used for search operation as a replacement for the default ClonedServerEntry. Some operation (probably rename) is modifying the ClonedServerEntry original entry, which is wrong and costly, as we have to clone it. It's not anymore the case with this hack, that should be fixed as soon as we have fixed the deviant behavior. Cf https://issues.apache.org/jira/browse/DIRSERVER-1499 Added: directory/apacheds/trunk/core-entry/src/main/java/org/apache/directory/server/core/entry/ClonedServerEntrySearch.java Added: directory/apacheds/trunk/core-entry/src/main/java/org/apache/directory/server/core/entry/ClonedServerEntrySearch.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-entry/src/main/java/org/apache/directory/server/core/entry/ClonedServerEntrySearch.java?rev=942250&view=auto ============================================================================== --- directory/apacheds/trunk/core-entry/src/main/java/org/apache/directory/server/core/entry/ClonedServerEntrySearch.java (added) +++ directory/apacheds/trunk/core-entry/src/main/java/org/apache/directory/server/core/entry/ClonedServerEntrySearch.java Fri May 7 22:17:18 2010 @@ -0,0 +1,54 @@ +/* + * 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.entry; + + +import org.apache.directory.shared.ldap.entry.Entry; + + +/** + * A ServerEntry refers to the original entry before being modified by + * EntryFilters or operations. + * + * TODO This class will be removed as soon as we will have fixed the + * way it's used for the osther operations (Add, Reanme, Modify). + * + * One of those operations is using this class and modify the original + * entry, whch is *wrong* + * + * @author Apache Directory Project + * @version $Rev$, $Date$ + */ +public class ClonedServerEntrySearch extends ClonedServerEntry +{ + /** + * Creates a new instance of ClonedServerEntry. + * + * The original entry is cloned in order to protect its content. + * + * @param originalEntry The original entry + */ + public ClonedServerEntrySearch( Entry originalEntry ) + { + super(); + this.originalEntry = originalEntry; + this.clonedEntry = ( Entry ) originalEntry.clone(); + } +}