Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 53253 invoked from network); 15 Apr 2007 15:28:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 15 Apr 2007 15:28:03 -0000 Received: (qmail 58311 invoked by uid 500); 15 Apr 2007 15:28:09 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 58266 invoked by uid 500); 15 Apr 2007 15:28:08 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 58255 invoked by uid 99); 15 Apr 2007 15:28:08 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 Apr 2007 08:28:08 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ole.ersoy@gmail.com designates 64.233.162.227 as permitted sender) Received: from [64.233.162.227] (HELO nz-out-0506.google.com) (64.233.162.227) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 Apr 2007 08:28:02 -0700 Received: by nz-out-0506.google.com with SMTP id i28so1012445nzi for ; Sun, 15 Apr 2007 08:27:41 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=maAdvgnvg83CPoJIiRm/DA5+pRMIJlSju5bD/JU7AbJPszLJDDSpfrNgjKroBWRfIYHkbQ0PCIzOiN36090OJ4opdXO+Yls21nKvM5wzh6cRwUUJJsfu5RdK8bCLB5TWkulc/SFzr6VxjUeIv0uXhXLdV8BIduIa3Fd3EwPgN60= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=tifyMkl9YKYF0fRBHzIU3tM9qJ9yo3H4apeUX2wo/uIhdKQT4CPym1WVh562NaIUQGE6aWjoCm2XjBTC/caar4p15vkTTpGd80/ssHEkoIV5XM4uc0+8W/lUiO7EnpvOBLOJbxTaursBRKNH6BpdTLn+PGAs0dDDHDpaCTf7t6w= Received: by 10.64.242.5 with SMTP id p5mr10062558qbh.1176650861225; Sun, 15 Apr 2007 08:27:41 -0700 (PDT) Received: from ?192.168.1.24? ( [24.13.179.233]) by mx.google.com with ESMTP id 38sm6640505nzf.2007.04.15.08.27.40; Sun, 15 Apr 2007 08:27:40 -0700 (PDT) Message-ID: <4622439D.108@gmail.com> Date: Sun, 15 Apr 2007 10:24:13 -0500 From: Ole Ersoy User-Agent: Thunderbird 1.5.0.10 (X11/20070302) MIME-Version: 1.0 To: Apache Directory Developers List Subject: Re: [Shared] shared-ldap is a mess References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org SNIP > (1) touch only as needed and contain until rewrite > (2) refactor gradually as best as we can without big bang or until we > realize that a big rewrite is needed later but still try to improve it > (3) ... any more ideas? How about this? We start with fresh Utility Classes. Each class is centered around a core concern, such as: Navigation IO (create, read, update, delete) Parsing Each method that goes in these classes has to be well documented (javadoc) and tested (All corner cases and edge conditions). We also follow an agreed upon set of conventions for defining the Utility packages and Class Names (And Ideally class members, but that requires more discussion to find conventions that are acceptable to all I think). I also need to look at Jakarta commons to see if they have other methodology that could be useful. We then generate Javadoc and put it in a central place, so that utility concern classes and methods are visible. When one of us needs a utility, and can't find it in the new shared utilities, we ask on the mailing list If no-one responds, the person needing it creates it and puts it in an existing utility class, or creates a new class corresponding to a new concern area. This allow a clean utility library to grow as needed by the team. I think it's essentially option [2]. Old utility methods can be replaced gradually. We just need to map old utility methods to the new ones, so that we know what to update. Thoughts? Cheers, - Ole