Return-Path: X-Original-To: apmail-commons-dev-archive@www.apache.org Delivered-To: apmail-commons-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id ED4464388 for ; Fri, 10 Jun 2011 07:58:26 +0000 (UTC) Received: (qmail 12286 invoked by uid 500); 10 Jun 2011 07:58:26 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 12186 invoked by uid 500); 10 Jun 2011 07:58:26 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 12178 invoked by uid 99); 10 Jun 2011 07:58:26 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jun 2011 07:58:26 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gudnabrsam@gmail.com designates 209.85.161.171 as permitted sender) Received: from [209.85.161.171] (HELO mail-gx0-f171.google.com) (209.85.161.171) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jun 2011 07:58:20 +0000 Received: by gxk22 with SMTP id 22so1649896gxk.30 for ; Fri, 10 Jun 2011 00:57:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:reply-to:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=SFCGmcmyAsIlpr5k6lohS39lo10MYHuvgYo12NYizek=; b=F+lkpihEO2j2r892hwGKWLhIS1OShKKidt7Bsl1IcZdyWLllfe7lOx1t38Hu3o026R kBx7RgMu3al4mibvvvEA9a1A0cTudoweiomBs+qZDaliPLsPEuCLix52/syUnyIHzoQa 09BYpbjzl4DOIYoUzdOCVavZNhDfLDFNrwGPw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:content-type:content-transfer-encoding; b=O0KOxAkJQ4CJLUIP3gbbW8nmpMomKX1Mu8EMljVc1xIoz8GCuVRgqTkex51ucH2cJs EWiMAmktvQ9iEA95MjZ/chxeqrzelK5Rpc7qLcutUELURKJAp9b0zarnnqrx+kEg6Fox MzJkg3NmP/NKPfxx9Yw0LGTuCKdJb/i2HvCsQ= MIME-Version: 1.0 Received: by 10.151.155.11 with SMTP id h11mr2723242ybo.146.1307692679080; Fri, 10 Jun 2011 00:57:59 -0700 (PDT) Received: by 10.147.167.12 with HTTP; Fri, 10 Jun 2011 00:57:59 -0700 (PDT) Reply-To: gudnabrsam@gmail.com In-Reply-To: References: Date: Fri, 10 Jun 2011 02:57:59 -0500 Message-ID: Subject: Re: [DISCUSS] codebase looking for a place to be contributed to commons From: Matt Benson To: Commons Developers List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Fri, Jun 10, 2011 at 2:43 AM, Simone Tripodi wrote: > Hi all guys, > thanks for your interest!!! I think that joining our efforts we could > deliver yet another interesting apache-commons feature :) > > @Ralph: I had a look at your stuff and, indeed, yours and mine have a > lot in common!!! Times should be now mature enough to generalize that > concepts and provide a unique, apache-commons solution. > > @Stephen: I recently maintained Discovery but as far as I can > remember, there's no ClassPath scanning resolution. Anyway, sounds > that Discovery would be a good place where contributing the ClassPath > scanner... or not? > > OTOH, the class/annotation scanner could be contributed in Lang... though= ts? > > By the way, if you think it has to be a separate component, I could > start importing in Sanbox, for me it's fine as well!! > > Just a question: do I have to send the Software Grant, before we start > working on it? And we should open a vote, right? AFAIK, yes to both, because the code already exists out in the wild. By contrast, if you had simply started the code in the sandbox and written it there, no grant would be needed. :) Matt > Many thanks in advance, have a nice day!!! > Simo > > http://people.apache.org/~simonetripodi/ > http://www.99soft.org/ > > > > On Fri, Jun 10, 2011 at 9:30 AM, Stephen Colebourne > wrote: >> I've used scannotation before, which is reasonably well known I >> believe, but could probably be improved on. I think with multiple >> versions at Apache, it is a perfect concept for commons. I would check >> out [discovery] first to see if that has a similar goal. >> >> I'd set it up separately to [lang] first, to see how big it is. It >> feels a little frameworky, but may be suitable for inclusion. >> >> I also think that we should look to include ideas from the old [id] >> project into [lang], as [id] is never going to be released. >> >> Stephen >> >> >> On 10 June 2011 06:19, Ralph Goers wrote: >>> >>> On Jun 9, 2011, at 1:29 PM, Simone Tripodi wrote: >>> >>>> Hi all guys, >>>> before start working on Digester3 I experimented on GitHub, taking >>>> inspiration from Google Guice APIs, embedded EDSLs in configuration >>>> classess to solve 2 different kind of problems: >>>> >>>> * ClassPath scanning[1]: declare with fluent APIs a class path >>>> scanner, filering classes users are interested in via fluent logic >>>> language, and declaring actions have to be performed, once interested >>>> classes have found. We already discussed about that idea time ago, but >>>> it has been improved; >>>> >>>> * Class scanning[2]: Java users often create framework/libraries >>>> based on Java5 MetaData Annotations interpreted at runtime, the >>>> pattern they usually have to apply is: given a class, visiting all the >>>> class inheritance hierarchy, and getting fields/constructors/methods >>>> for each class; once found an (AnnotatedElement, Annotation) pair, >>>> they have to perform an action. >>>> So, the implemented classes aim to reduce the boilerplate and >>>> redundant code simply by declaring actions that have to be performed >>>> once the pairs =A0(AnnotatedElement, Annotation) are found. >>>> >>> >>> I accomplished this in the work I've been doing on Log4J 2.0 by borrowi= ng on some code I found somewhere else at Apache. You can see it at https:/= /svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rg= oers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins= /ResolverUtil.java. It is used by https://svn.apache.org/repos/asf/logging/= log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org= /apache/logging/log4j/core/config/plugins/PluginManager.java. >>> >>> Of course, I have no idea if these bear any relationship to what you ha= ve done. >>> >>> Ralph >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org >> For additional commands, e-mail: dev-help@commons.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org > For additional commands, e-mail: dev-help@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org For additional commands, e-mail: dev-help@commons.apache.org