Product-line specific component messages

2014-07-30 Thread Stephan Windmüller
Hello, in our Tapestry application we have several product lines which require a different wording on the pages. My first thought was to provide my own implementation of the Messages service and set the product line in the Java Code with something like messages.setProductLine(Product

Re: Product-line specific component messages

2014-07-30 Thread Thiago H de Paula Figueiredo
On Wed, 30 Jul 2014 07:45:20 -0300, Stephan Windmüller wrote: Hello, Hi! in our Tapestry application we have several product lines which require a different wording on the pages. My first thought was to provide my own implementation of the Messages service and set the product line in

Re: Product-line specific component messages

2014-07-30 Thread Stephan Windmüller
Am 30.07.2014 um 14:14 schrieb Thiago H de Paula Figueiredo: Why don't you create your own 'productmessage' binding so you can write ${productmessage:title} and have it treated like you wrote messages.get("title")? That looks really promising, thank you for the detailed explanation! Here's a

Re: Product-line specific component messages

2014-07-30 Thread Thiago H de Paula Figueiredo
On Wed, 30 Jul 2014 10:02:55 -0300, Stephan Windmüller wrote: And here is my problem: The current product is selected based on the activation context. How can I modify the service based on the values of the context? @Inject private ProductService productService; void onActivate(...) {

Re: Product-line specific component messages

2014-07-30 Thread Stephan Windmüller
Am 30.07.2014 um 15:18 schrieb Thiago H de Paula Figueiredo: Don't forget productService must be a perthread service. Otherwise, any request for the current product will set it for all others and a mess will arise. I can imagine that. ;) To prevent this, I added "@Scope(ScopeConstants.PERTHRE

Re: Product-line specific component messages

2014-07-30 Thread Thiago H de Paula Figueiredo
On Wed, 30 Jul 2014 10:42:39 -0300, Stephan Windmüller wrote: Injecting the service in onActivate and setting the value does not work. Define "does not work". Did you debug your binding factory? Yes, and it seems that "newBinding" is only called once for each location and the value is c

Re: Product-line specific component messages

2014-07-30 Thread Stephan Windmüller
On 30.07.2014, Thiago H de Paula Figueiredo wrote: So, if you don't override this method, AbstractBinding subclasses are invariant and values get cached for performance. Create a VariantLiteralBinding subclass that overrides isInvariant() to return false, use instead of LiteralBinding and I gue

Re: Product-line specific component messages

2014-07-30 Thread Thiago H de Paula Figueiredo
On Wed, 30 Jul 2014 12:05:13 -0300, Stephan Windmüller wrote: It worked! Thank you very very much! Yay! Never done that myself. :p I had to extend AbstractBinding though, because LiteralBinding stores fixed values which are never altered. Good catch. :) Currently I am passing both Mes

beta15 breaks GAE

2014-07-30 Thread Jon Williams
hi *beta15 breaks GAE* ResourceTransformerFactoryImpl creates a File for the asset cache directory. This breaks my app in GAE, since creating a new File is prohibited. Is there a work around to this? Can I turn off the server side asset (File) cache?

Re: beta15 breaks GAE

2014-07-30 Thread Lance Java
Really? I'm surprised tapestry references java.util.File. Poor form if you ask me as it goes against j2ee principles. On 30 Jul 2014 18:42, "Jon Williams" wrote: > hi > > *beta15 breaks GAE* > > ResourceTransformerFactoryImpl creates a File for the asset cache > directory. > This breaks my app i

Re: beta15 breaks GAE

2014-07-30 Thread Jon Williams
java.io.File is the culprit On Wed, Jul 30, 2014 at 2:02 PM, Lance Java wrote: > Really? I'm surprised tapestry references java.util.File. Poor form if you > ask me as it goes against j2ee principles. > On 30 Jul 2014 18:42, "Jon Williams" wrote: > > > hi > > > > *beta15 breaks GAE* > > > > R

Re: beta15 breaks GAE

2014-07-30 Thread Lance Java
Please raise a jira, it looks like the cache is only used in development mode but still references File in production (thus breaking GAE). Perhaps a proper fix will involve a pluggable cache which does nothing in production mode. As a workaround you can override the ResourceTransformerFactory via

Re: beta15 breaks GAE

2014-07-30 Thread Lance Java
Note, this could also break non GAE environments since it calls mkdirs() on @Symbol(WebResourcesSymbols.CACHE_DIR). For example a unix server without write permission.

T5.4 indirectly is making my loins moist

2014-07-30 Thread Chris Mylonas
Hi Howard et al, I would like to pass on a message to everyone contributing to tapestry that your visions, problems and tenaciousness of making a fan-f***ing-tastic framework is making my loins moist. I've spent the greater part of the week investigating some of the "3rd party" technologies that