tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Howard Lewis Ship <hls...@gmail.com>
Subject Re: Tapestry 3.1 status
Date Wed, 03 Nov 2004 21:04:16 GMT
Currently, you can do:

<inject name="myProperty" object="service:mymodule.myService"/>

The key thing here is the "service:" prefix; that's what clues
HiveMInd in that the rest of the string is a service ID.

However, theres a configuration point, hivemind.ObjectProviders, that
allows you to supply your own prefixes and rules.

http://jakarta.apache.org/hivemind/hivemind/ObjectProviders.html

I will, when I catch my breath, add a spring: prefix to access Spring
beans. There'll be some other little bit of configuration to identify
where the Spring ApplicationContext is.

This approach is very nice; I'll also be adding a engine-service:
prefix to directly connect pages and components to Tapestry engine
services (which are now HiveMind services).  No more de-referencing
via the IRequestCycle and IEngine!


On Wed, 03 Nov 2004 15:11:56 -0500, Colin Sampaleanu <colinml1@exis.com> wrote:
> Howard,
> 
> Can you provide more details about how HiveMind is plugged in here? I'm
> interested in the possibility of injecting service objects from a Spring
> application context, ideally via the same element. The current approach
> that some people use, to get at Spring managed services, is to bind via
> the initial value on the <property> tag. That works, but is nowhere near
> as clean as this looks to be.
> 
> Regards,
> Colin
> 
> 
> 
> 
> Howard Lewis Ship wrote:
> 
> >Things are going quite nicely on the Tapestry 3.1 front.
> >
> >I just coded the <inject> specification element.  <inject> allows a
> >HiveMind service (or configuration, etc. ... it leverages the same
> >code as the object translator) to be injected into components as
> >component properties.  Example:
> >
> >  <inject name="mailSender" object="service:mymodule.MailSender"/>
> >  <inject name="toolbarItems"
> >object="configuration:app.ui.toolbar.ToolbarItems"/>
> >
> >Or even:
> >
> >  <inject name="directService" object="engine-service:direct"/>
> >
> >(I just have to add an ObjectProvider for the engine-service: prefix.
> >Piece of cake).
> >
> >What's great is that I'm getting 100% code coverage without resorting
> >to cumbersome integration tests (the mock unit tests, driven by the
> >.xml files).
> >
> >I'm very much looking forward to "throwing open the gates". I've been
> >having a struggle with Forrest 0.6 that I hope to resolve at some
> >point and I have a little bit of work involving parameters (getting
> >rid of parameter direction) and engine services.
> >
> >Tapestry is transforming yet again with the change from 3.0 to 3.1.
> >It's in my nature to only the see the faults in my work; so while I
> >delight in the news I hear of Tapestry adoption, I'm always concerned
> >that others will see its warts.  Perhaps I suffer from "next release
> >syndrome", but I think people will be hard pressed to find those warts
> >in 3.1!
> >
> >I think it will be useful for others to start discussing the work they
> >expect to start doing on 3.1.  Paul's talked about improving form
> >validation, as has Harish. Erik or MindBridge has talked about
> >retrofitting Foreach and Conditional to work inside Forms (as with
> >FormConditional and ListEdit today).  I've been thinking in terms of
> >dealing with many other issues with Forms, such as handling cancels,
> >and refreshes properly, and untangling the mess of event handlers on
> >the client side.
> >
> >There's the sad fact of all the documentation (particularily the new
> >component reference) that must be done ... this is currently hostage
> >to problems I'm having with Forrest 0.6.  All Tapestry 3.1
> >documentation will now be generated from Forrest .xml files; no raw
> >HTML, no DocBook.
> >
> >So far I've done exactly one component, Insert:
> >http://jakarta.apache.org/~hlship/tapestry/tapestry/ComponentReference/Insert.html
> >
> >There are placeholders for the other components in the framework.
> >There is nothing for the WML library, or for the components in the
> >contrib library.
> >
> >
> >
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> 
> 


-- 
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
http://howardlewisship.com

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


Mime
View raw message