Service decorations can fail if using the conventional naming
-------------------------------------------------------------
Key: TAP5-1305
URL: https://issues.apache.org/jira/browse/TAP5-1305
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-ioc
Affects Versions: 5.1.0.4
Reporter: Dan Adams
If you have a service FooBar and 2 modules that each have:
public static FooBar decorateFooBar(FooBar delegate, ...)
you will get a logging message like this:
[WARN] com.example.services.BazModule.FooBar Could not add object with
duplicate id 'FooBar'. The duplicate object has been ignored.
which results in one of the contributions (you don't know which one) being
dropped. This is because T5 uses an ordered contribution internally when
collecting the contributions and bases the id of the contribution based on the
method name (drops "decorate").
It should either fail with an exception and a good error or support this
behaviour. The problematic line is RegistryImpl.findDecoratorsForService (line
634).
The work-around is to use @Match("FooBar") on the method and name it something
different such as "decoratingWithMyThingy".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.