commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship" <hls...@comcast.net>
Subject RE: [HiveMind] extend BuildFactory to use static fields/methods
Date Thu, 02 Oct 2003 14:20:06 GMT
I just didn't list out the other primitive types (boolean, long, double, etc.)

<service-id/> would be the constructed service's id, as a string, alternative to <construct
service-id-property="..."/>

<service service-id="..."/> would be a reference to some other service, analagous to
<set-service
property="..." service-id="..."/>

--
Howard M. Lewis Ship
Creator, Tapestry: Java Web Components
http://jakarta.apache.org/tapestry
http://jakarta.apache.org/commons/sandbox/hivemind/
http://javatapestry.blogspot.com

> -----Original Message-----
> From: Harish Krishnaswamy [mailto:hkrishnaswamy@comcast.net] 
> Sent: Thursday, October 02, 2003 10:04 AM
> To: Jakarta Commons Developers List
> Subject: Re: [HiveMind] extend BuildFactory to use static 
> fields/methods
> 
> 
> 
> 
> Howard M. Lewis Ship wrote:
> 
> >This looks pretty darn good.  Just a few thoughts/observations:
> >
> >1) Could we just merge ConstructorFactory into BuilderFactory, to 
> >provide both sets of options (using constructors, then optionally 
> >setting properties).
> >
> I really like the idea as long as we have both the options.
> 
> >2) Could we use 
> >http://jakarta.apache.org/commons/beanutils/api/org/apache/co
> mmons/bean
> >utils/ConstructorUtils.html
> >to access the constructor (this applies to elsewhere in the 
> framework).  Method  public static
> >Object invokeConstructor(Class klass, Object[] args) seems 
> to do the trick, and I will be changing
> >other code to start using this.
> >3) The exception thrown on line 133 should be more 
> descriptive, come from HiveMind.properties, and
> >include the correct Location.
> >4) Need an update to framework/xdoc/BuilderFactory.xml to 
> describe new features (once merged into
> >BuilderFactory).
> >5) For the constructor arguments, would this look better:
> >
> >  <construct ...>
> >    <string>foo</string>
> >    <service>service-id</service>
> >    <configuration>config-id</configuration>
> >
> >??  Maybe, maybe not.
> >
> Don't we need the primitives? I think we do.
> 
> >6) What if the constructor expects the Log, Messages or 
> service id to 
> >be a parameter?  Need <log/> <messages/> <service-id/> elements.
> >
> How is <service> and <service-id> different? I think we will 
> need a way 
> to pass in everything that we can, so we may need <log> and 
> <messages> 
> too. Just my 2 cents.
> 
> >
> >--
> >Howard M. Lewis Ship
> >Creator, Tapestry: Java Web Components 
> >http://jakarta.apache.org/tapestry
> >http://jakarta.apache.org/commons/sandbox/hivemind/
> >http://javatapestry.blogspot.com
> >
> >  
> >
> >>-----Original Message-----
> >>From: news [mailto:news@sea.gmane.org] On Behalf Of Knut Wannheden
> >>Sent: Wednesday, October 01, 2003 6:56 PM
> >>To: commons-dev@jakarta.apache.org
> >>Subject: Re: [HiveMind] extend BuildFactory to use static
> >>fields/methods
> >>
> >>
> >>Howard,
> >>
> >>I found it was easiest to develop the service as part of the
> >>HiveMind project itself. That way I have all the classpaths 
> >>set up and could reuse the test harness, etc. Therefore I now 
> >>attach the additions and changes as a patch. If this isn't 
> >>convenient for you I will try to separate the code and send 
> >>it in a different form.
> >>
> >>--knut
> >>
> >>"Howard M. Lewis Ship" <hlship@comcast.net> wrote in message
> >>news:018301c38861$4044ecd0$6501a8c0@ALMIGHTYBEAST...
> >>    
> >>
> >>>I do like the idea of mixing the two models; write some tests and
> >>>we'll
> >>>      
> >>>
> >>see about integrating it
> >>    
> >>
> >>>with hivemind.BuilderFactory.
> >>>
> >>>--
> >>>Howard M. Lewis Ship
> >>>Creator, Tapestry: Java Web Components
> >>>http://jakarta.apache.org/tapestry
> >>>http://jakarta.apache.org/commons/sandbox/hivemind/
> >>>http://javatapestry.blogspot.com
> >>>
> >>>      
> >>>
> >>>>-----Original Message-----
> >>>>From: news [mailto:news@sea.gmane.org] On Behalf Of Knut Wannheden
> >>>>Sent: Wednesday, October 01, 2003 4:57 PM
> >>>>To: commons-dev@jakarta.apache.org
> >>>>Subject: Re: [HiveMind] extend BuildFactory to use static
> >>>>fields/methods
> >>>>
> >>>>
> >>>>I have written a service implementing this strategy, with a minor
> >>>>difference: I didn't add a nested <properties> as you proposed,
> >>>>instead the <set-...> elements are immedeate child elements. This

> >>>>way the service can be used everywhere hivemind.BuilderFactory is 
> >>>>used. E.g.
> >>>>
> >>>><construct class="...">
> >>>> <set-service service-id="..."/>
> >>>> <set-boolean .../>
> >>>> <int value="42"/>
> >>>> <set-int .../>
> >>>> <string value="foo"/>
> >>>></construct>
> >>>>
> >>>>The constructor parameter elements and property elements can be
> >>>>mixed freely, as long as the constructor parameter elements are 
> >>>>given in the same order as in the actual constructor. In 
> >>>>        
> >>>>
> >>this case:
> >>    
> >>
> >>>>int, String.
> >>>>
> >>>>The service supports the following constructor parameter
> >>>>elements: <string>, <int>, <long>, <boolean>,
<service>,
> >>>><configuration>, and <resource>.
> >>>>
> >>>>If anyone's interested I can supply the source. I just
> >>>>        
> >>>>
> >>thought I'd
> >>    
> >>
> >>>>write some more unit tests first...
> >>>>
> >>>>--knut
> >>>>
> >>>>"Christian Essl" <christianessl@yahoo.de> wrote in message
> >>>>news:oprwddvegswo6mmv@mail.yahoo.de...
> >>>>        
> >>>>
> >>>>>That would be realy helpful. Maybe we could add a
> >>>>>          
> >>>>>
> >><properties> tag
> >>    
> >>
> >>>>>which would include the current BuilderFactory tags and set the
> >>>>>properties after the service is constructed.
> >>>>>
> >>>>><contruct class="...">
> >>>>>  <service service-id="..."/>
> >>>>>  <configuration configuration-id="..."/>
> >>>>>  <int value="..."/>
> >>>>>  (etc.)
> >>>>>  <properties>
> >>>>><set-boolean .../>
> >>>>>(etc.)
> >>>>>  </properties>
> >>>>></construct>
> >>>>>
> >>>>>
> >>>>>On Wed, 1 Oct 2003 10:22:52 -0400, Howard M. Lewis Ship
> >>>>><hlship@comcast.net> wrote:
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>Maybe "ConstructorFactory"?  Something like:
> >>>>>>
> >>>>>><contruct class="...">
> >>>>>><service service-id="..."/>
> >>>>>><configuration configuration-id="..."/>
> >>>>>><int value="..."/>
> >>>>>>(etc.)
> >>>>>></construct>
> >>>>>>
> >>>>>>The elements inside the <construct> element are the
> >>>>>>            
> >>>>>>
> >>parameters
> >>    
> >>
> >>>>>>to the constructor.
> >>>>>>
> >>>>>>I'll be setting up a HiveMind:Contrib subproject shortly.  We
> >>>>>>can start putting stuff in there and then migrate it up to 
> >>>>>>library or framework if it proves to be popular
> >>>>>>            
> >>>>>>
> >>>>and
> >>>>        
> >>>>
> >>>>>>essential.
> >>>>>>
> >>>>>>--
> >>>>>>Howard M. Lewis Ship
> >>>>>>Creator, Tapestry: Java Web Components
> >>>>>>http://jakarta.apache.org/tapestry
> >>>>>>http://jakarta.apache.org/commons/sandbox/hivemind/
> >>>>>>http://javatapestry.blogspot.com
> >>>>>>
> >>>>>>            
> >>>>>>
> >>>>>>>-----Original Message-----
> >>>>>>>From: news [mailto:news@sea.gmane.org] On Behalf Of Knut
> >>>>>>>              
> >>>>>>>
> >>>>Wannheden
> >>>>        
> >>>>
> >>>>>>>Sent: Wednesday, October 01, 2003 10:18 AM
> >>>>>>>To: commons-dev@jakarta.apache.org
> >>>>>>>Subject: Re: [HiveMind] extend BuildFactory to use static
> >>>>>>>              
> >>>>>>>
> >>>>fields/methods
> >>>>        
> >>>>
> >>>>>>>Then how about a new factory service which lets you
> >>>>>>>              
> >>>>>>>
> >>specify the
> >>    
> >>
> >>>>>>>constructor parameters? This is also a very common
> >>>>>>>              
> >>>>>>>
> >>IoC pattern
> >>    
> >>
> >>>>>>>AFAIK.
> >>>>>>>
> >>>>>>>--knut
> >>>>>>>
> >>>>>>>"Howard M. Lewis Ship" <hlship@comcast.net> wrote in
message
> >>>>>>>              
> >>>>>>>
> >>>>>>news:016001c38821$2e575700$6501a8c0@ALMIGHTYBEAST...
> >>>>>>Outside of Kurt's use case ... wrapping around
> >>>>>>            
> >>>>>>
> >>machine-generated
> >>    
> >>
> >>>>>>code, I feel that this talk of accessing static
> >>>>>>            
> >>>>>>
> >>>>singletons is a step
> >>>>        
> >>>>
> >>>>>>backwards.
> >>>>>>
> >>>>>>The point of HiveMind is to eliminate those static
> >>>>>>            
> >>>>>>
> >>variables and
> >>    
> >>
> >>>>>>static inits, do things thread-safe and just-in-time.
> >>>>>>
> >>>>>>--
> >>>>>>Howard M. Lewis Ship
> >>>>>>Creator, Tapestry: Java Web Components
> >>>>>>            
> >>>>>>
> >>>>http://jakarta.apache.org/tapestry
> >>>>        
> >>>>
> >>>>>>http://jakarta.apache.org/commons/sandbox/hivemind/
> >>>>>>http://javatapestry.blogspot.com
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>            
> >>>>>>
> >>--------------------------------------------------------------------
> >>    
> >>
> >>>>>>-
> >>>>>>To unsubscribe, e-mail:
> >>>>>>commons-dev-unsubscribe@jakarta.apache.org
> >>>>>>For additional commands, e-mail:
> >>>>>>            
> >>>>>>
> >>>>commons-dev-help@jakarta.apache.org
> >>>>        
> >>>>
> >>>>>>
> >>>>>>            
> >>>>>>
> >>--------------------------------------------------------------------
> >>    
> >>
> >>>>>>-
> >>>>>>To unsubscribe, e-mail:
> >>>>>>commons-dev-unsubscribe@jakarta.apache.org
> >>>>>>For additional commands, e-mail:
> >>>>>>            
> >>>>>>
> >>>>commons-dev-help@jakarta.apache.org
> >>>>        
> >>>>
> >>>>>
> >>>>>--
> >>>>>Using M2, Opera's revolutionary e-mail client:
> >>>>>          
> >>>>>
> >>>http://www.opera.com/m2/
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>      
> >>>
> >>------------------------------------------------------------
> ---------
> >>    
> >>
> >>>To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> >>>For additional commands, e-mail: 
> commons-dev-help@jakarta.apache.org
> >>>      
> >>>
> >>
> >>    
> >>
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> >
> >
> >  
> >
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message