beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eddie O'Neil" <ekon...@bea.com>
Subject Re: Move the NetUI generic Factory in to the utils or core package?
Date Mon, 04 Jul 2005 22:53:52 GMT

   Coming a little late to the party, but a couple of comments...

1) how about putting the factory classes in 
org.apache.beehive.netui.core.factory?  This seems like infrastructure 
that could grow over time; would be nice to contain this growth in one 
place.  :)

2) it's great to have the ability to create a Factory object in a way 
that doesn't require XMLBeans.  In a world where a webapp's 
configuration lives inside of Spring or HiveMind, it seems good to keep 
knowledge of XMLBeans for config optional.  The method:

   Factory.getFactory(ServletContext, Class, FactoryConfig)

serves this purpose well.

3) how about splitting the static getFactory(...) methods out of the 
abstract Factory base class and into a separate utility class?  Just 
keeps these static factory methods (which some web-tier folks oppose) 
off of the Factory abstract base class.  Though, the name FactoryFactory 
bothers me for some reason.  :)

4) are Factory instances ever serialized?  It seems like they could be 
given that they're Serializable.  In the case where a Factory is 
serialized, is it up to a Factory client to reinit the ServletContext?




Rich Feit wrote:
> For my part, that sounds like a good place!
> Rich
> 
> Carlin Rogers wrote:
> 
>> Yes, thanks Rich.
>>
>> Also I was wondering if anyone felt strongly about where I move the 
>> Factory and FactoryConfig class. How about the
>> org.apache.beehive.netui.core package?
>>
>> Carlin
>>
>>
>> On 6/24/05, Rich Feit <richfeit@gmail.com> wrote:
>>  
>>
>>> I think you're right about all this -- seems like what needs to happen
>>> is that there should be a method like this:
>>>    public static Factory getFactory(ServletContext servletContext,
>>> Class factoryType, FactoryConfig config)
>>>
>>> which would be called by the current XmlBean-based getFactory().
>>>
>>> Sound good?
>>>
>>> Rich
>>>
>>> Carlin Rogers wrote:
>>>
>>>   
>>>
>>>> Sure, good idea. So the ServletContainerAdapter interface would
>>>> have a new method getFactory( Class factoryClass  ) where
>>>> Factory.class.isAssignableFrom( factoryClass ) must be true?
>>>>
>>>> In my case, URLTemplatesFactory would need to extend Factory
>>>> and would implement the init() method where I'd use the
>>>> static method Factory.getFactory(). I noted that the Factory
>>>> class implementation takes a PageflowFactory object
>>>> (which extends an xmlbeans XmlObject) as an argument to
>>>> the static getFactory() method containing a String
>>>> for the class name of the factory... and then uses
>>>> DiscoveryUtils to get a class loader. Not sure this jibes
>>>> with what you were asking for.
>>>>
>>>> For a generic Factory from the container adapter, I'm not sure
>>>> we'd always have an XmlObject to pass in. I'm now a little
>>>> confused as to how best to use the Factory class. Rich,
>>>> do you have more thoughts on this?
>>>>
>>>> Thanks,
>>>> Carlin
>>>>
>>>> On 6/24/05, Rich Feit <richfeit@gmail.com> wrote:
>>>>
>>>>
>>>>     
>>>>
>>>>> Hi Carlin,
>>>>>
>>>>> This makes sense to me.  As to getting a Factory from the
>>>>> ServletContainerAdapter, would it be possible to have the method
>>>>> signature take a base Class instead of String?  Seems like we can 
>>>>> avoid
>>>>> finding a classloader and loading the class each time, and in most 
>>>>> cases
>>>>> we'd be passing a statically-known Class.
>>>>>
>>>>> Rich
>>>>>
>>>>> Carlin Rogers wrote:
>>>>>
>>>>>
>>>>>
>>>>>       
>>>>>
>>>>>> All,
>>>>>>
>>>>>> I'm implementing a way to get a URLTemplateFactory from the
>>>>>> ServletContainerAdapter. However, I'm not sure a specific
>>>>>> method like this follows with the other methods that a
>>>>>> ServletContainerAdapter implementation provides.
>>>>>>
>>>>>> One thought would be I'd like to have a generic way to get
>>>>>> a Factory from the the ServletContainerAdapter given a
>>>>>> class name.
>>>>>>
>>>>>> We already do this using class names from the config file.
>>>>>> The generic Factory class is in the pageflow package.
>>>>>> It would be great to move this to the utils or core package
>>>>>> of NetUI. Then I could also add this to the ServletContainerAdapter.
>>>>>> I would also move the FactoryConfig class as well as we
>>>>>> already have other Config support in utils.
>>>>>>
>>>>>> I don't think Factory or FactoryConfig are used by or
>>>>>> exposed to beehive users. It should be a safe move to make.
>>>>>>
>>>>>> Opinions or concerns? Or other ideas for providing a generic
>>>>>> way to create a Factory from a container specific implementation?
>>>>>>
>>>>>> Thanks,
>>>>>> Carlin
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>         
>>>>
>>>>
>>>>     
>>
>>
>>  
>>
> 


Mime
View raw message