tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fritz Pröbstle (JIRA) <...@tapestry.apache.org>
Subject [jira] Updated: (TAPESTRY-2486) Make MessageBindingFactory,ComponentBindingFactory ... IOC-Services
Date Fri, 27 Jun 2008 13:24:45 GMT

     [ 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


Mime
View raw message