[ 
https://issues.apache.org/jira/browse/TAPESTRY-2486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship reassigned TAPESTRY-2486:
----------------------------------------------

    Assignee: Howard M. Lewis Ship

> 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
>            Assignee: Howard M. Lewis Ship
>
> 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 decorateComponentMessageSsource  etc. but this is not 
> enough for me, because i need access to the ComponentResources  )
> 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
> http://tapestry.apache.org/tapestry5/tapestry-ioc/overview.html says:
> "The problem with new is that it rigidly connects one implementation to 
> another implementation. Let's follow a progression that reflects how a lot of 
> projects get written. It will show that in the real world, new is not as 
> simple as it first seems." :)
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to