On Jun 2, 2010, at 3:16 PM, David Blevins wrote:

> 
> On Jun 2, 2010, at 2:57 PM, David Jencks wrote:
> 
>> 
>> On Jun 2, 2010, at 2:18 PM, David Blevins wrote:
>> 
>>> 
>>> On Jun 2, 2010, at 1:01 AM, [email protected] wrote:
>>> 
>>>> Author: djencks
>>>> Date: Wed Jun  2 08:01:03 2010
>>>> New Revision: 950412
>>>> 
>>>> URL: http://svn.apache.org/viewvc?rev=950412&view=rev
>>>> Log:
>>>> Use BundleAnnotationFinder in an osgi environment
>>>> 
>>>> Added:
>>>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AbstractAnnotationDeployer.java
>>>>    (with props)
>>>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/BundleAnnotationDeployer.java
>>>>   - copied, changed from r948270, 
>>>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
>>> 
>>> A heads-up would be good on a deep change like this.  I know Ivan and 
>>> Matthew are both about a week into iterative changes to AnnotationDeployer. 
>>>  I'm probably not much better :)
>> 
>> This seemed to me like a minor refactoring.  For AnnotationDeployer all the 
>> code except the creation of the actual module-wide Finder is moved unchanged 
>> into AbstractAnnotationDeployer, so it can be shared by a bundle-based 
>> approach.  I guess if you are actually working on the class it might not 
>> seem that way to you :-(
> 
> Hehe.  On a scale from 1 to 10, this counts as a "awe who really cares enough 
> to give it a number anyway" ;)
> 
>>> Any details on the basic difference (code wise), between AnnotationDeployer 
>>> and BundleAnnotationDeployer?  (going to be an hour or two before I get the 
>>> chance to take a good look).
>>> 
>> 
>> The only real difference is whether you use a classloader based ClassFinder 
>> or a bundle based BundleAnnotationFinder.  The openejb classes only use the 
>> methods implemented in the common AbstractFinder superclass.  In Openejb all 
>> the functionality is in the AbstractAnnotationDeployer class which is the 
>> same as the old AnnotationDeployer except for abstracting out creating the 
>> actual Finders.
> 
> Cool.  Might see if I can rework it to a smaller change (primarily for 
> patching and for merging to 3.1.x ease).  With the AbstractFinder 
> abstraction, seems like we don't need to abstract the entire 
> AnnotationDeployer, just the part that creates the finder.

Since you mentioned that there might be another way to do this, I realize it 
would work at least as well to put the abstract methods in a FinderFactory and 
inject it.  Not sure if I'll get to changing it today && will be out till 
probably monday..... go ahead if you think it's a good idea or if you have 
another way to do this.

thanks
david jencks

> 
> Anyway, still a good change!
> 
> Thanks, David!
> 
> 
> -David
> 

Reply via email to