[ https://issues.apache.org/jira/browse/PLUTO-589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846967#action_12846967 ]
David Jencks commented on PLUTO-589: ------------------------------------ I think this is a limitation of EasyMock and a good design on the part of pluto. I don't really understand what the problem is. If I change the types in pluto's FilterType implementation of Filter to the interfaces rather than concrete types, e.g. lines 76 and 197 InitParamType >> InitParam everything is fine. The point of this kind of <? extends interface> is so concrete implementations can use their own specialized concrete types internally without having to cast them every time they are used, whereas the framework using the concrete implementation can use the interface. This seems to me like exactly the situation <? extends interface> was designed for. Am I missing something? > alter return types in org.apache.pluto.container.om.portlet.Filter? > ------------------------------------------------------------------- > > Key: PLUTO-589 > URL: https://issues.apache.org/jira/browse/PLUTO-589 > Project: Pluto > Issue Type: Improvement > Components: portlet container > Affects Versions: 2.0.0 > Reporter: Nicholas Blair > > The return type for the getInitParams() method in > org.apache.pluto.container.om.portlet.Filter is List<? extends InitParam>. > This presents an awkward scenario, one particularly present when creating > unit tests for a FilterChain implementation and attempting to create mock > Filter implementations. > The requirement that getInitParams return a class that implements an > interface _that extends_ InitParam. You cannot simply return a class that > implements InitParam; you would need to define your own custom interface that > extends InitParam, and implement your custom interface. > If the InitParam interface satisfactorily defines what's needed, the > getInitParams return should be a class that simply implements InitParam. > Is it possible to modify the return value for getInitParams to simply? > List<InitParam> > This also applies to the getDescriptions and getDisplayNames method in the > same class; both have return values of List<? extends someinterface>, it > should simply be List<interface>. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.