beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlin Rogers <carlin.rog...@gmail.com>
Subject Re: Move the NetUI generic Factory in to the utils or core package?
Date Tue, 12 Jul 2005 21:58:01 GMT
Hi Eddie,

Thanks for the input.

1) Sure, I could move the factory classes from 
org.apache.beehive.netui.core down into 
org.apache.beehive.netui.core.factory. Easy enough.

2) Factory.getFactory(ServletContext, Class, FactoryConfig)
is already in the src trunk.

3) How about a class named FactoryUtils with the 
static factory methods?

4) yes, you're correct. From the javadoc on factory,
it the client would call reinit(), passing in the 
ServletContext.

Anyone have some additional thoughts? I can make these 
changes shortly and submit a patch for review if this looks
right.

Carlin

On 7/4/05, Eddie O'Neil <ekoneil@bea.com> wrote:
> 
>    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