Return-Path: Delivered-To: apmail-beehive-dev-archive@www.apache.org Received: (qmail 81142 invoked from network); 3 Apr 2006 22:14:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 Apr 2006 22:14:08 -0000 Received: (qmail 15882 invoked by uid 500); 3 Apr 2006 22:14:07 -0000 Delivered-To: apmail-beehive-dev-archive@beehive.apache.org Received: (qmail 15858 invoked by uid 500); 3 Apr 2006 22:14:07 -0000 Mailing-List: contact dev-help@beehive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Beehive Developers" Delivered-To: mailing list dev@beehive.apache.org Received: (qmail 15847 invoked by uid 99); 3 Apr 2006 22:14:07 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Apr 2006 15:14:07 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of ekoneil@gmail.com designates 66.249.82.197 as permitted sender) Received: from [66.249.82.197] (HELO xproxy.gmail.com) (66.249.82.197) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Apr 2006 15:14:06 -0700 Received: by xproxy.gmail.com with SMTP id h26so891470wxd for ; Mon, 03 Apr 2006 15:13:45 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=uSDPDugCuzoZan+h0OoG1bHHXkUnSl0N61ShlWpb9Li8wffHZJccG5gTF1S1PRzyfRuB2JTd12DDbIgkB4O9XDXn6UjYRaS+H19aD9wAIVxd0QGQrYiwPTH7bh1JHEj/WlEwDzH3WJ9U5ay06q81nuxWPV1AlLiFkDJIaYSRXG4= Received: by 10.70.41.9 with SMTP id o9mr4192568wxo; Mon, 03 Apr 2006 15:13:45 -0700 (PDT) Received: by 10.70.38.14 with HTTP; Mon, 3 Apr 2006 15:13:45 -0700 (PDT) Message-ID: Date: Mon, 3 Apr 2006 16:13:45 -0600 From: "Eddie O'Neil" To: "Beehive Developers" Subject: Re: @Control and BEEHIVE-1087 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Oh, yeah -- good point. I shot that mail off w/o thinking about it much. :) Too bad it's not possible to constrain the annotation to have an "annotatedwith" keyword or something. Given that, you're right -- we'll leave it as is. Eddie On 4/3/06, Chad Schoettger wrote: > After taking a closer look, it appears that this won't work since a contr= ol > interface class does not extend the @ControlInterface annotation. > > - Chad > > On 4/3/06, Chad Schoettger wrote: > > > > Good point, I think it defnitily should, I'll go ahead and update it. > > > > - Chad > > > > > > On 4/3/06, Eddie O'Neil wrote: > > > > > > Chad-- > > > > > > Thanks for fixing that -- one question: Should the "interfaceHint" > > > annotation contain a generic wildcard like: > > > > > > Class interfaceHint() default > > > ControlInterface.class ; > > > > > > That way, the value of the type is constrained to be a subclass of > > > ControlInterface. > > > > > > Thoughts? > > > > > > Eddie > > > > > > > > > > > > On 3/31/06, Chad Schoettger wrote: > > > > Hey Eddie, > > > > > > > > I have some time to take look at this one. I'll go ahead and start > > > working > > > > on a fix, assuming no one on the list has any issues with this chan= ge. > > > > > > > > - Chad > > > > > > > > On 3/31/06, Eddie O'Neil wrote: > > > > > > > > > > Jess-- > > > > > > > > > > Heh...that's a pretty interesting problem. After looking at th= e > > > > > repro, it seems like this is the case that doesn't work: > > > > > > > > > > src/ > > > > > a/ > > > > > FooControl.java > > > > > FooControlImpl.java > > > > > b/ > > > > > FooControl.java > > > > > FooControlImpl.java > > > > > ControlClient.java > > > > > > > > > > where ControlClient has something like: > > > > > > > > > > @Control > > > > > private FooControlBean _fooControl; > > > > > > > > > > If I understand this correctly, the problem is that the > > > > > ControlClientAnnotationProcessor takes a best guess when it can't > > > find > > > > > an exact match for the name of the Control's interface type. > > > > > > > > > > An "interfaceHint" attribute would allow the AP a chance to > > > resolve > > > > > the type if the type isn't otherwise available from the field's > > > > > declaration. The above example would then look something like: > > > > > > > > > > @Control(interfaceHint=3Da.FooControl.class) > > > > > private FooControlBean _fooControl; > > > > > > > > > > This would give the AP an "out" (if you will) to handle cases lik= e > > > that > > > > > above. > > > > > > > > > > I'm fine making this addition -- thoughts from anyone else? > > > > > > > > > > Eddie > > > > > > > > > > > > > > > > > > > > > >