You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Nicolas Charles <nc...@linagora.com> on 2009/02/06 15:19:50 UTC

Localization in Services

Hello there,

I'm currently struggling with a proper way to use localization in a 
service. My need is fairly simple : i'm using t5-restful-webservices 
from Bill Holloway (by the way great job Bill) to offer REST services.
One of my service sends an email. The email is localized. Using the 
Asset for the body of the mail works great for its localization.
However the mail's subject is stored in the app.properties...

I cannot use the @Inject Messages to retrieve the oh-so-convenient 
Messages service ( Service id 'Messages' is not defined by any module. )

Thus my question is :
- How can i access to the app.properties from a given service ?

The best of the best would be to have a possibility to use Messages, but 
i'm open to any other solution

Regards,
Nick

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


Re: Localization in Services

Posted by Howard Lewis Ship <hl...@gmail.com>.
Possibly, that's a tack I take in a lot of the Tapestry code; passing
the component (actually the ComponentResources) around to gain access
to the component's identity and resources.

I had a lot of trouble with the naming here because from some
perspectives, the ComponentResources IS the component, and your code
is just the icing on the top (something I initially called the
"peer"). Of course, the CR is itself largely a facade around the very
internal ComponentPageElementImpl which is where most of the actual
component logic live ... and so it goes!


On Fri, Feb 6, 2009 at 1:54 PM, Blower, Andy
<An...@proquest.co.uk> wrote:
> Not sure how generally useful that would be, but it would solve the problem in an easy way.
>
> Thinking some more about this, would it not be easier to simply pass the messages from the page/component event handler method into the service method that's called to send the email?
>
>> -----Original Message-----
>> From: Howard Lewis Ship [mailto:hlship@gmail.com]
>> Sent: 06 February 2009 21:26
>> To: Tapestry users
>> Subject: Re: Localization in Services
>>
>> Which Messages resource would it inject?
>>
>> I suppose we could add the application's Messages object as an
>> injectable value.
>>
>> On Fri, Feb 6, 2009 at 1:04 PM, Blower, Andy
>> <An...@proquest.co.uk> wrote:
>> > I thought that it might be possible to use constructor injection to
>> inject the Messages resource just like you can with Logger. I take it
>> that this is not possible to provide in T5 because of
>> lifecycle/reloading issues then Howard?
>> >
>> >> -----Original Message-----
>> >> From: Howard Lewis Ship [mailto:hlship@gmail.com]
>> >> Sent: 06 February 2009 17:03
>> >> To: Tapestry users
>> >> Subject: Re: Localization in Services
>> >>
>> >> I would go a different route.
>> >>
>> >> Using the ComponentSource service, you can get any page in the
>> >> application as a Component instance.
>> >>
>> >> From that you can get the ComponentResources and from that, the
>> >> Messages object.
>> >>
>> >> Just be aware of the lifecycle: once you boost a Messages instance
>> out
>> >> of the component layer and into the services tier, you are moving it
>> >> out of Tapestry's ability to reload ... in other words, acquire the
>> >> Messages and use it briefly, but don't retain it for longer than a
>> >> single request.
>> >>
>> >> On Fri, Feb 6, 2009 at 7:24 AM, Nicolas Charles
>> <nc...@linagora.com>
>> >> wrote:
>> >> > Thanks for the tip Roberto, but I didn't succeed into adding the
>> >> > app.properties (or just i can't get the key, i don't know)
>> >> > And it feels strange to use the ValidationMessage for a standart
>> >> message
>> >> >
>> >> > Nick
>> >> >
>> >> > Tapestry Infodea wrote:
>> >> >>
>> >> >> I've forgetten a piece of code, you must contribute the
>> >> >> ValidationMessagesSource in your AppModule:
>> >> >>
>> >> >> public void
>> >> >> contributeValidationMessagesSource(OrderedConfiguration<String>
>> >> >> configuration) {
>> >> >> configuration.add("myprop", "it/infodea/app/internal/myprop");
>> >> >>    }
>> >> >>
>> >> >> and define myprop.properties in it/infodea/app/internal/
>> >> >>
>> >> >> Tapestry Infodea ha scritto:
>> >> >>>
>> >> >>> You can use the ValidationMessagesSource and ThreadLocale
>> services:
>> >> >>>
>> >> >>> ValidationMessagesSource validationMessagesSource;
>> >> >>>
>> >> >>> ThreadLocale threadLocale;
>> >> >>>
>> >> >>> Messages messages =
>> >> >>>
>> >>
>> validationMessagesSource.getValidationMessages(threadLocale.getLocale()
>> >> );
>> >> >>>
>> >> >>> Roberto.
>> >> >>>
>> >> >>>
>> >> >>> Nicolas Charles ha scritto:
>> >> >>>>
>> >> >>>> Hello there,
>> >> >>>>
>> >> >>>> I'm currently struggling with a proper way to use localization
>> in
>> >> a
>> >> >>>> service. My need is fairly simple : i'm using t5-restful-
>> >> webservices from
>> >> >>>> Bill Holloway (by the way great job Bill) to offer REST
>> services.
>> >> >>>> One of my service sends an email. The email is localized. Using
>> >> the
>> >> >>>> Asset for the body of the mail works great for its
>> localization.
>> >> >>>> However the mail's subject is stored in the app.properties...
>> >> >>>>
>> >> >>>> I cannot use the @Inject Messages to retrieve the oh-so-
>> convenient
>> >> >>>> Messages service ( Service id 'Messages' is not defined by any
>> >> module. )
>> >> >>>>
>> >> >>>> Thus my question is :
>> >> >>>> - How can i access to the app.properties from a given service ?
>> >> >>>>
>> >> >>>> The best of the best would be to have a possibility to use
>> >> Messages, but
>> >> >>>> i'm open to any other solution
>> >> >>>>
>> >> >>>> Regards,
>> >> >>>> Nick
>> >> >>>>
>> >> >>>> ---------------------------------------------------------------
>> ---
>> >> ---
>> >> >>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> >>>> For additional commands, e-mail: users-help@tapestry.apache.org
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>> ----------------------------------------------------------------
>> ---
>> >> --
>> >> >>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> >>> For additional commands, e-mail: users-help@tapestry.apache.org
>> >> >>>
>> >> >>
>> >> >>
>> >> >> -----------------------------------------------------------------
>> ---
>> >> -
>> >> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> >> For additional commands, e-mail: users-help@tapestry.apache.org
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > ------------------------------------------------------------------
>> ---
>> >> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> > For additional commands, e-mail: users-help@tapestry.apache.org
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Howard M. Lewis Ship
>> >>
>> >> Creator Apache Tapestry and Apache HiveMind
>> >>
>> >> --------------------------------------------------------------------
>> -
>> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> > For additional commands, e-mail: users-help@tapestry.apache.org
>> >
>> >
>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator Apache Tapestry and Apache HiveMind
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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


Re: Localization in Services

Posted by Nicolas Charles <nc...@linagora.com>.
Blower, Andy wrote:
> Not sure how generally useful that would be, but it would solve the problem in an easy way.
>
> Thinking some more about this, would it not be easier to simply pass the messages from the page/component event handler method into the service method that's called to send the email?
>   

that would be the convenient way, however i do not have page or 
component. It's a REST web service, so there is no Tapestry injection or 
call from a Tapestry with messages injected.



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


RE: Localization in Services

Posted by "Blower, Andy" <An...@proquest.co.uk>.
Not sure how generally useful that would be, but it would solve the problem in an easy way.

Thinking some more about this, would it not be easier to simply pass the messages from the page/component event handler method into the service method that's called to send the email?

> -----Original Message-----
> From: Howard Lewis Ship [mailto:hlship@gmail.com]
> Sent: 06 February 2009 21:26
> To: Tapestry users
> Subject: Re: Localization in Services
> 
> Which Messages resource would it inject?
> 
> I suppose we could add the application's Messages object as an
> injectable value.
> 
> On Fri, Feb 6, 2009 at 1:04 PM, Blower, Andy
> <An...@proquest.co.uk> wrote:
> > I thought that it might be possible to use constructor injection to
> inject the Messages resource just like you can with Logger. I take it
> that this is not possible to provide in T5 because of
> lifecycle/reloading issues then Howard?
> >
> >> -----Original Message-----
> >> From: Howard Lewis Ship [mailto:hlship@gmail.com]
> >> Sent: 06 February 2009 17:03
> >> To: Tapestry users
> >> Subject: Re: Localization in Services
> >>
> >> I would go a different route.
> >>
> >> Using the ComponentSource service, you can get any page in the
> >> application as a Component instance.
> >>
> >> From that you can get the ComponentResources and from that, the
> >> Messages object.
> >>
> >> Just be aware of the lifecycle: once you boost a Messages instance
> out
> >> of the component layer and into the services tier, you are moving it
> >> out of Tapestry's ability to reload ... in other words, acquire the
> >> Messages and use it briefly, but don't retain it for longer than a
> >> single request.
> >>
> >> On Fri, Feb 6, 2009 at 7:24 AM, Nicolas Charles
> <nc...@linagora.com>
> >> wrote:
> >> > Thanks for the tip Roberto, but I didn't succeed into adding the
> >> > app.properties (or just i can't get the key, i don't know)
> >> > And it feels strange to use the ValidationMessage for a standart
> >> message
> >> >
> >> > Nick
> >> >
> >> > Tapestry Infodea wrote:
> >> >>
> >> >> I've forgetten a piece of code, you must contribute the
> >> >> ValidationMessagesSource in your AppModule:
> >> >>
> >> >> public void
> >> >> contributeValidationMessagesSource(OrderedConfiguration<String>
> >> >> configuration) {
> >> >> configuration.add("myprop", "it/infodea/app/internal/myprop");
> >> >>    }
> >> >>
> >> >> and define myprop.properties in it/infodea/app/internal/
> >> >>
> >> >> Tapestry Infodea ha scritto:
> >> >>>
> >> >>> You can use the ValidationMessagesSource and ThreadLocale
> services:
> >> >>>
> >> >>> ValidationMessagesSource validationMessagesSource;
> >> >>>
> >> >>> ThreadLocale threadLocale;
> >> >>>
> >> >>> Messages messages =
> >> >>>
> >>
> validationMessagesSource.getValidationMessages(threadLocale.getLocale()
> >> );
> >> >>>
> >> >>> Roberto.
> >> >>>
> >> >>>
> >> >>> Nicolas Charles ha scritto:
> >> >>>>
> >> >>>> Hello there,
> >> >>>>
> >> >>>> I'm currently struggling with a proper way to use localization
> in
> >> a
> >> >>>> service. My need is fairly simple : i'm using t5-restful-
> >> webservices from
> >> >>>> Bill Holloway (by the way great job Bill) to offer REST
> services.
> >> >>>> One of my service sends an email. The email is localized. Using
> >> the
> >> >>>> Asset for the body of the mail works great for its
> localization.
> >> >>>> However the mail's subject is stored in the app.properties...
> >> >>>>
> >> >>>> I cannot use the @Inject Messages to retrieve the oh-so-
> convenient
> >> >>>> Messages service ( Service id 'Messages' is not defined by any
> >> module. )
> >> >>>>
> >> >>>> Thus my question is :
> >> >>>> - How can i access to the app.properties from a given service ?
> >> >>>>
> >> >>>> The best of the best would be to have a possibility to use
> >> Messages, but
> >> >>>> i'm open to any other solution
> >> >>>>
> >> >>>> Regards,
> >> >>>> Nick
> >> >>>>
> >> >>>> ---------------------------------------------------------------
> ---
> >> ---
> >> >>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> >>>> For additional commands, e-mail: users-help@tapestry.apache.org
> >> >>>>
> >> >>>
> >> >>>
> >> >>> ----------------------------------------------------------------
> ---
> >> --
> >> >>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> >>> For additional commands, e-mail: users-help@tapestry.apache.org
> >> >>>
> >> >>
> >> >>
> >> >> -----------------------------------------------------------------
> ---
> >> -
> >> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >> > ------------------------------------------------------------------
> ---
> >> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> > For additional commands, e-mail: users-help@tapestry.apache.org
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Howard M. Lewis Ship
> >>
> >> Creator Apache Tapestry and Apache HiveMind
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> 
> 
> 
> --
> Howard M. Lewis Ship
> 
> Creator Apache Tapestry and Apache HiveMind
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


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


Re: Localization in Services

Posted by Howard Lewis Ship <hl...@gmail.com>.
Which Messages resource would it inject?

I suppose we could add the application's Messages object as an injectable value.

On Fri, Feb 6, 2009 at 1:04 PM, Blower, Andy
<An...@proquest.co.uk> wrote:
> I thought that it might be possible to use constructor injection to inject the Messages resource just like you can with Logger. I take it that this is not possible to provide in T5 because of lifecycle/reloading issues then Howard?
>
>> -----Original Message-----
>> From: Howard Lewis Ship [mailto:hlship@gmail.com]
>> Sent: 06 February 2009 17:03
>> To: Tapestry users
>> Subject: Re: Localization in Services
>>
>> I would go a different route.
>>
>> Using the ComponentSource service, you can get any page in the
>> application as a Component instance.
>>
>> From that you can get the ComponentResources and from that, the
>> Messages object.
>>
>> Just be aware of the lifecycle: once you boost a Messages instance out
>> of the component layer and into the services tier, you are moving it
>> out of Tapestry's ability to reload ... in other words, acquire the
>> Messages and use it briefly, but don't retain it for longer than a
>> single request.
>>
>> On Fri, Feb 6, 2009 at 7:24 AM, Nicolas Charles <nc...@linagora.com>
>> wrote:
>> > Thanks for the tip Roberto, but I didn't succeed into adding the
>> > app.properties (or just i can't get the key, i don't know)
>> > And it feels strange to use the ValidationMessage for a standart
>> message
>> >
>> > Nick
>> >
>> > Tapestry Infodea wrote:
>> >>
>> >> I've forgetten a piece of code, you must contribute the
>> >> ValidationMessagesSource in your AppModule:
>> >>
>> >> public void
>> >> contributeValidationMessagesSource(OrderedConfiguration<String>
>> >> configuration) {
>> >> configuration.add("myprop", "it/infodea/app/internal/myprop");
>> >>    }
>> >>
>> >> and define myprop.properties in it/infodea/app/internal/
>> >>
>> >> Tapestry Infodea ha scritto:
>> >>>
>> >>> You can use the ValidationMessagesSource and ThreadLocale services:
>> >>>
>> >>> ValidationMessagesSource validationMessagesSource;
>> >>>
>> >>> ThreadLocale threadLocale;
>> >>>
>> >>> Messages messages =
>> >>>
>> validationMessagesSource.getValidationMessages(threadLocale.getLocale()
>> );
>> >>>
>> >>> Roberto.
>> >>>
>> >>>
>> >>> Nicolas Charles ha scritto:
>> >>>>
>> >>>> Hello there,
>> >>>>
>> >>>> I'm currently struggling with a proper way to use localization in
>> a
>> >>>> service. My need is fairly simple : i'm using t5-restful-
>> webservices from
>> >>>> Bill Holloway (by the way great job Bill) to offer REST services.
>> >>>> One of my service sends an email. The email is localized. Using
>> the
>> >>>> Asset for the body of the mail works great for its localization.
>> >>>> However the mail's subject is stored in the app.properties...
>> >>>>
>> >>>> I cannot use the @Inject Messages to retrieve the oh-so-convenient
>> >>>> Messages service ( Service id 'Messages' is not defined by any
>> module. )
>> >>>>
>> >>>> Thus my question is :
>> >>>> - How can i access to the app.properties from a given service ?
>> >>>>
>> >>>> The best of the best would be to have a possibility to use
>> Messages, but
>> >>>> i'm open to any other solution
>> >>>>
>> >>>> Regards,
>> >>>> Nick
>> >>>>
>> >>>> ------------------------------------------------------------------
>> ---
>> >>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >>>> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>>>
>> >>>
>> >>>
>> >>> -------------------------------------------------------------------
>> --
>> >>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >>> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>>
>> >>
>> >>
>> >> --------------------------------------------------------------------
>> -
>> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> > For additional commands, e-mail: users-help@tapestry.apache.org
>> >
>> >
>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator Apache Tapestry and Apache HiveMind
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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


RE: Localization in Services

Posted by "Blower, Andy" <An...@proquest.co.uk>.
I thought that it might be possible to use constructor injection to inject the Messages resource just like you can with Logger. I take it that this is not possible to provide in T5 because of lifecycle/reloading issues then Howard?

> -----Original Message-----
> From: Howard Lewis Ship [mailto:hlship@gmail.com]
> Sent: 06 February 2009 17:03
> To: Tapestry users
> Subject: Re: Localization in Services
> 
> I would go a different route.
> 
> Using the ComponentSource service, you can get any page in the
> application as a Component instance.
> 
> From that you can get the ComponentResources and from that, the
> Messages object.
> 
> Just be aware of the lifecycle: once you boost a Messages instance out
> of the component layer and into the services tier, you are moving it
> out of Tapestry's ability to reload ... in other words, acquire the
> Messages and use it briefly, but don't retain it for longer than a
> single request.
> 
> On Fri, Feb 6, 2009 at 7:24 AM, Nicolas Charles <nc...@linagora.com>
> wrote:
> > Thanks for the tip Roberto, but I didn't succeed into adding the
> > app.properties (or just i can't get the key, i don't know)
> > And it feels strange to use the ValidationMessage for a standart
> message
> >
> > Nick
> >
> > Tapestry Infodea wrote:
> >>
> >> I've forgetten a piece of code, you must contribute the
> >> ValidationMessagesSource in your AppModule:
> >>
> >> public void
> >> contributeValidationMessagesSource(OrderedConfiguration<String>
> >> configuration) {
> >> configuration.add("myprop", "it/infodea/app/internal/myprop");
> >>    }
> >>
> >> and define myprop.properties in it/infodea/app/internal/
> >>
> >> Tapestry Infodea ha scritto:
> >>>
> >>> You can use the ValidationMessagesSource and ThreadLocale services:
> >>>
> >>> ValidationMessagesSource validationMessagesSource;
> >>>
> >>> ThreadLocale threadLocale;
> >>>
> >>> Messages messages =
> >>>
> validationMessagesSource.getValidationMessages(threadLocale.getLocale()
> );
> >>>
> >>> Roberto.
> >>>
> >>>
> >>> Nicolas Charles ha scritto:
> >>>>
> >>>> Hello there,
> >>>>
> >>>> I'm currently struggling with a proper way to use localization in
> a
> >>>> service. My need is fairly simple : i'm using t5-restful-
> webservices from
> >>>> Bill Holloway (by the way great job Bill) to offer REST services.
> >>>> One of my service sends an email. The email is localized. Using
> the
> >>>> Asset for the body of the mail works great for its localization.
> >>>> However the mail's subject is stored in the app.properties...
> >>>>
> >>>> I cannot use the @Inject Messages to retrieve the oh-so-convenient
> >>>> Messages service ( Service id 'Messages' is not defined by any
> module. )
> >>>>
> >>>> Thus my question is :
> >>>> - How can i access to the app.properties from a given service ?
> >>>>
> >>>> The best of the best would be to have a possibility to use
> Messages, but
> >>>> i'm open to any other solution
> >>>>
> >>>> Regards,
> >>>> Nick
> >>>>
> >>>> ------------------------------------------------------------------
> ---
> >>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >>>> For additional commands, e-mail: users-help@tapestry.apache.org
> >>>>
> >>>
> >>>
> >>> -------------------------------------------------------------------
> --
> >>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >>> For additional commands, e-mail: users-help@tapestry.apache.org
> >>>
> >>
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >>
> >>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> 
> 
> 
> --
> Howard M. Lewis Ship
> 
> Creator Apache Tapestry and Apache HiveMind
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


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


Re: Localization in Services

Posted by Howard Lewis Ship <hl...@gmail.com>.
I would go a different route.

Using the ComponentSource service, you can get any page in the
application as a Component instance.

>From that you can get the ComponentResources and from that, the Messages object.

Just be aware of the lifecycle: once you boost a Messages instance out
of the component layer and into the services tier, you are moving it
out of Tapestry's ability to reload ... in other words, acquire the
Messages and use it briefly, but don't retain it for longer than a
single request.

On Fri, Feb 6, 2009 at 7:24 AM, Nicolas Charles <nc...@linagora.com> wrote:
> Thanks for the tip Roberto, but I didn't succeed into adding the
> app.properties (or just i can't get the key, i don't know)
> And it feels strange to use the ValidationMessage for a standart message
>
> Nick
>
> Tapestry Infodea wrote:
>>
>> I've forgetten a piece of code, you must contribute the
>> ValidationMessagesSource in your AppModule:
>>
>> public void
>> contributeValidationMessagesSource(OrderedConfiguration<String>
>> configuration) {
>> configuration.add("myprop", "it/infodea/app/internal/myprop");
>>    }
>>
>> and define myprop.properties in it/infodea/app/internal/
>>
>> Tapestry Infodea ha scritto:
>>>
>>> You can use the ValidationMessagesSource and ThreadLocale services:
>>>
>>> ValidationMessagesSource validationMessagesSource;
>>>
>>> ThreadLocale threadLocale;
>>>
>>> Messages messages =
>>> validationMessagesSource.getValidationMessages(threadLocale.getLocale());
>>>
>>> Roberto.
>>>
>>>
>>> Nicolas Charles ha scritto:
>>>>
>>>> Hello there,
>>>>
>>>> I'm currently struggling with a proper way to use localization in a
>>>> service. My need is fairly simple : i'm using t5-restful-webservices from
>>>> Bill Holloway (by the way great job Bill) to offer REST services.
>>>> One of my service sends an email. The email is localized. Using the
>>>> Asset for the body of the mail works great for its localization.
>>>> However the mail's subject is stored in the app.properties...
>>>>
>>>> I cannot use the @Inject Messages to retrieve the oh-so-convenient
>>>> Messages service ( Service id 'Messages' is not defined by any module. )
>>>>
>>>> Thus my question is :
>>>> - How can i access to the app.properties from a given service ?
>>>>
>>>> The best of the best would be to have a possibility to use Messages, but
>>>> i'm open to any other solution
>>>>
>>>> Regards,
>>>> Nick
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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


Re: Localization in Services

Posted by Nicolas Charles <nc...@linagora.com>.
Thanks for the tip Roberto, but I didn't succeed into adding the 
app.properties (or just i can't get the key, i don't know)
And it feels strange to use the ValidationMessage for a standart message

Nick

Tapestry Infodea wrote:
> I've forgetten a piece of code, you must contribute the 
> ValidationMessagesSource in your AppModule:
>
> public void 
> contributeValidationMessagesSource(OrderedConfiguration<String> 
> configuration) {
> configuration.add("myprop", "it/infodea/app/internal/myprop");
>     }
>
> and define myprop.properties in it/infodea/app/internal/
>
> Tapestry Infodea ha scritto:
>> You can use the ValidationMessagesSource and ThreadLocale services:
>>
>> ValidationMessagesSource validationMessagesSource;
>>
>> ThreadLocale threadLocale;
>>
>> Messages messages = 
>> validationMessagesSource.getValidationMessages(threadLocale.getLocale()); 
>>
>>
>> Roberto.
>>
>>
>> Nicolas Charles ha scritto:
>>> Hello there,
>>>
>>> I'm currently struggling with a proper way to use localization in a 
>>> service. My need is fairly simple : i'm using t5-restful-webservices 
>>> from Bill Holloway (by the way great job Bill) to offer REST services.
>>> One of my service sends an email. The email is localized. Using the 
>>> Asset for the body of the mail works great for its localization.
>>> However the mail's subject is stored in the app.properties...
>>>
>>> I cannot use the @Inject Messages to retrieve the oh-so-convenient 
>>> Messages service ( Service id 'Messages' is not defined by any 
>>> module. )
>>>
>>> Thus my question is :
>>> - How can i access to the app.properties from a given service ?
>>>
>>> The best of the best would be to have a possibility to use Messages, 
>>> but i'm open to any other solution
>>>
>>> Regards,
>>> Nick
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
>


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


Re: Localization in Services

Posted by Tapestry Infodea <ta...@infodea.it>.
I've forgetten a piece of code, you must contribute the 
ValidationMessagesSource in your AppModule:

public void 
contributeValidationMessagesSource(OrderedConfiguration<String> 
configuration) {
configuration.add("myprop", "it/infodea/app/internal/myprop");
	}

and define myprop.properties in it/infodea/app/internal/

Tapestry Infodea ha scritto:
> You can use the ValidationMessagesSource and ThreadLocale services:
> 
> ValidationMessagesSource validationMessagesSource;
> 
> ThreadLocale threadLocale;
> 
> Messages messages = 
> validationMessagesSource.getValidationMessages(threadLocale.getLocale());
> 
> Roberto.
> 
> 
> Nicolas Charles ha scritto:
>> Hello there,
>>
>> I'm currently struggling with a proper way to use localization in a 
>> service. My need is fairly simple : i'm using t5-restful-webservices 
>> from Bill Holloway (by the way great job Bill) to offer REST services.
>> One of my service sends an email. The email is localized. Using the 
>> Asset for the body of the mail works great for its localization.
>> However the mail's subject is stored in the app.properties...
>>
>> I cannot use the @Inject Messages to retrieve the oh-so-convenient 
>> Messages service ( Service id 'Messages' is not defined by any module. )
>>
>> Thus my question is :
>> - How can i access to the app.properties from a given service ?
>>
>> The best of the best would be to have a possibility to use Messages, 
>> but i'm open to any other solution
>>
>> Regards,
>> Nick
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


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


Re: Localization in Services

Posted by Tapestry Infodea <ta...@infodea.it>.
You can use the ValidationMessagesSource and ThreadLocale services:

ValidationMessagesSource validationMessagesSource;

ThreadLocale threadLocale;

Messages messages = 
validationMessagesSource.getValidationMessages(threadLocale.getLocale());

Roberto.


Nicolas Charles ha scritto:
> Hello there,
> 
> I'm currently struggling with a proper way to use localization in a 
> service. My need is fairly simple : i'm using t5-restful-webservices 
> from Bill Holloway (by the way great job Bill) to offer REST services.
> One of my service sends an email. The email is localized. Using the 
> Asset for the body of the mail works great for its localization.
> However the mail's subject is stored in the app.properties...
> 
> I cannot use the @Inject Messages to retrieve the oh-so-convenient 
> Messages service ( Service id 'Messages' is not defined by any module. )
> 
> Thus my question is :
> - How can i access to the app.properties from a given service ?
> 
> The best of the best would be to have a possibility to use Messages, but 
> i'm open to any other solution
> 
> Regards,
> Nick
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


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