>
> Why don't you just @Inject your SymbolProvider implementation in the place
> you need the mutable configurations and use it directly instead of using
> SymbolSource?

You are talking about injecting a service and calling it's methods for
values, correct ? Anyway, I guess I don't have another option.

But I actually have 2 providers so I think I'll inject a symbol source
instead to make it easier for me (I'm REALLY enjoying this framework !). Is
it ok to contribute the SystemProperties to my symbol source ? Because some
of my symbols needs to get expanded based on a JVM option. I think it's ok.

Also having the service injected instead of the value (Which could be an
immutable object) is more practical I suppose. The thing is that I'll have
to rollback a very wide range of changes that I've just did today :(

One more thing, although I'll follow your advice, but I still want to know
how to do this the *@Symbol* way. I tried to contribute a symbol object
provider with it's own symbol source and the symbol source it self has my
own symbol providers dealing with the database, but it isn't working. I'm
just trying to figure out my mistake.

@Contribute(MasterObjectProvider.class)
> public static void
> setupDBSYmbolObjectProviders(OrderedConfiguration<ObjectProvider>
> configuration) {
> configuration.addInstance("DBSymbol", DBSymbolObjectProvider.class,
> OrderConstraintBuilder.before("AnnotationBasedContributions").build());
> }


*DBSymbolObjectProvider* implements *ObjectProvider* and actually get's
built with my own symbol source. My symbol source is built this way:

public SymbolSource buildDBSymbolSource(@Named("IpkConfig") SymbolProvider
> ipkConfig, @Named("IxProConfig") SymbolProvider ixProConfig) {
> return new DBSymbolSource(Arrays.asList(ipkConfig, ixProConfig));
> }


But still my *DBSymbolObjectProvider* doesn't resolve any of my symbols.
It's queried to resolve objects but it never gets an *AnnotationProvider* with
a *@Symbol* annotation so it doesn't query the *SymbolSource* for symbols.
Why is that ?

Finally, I'm messing with tapestry's core :)

Thanks a lot for you help :)


On Mon, Sep 17, 2012 at 4:38 PM, Thiago H de Paula Figueiredo <
thiag...@gmail.com> wrote:

> On Mon, 17 Sep 2012 09:06:53 -0300, Muhammad Gelbana <m.gelb...@gmail.com>
> wrote:
>
>  Ok this is a problem now since I did a mistake by *assuming* that the
>> value is being fetched from the provider *whenever* it's referenced and
>> this is
>> allover my application now.
>>
>> Is there a way to override the caching mechanism for my own
>> *SymbolProviders* only ?
>>
>
> Answering the same question again, no. Why don't you just @Inject your
> SymbolProvider implementation in the place you need the mutable
> configurations and use it directly instead of using SymbolSource?
>
>  Also would someone please mention in the documentations that the default *
>> SymbolSource* *caches* resolved symbols.
>> http://tapestry.apache.org/**symbols.html<http://tapestry.apache.org/symbols.html>
>> http://tapestry.apache.org/**current/apidocs/org/apache/**
>> tapestry5/ioc/services/**SymbolSource.html<http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/SymbolSource.html>
>>
>
> Yeah, it could have been more explicit about that.
>
> --
> Thiago H. de Paula Figueiredo
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org>
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to