You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Fritz Pröbstle (JIRA)" <de...@tapestry.apache.org> on 2008/06/27 15:24:45 UTC
[jira] Updated: (TAPESTRY-2486) Make
MessageBindingFactory,ComponentBindingFactory ... IOC-Services
[ https://issues.apache.org/jira/browse/TAPESTRY-2486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fritz Pröbstle updated TAPESTRY-2486:
-------------------------------------
Description:
My actual problem:
I would like to replace BindingConstants.MESSAGE with my own implemention.
This is currently not possible because MessageBindingFactory is not IOC Service. ( I could decorate it etc. but this is not enough for me)
General Solution :
Make MessageBindingFactory a IOC service then I could override with contributeAliasOverrides(...)
This may also make sence for other objects , which are currently instatiated with "new" in TapestryModule.java
Another soultion:
Allow MappedConfiguration.add to overwrite serviceId's ( with warning ).
-------------------------------------- instantiotion of MessageBindingFactory with "new" -----------------------------
public static void contributeBindingSource(MappedConfiguration<String, BindingFactory> configuration,
@InjectService("PropBindingFactory")
BindingFactory propBindingFactory,
ObjectLocator locator)
{
configuration.add(BindingConstants.LITERAL, new LiteralBindingFactory());
configuration.add(BindingConstants.PROP, propBindingFactory);
configuration.add(BindingConstants.COMPONENT, new ComponentBindingFactory());
configuration.add(BindingConstants.MESSAGE, new MessageBindingFactory());
configuration.add(BindingConstants.VALIDATE, locator.autobuild(ValidateBindingFactory.class));
configuration.add(BindingConstants.TRANSLATE, locator.autobuild(TranslateBindingFactory.class));
configuration.add(BindingConstants.BLOCK, new BlockBindingFactory());
configuration.add(BindingConstants.ASSET, locator.autobuild(AssetBindingFactory.class));
configuration.add(BindingConstants.VAR, new RenderVariableBindingFactory());
configuration.add(BindingConstants.NULLFIELDSTRATEGY,
locator.autobuild(NullFieldStrategyBindingFactory.class));
}
was:
My actual problem:
I would like to replace BindingConstants.MESSAGE with my own implemention.
This is currently not possible because MessageBindingFactory is not IOC Service. ( I could decorate it etc. but this is not enough for me)
Solution:
Make MessageBindingFactory a IOC service then I could override with contributeAliasOverrides(...)
General:
This may also make sence for other objects , which are currently instatiated with "new" in TapestryModule.java
-------------------------------------- instantiotion of MessageBindingFactory with "new" -----------------------------
public static void contributeBindingSource(MappedConfiguration<String, BindingFactory> configuration,
@InjectService("PropBindingFactory")
BindingFactory propBindingFactory,
ObjectLocator locator)
{
configuration.add(BindingConstants.LITERAL, new LiteralBindingFactory());
configuration.add(BindingConstants.PROP, propBindingFactory);
configuration.add(BindingConstants.COMPONENT, new ComponentBindingFactory());
configuration.add(BindingConstants.MESSAGE, new MessageBindingFactory());
configuration.add(BindingConstants.VALIDATE, locator.autobuild(ValidateBindingFactory.class));
configuration.add(BindingConstants.TRANSLATE, locator.autobuild(TranslateBindingFactory.class));
configuration.add(BindingConstants.BLOCK, new BlockBindingFactory());
configuration.add(BindingConstants.ASSET, locator.autobuild(AssetBindingFactory.class));
configuration.add(BindingConstants.VAR, new RenderVariableBindingFactory());
configuration.add(BindingConstants.NULLFIELDSTRATEGY,
locator.autobuild(NullFieldStrategyBindingFactory.class));
}
> Make MessageBindingFactory,ComponentBindingFactory ... IOC-Services
> --------------------------------------------------------------------
>
> Key: TAPESTRY-2486
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2486
> Project: Tapestry
> Issue Type: Improvement
> Components: tapestry-core
> Affects Versions: 5.0.13
> Reporter: Fritz Pröbstle
>
> My actual problem:
> I would like to replace BindingConstants.MESSAGE with my own implemention.
> This is currently not possible because MessageBindingFactory is not IOC Service. ( I could decorate it etc. but this is not enough for me)
> General Solution :
> Make MessageBindingFactory a IOC service then I could override with contributeAliasOverrides(...)
> This may also make sence for other objects , which are currently instatiated with "new" in TapestryModule.java
> Another soultion:
> Allow MappedConfiguration.add to overwrite serviceId's ( with warning ).
> -------------------------------------- instantiotion of MessageBindingFactory with "new" -----------------------------
> public static void contributeBindingSource(MappedConfiguration<String, BindingFactory> configuration,
> @InjectService("PropBindingFactory")
> BindingFactory propBindingFactory,
> ObjectLocator locator)
> {
> configuration.add(BindingConstants.LITERAL, new LiteralBindingFactory());
> configuration.add(BindingConstants.PROP, propBindingFactory);
> configuration.add(BindingConstants.COMPONENT, new ComponentBindingFactory());
> configuration.add(BindingConstants.MESSAGE, new MessageBindingFactory());
> configuration.add(BindingConstants.VALIDATE, locator.autobuild(ValidateBindingFactory.class));
> configuration.add(BindingConstants.TRANSLATE, locator.autobuild(TranslateBindingFactory.class));
> configuration.add(BindingConstants.BLOCK, new BlockBindingFactory());
> configuration.add(BindingConstants.ASSET, locator.autobuild(AssetBindingFactory.class));
> configuration.add(BindingConstants.VAR, new RenderVariableBindingFactory());
> configuration.add(BindingConstants.NULLFIELDSTRATEGY,
> locator.autobuild(NullFieldStrategyBindingFactory.class));
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org