Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 30626 invoked from network); 24 Apr 2002 05:28:53 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 24 Apr 2002 05:28:53 -0000 Received: (qmail 8552 invoked by uid 97); 24 Apr 2002 05:29:01 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 8536 invoked by uid 97); 24 Apr 2002 05:29:00 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 8525 invoked from network); 24 Apr 2002 05:29:00 -0000 Content-Type: text/plain; charset="iso-8859-1" From: Adam Murdoch To: "Ant Developers List" Subject: Re: cvs commit: jakarta-ant-myrmidon/framework/src/java/org/apache/myrmidon/framework/filters LineFilter.java TokenSet.java Date: Wed, 24 Apr 2002 15:31:59 +1000 X-Mailer: KMail [version 1.4] References: <20020424022101.17099.qmail@icarus.apache.org> <200204241240.22743.adammurdoch@apache.org> <200204241346.50639.peter@apache.org> In-Reply-To: <200204241346.50639.peter@apache.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-Id: <200204241531.59138.adammurdoch@apache.org> X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N On Wed, 24 Apr 2002 13:46, Peter Donald wrote: > On Wed, 24 Apr 2002 12:40, Adam Murdoch wrote: > > On Wed, 24 Apr 2002 12:21, adammurdoch@apache.org wrote: > > > Log: > > > Combine role short and long names, so that a role has one name on= ly: > > Dont throw away the long names. If you are going to remove one version = of > the names then remove the short version as that s only a logical name w= hile > the Role name coresponds to interface classname. Yes, but using the classname becomes meaningless when the roles are sprea= d=20 across different classloaders, and becomes unworkable when multiple versi= ons=20 of the same role class need to be referred to (e.g. when multiple version= s of=20 an antlib are being used, or when multiple versions of the container api = are=20 being used). The other case where the classname convention isn't=20 particularly useful, is where the role is untyped, and has no associated=20 interface (as data-type might end up, say). Given these things, the long name is also just a logical name for the rol= e. =20 At the end of the day, the long and short names both have the same semant= ics=20 - each is simply a unique logical name for the role. The longer ones mea= n=20 less chance of name collision, the shorter ones are easier for humans to = use. =20 And neither of them really solve the problem. Hence going with the=20 shortname, and .. > The only purpose of the shortname is to make writing deployment descrip= tors > easier. It should not be used in our code at IMHO. There's also anywhere that a human needs to refer to a role. Right now,=20 there's and , but there's no reason we won't be adding more places. > > The plan here is to eventually redo role management, to deal with thi= ngs > > like name conflicts, scoping, and versioning. I want to wait until w= e've > > got something decent happening for the types, because we should, > > hopefully, be able to use the same infrastructure for roles (make 'em > > meta-types or something). > > Sounds good to me. We could also add in meta-info for roles so that we = can > specify converter as a type that requires metainfo parameters "source" = and > "destination". On it's way. > > In the meantime, using a single name for a role makes dealing > > with roles heaps simpler. > > I disagree but as long as you put the long names back in there I can li= ve > with it ;) You don't agree that using a single name is simpler than using 2 differen= t=20 names? (don't forget that the 2 names are not interchangable - you have t= o=20 remember which one you can use where, and know how to map short -> long a= nd=20 vice versa). Anyway, like I said, this wasn't intended to be the final solution, just = a=20 tidy-up of the way things currently work. I do think that many of these issues would simply go away if we were to d= o=20 most lookups by work interface (i.e. using a Class object), rather than a= =20 string 'name' (whever that means). Then, we could treat the role names a= s=20 human consumable aliases, and not use them programmatically. --=20 Adam -- To unsubscribe, e-mail: For additional commands, e-mail: