[ https://issues.apache.org/jira/browse/PLUTO-589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846716#action_12846716 ]
Nicholas Blair commented on PLUTO-589: -------------------------------------- Example test for a FilterChain impl, attempting to create a mock filter: Filter mockFilter = EasyMock.createMock(Filter.class); EasyMock.expect(mockFilter.getFilterClass()).andReturn("org.jasig.portal.portlet.container.MockRenderFilter"); EasyMock.expect(mockFilter.getFilterName()).andReturn("mockFilterName"); List<InitParam> params = new ArrayList<InitParam>(); EasyMock.expect(mockFilter.getInitParams()).andReturn(params); These lines will not compile, since the return type of getInitParams() does not match the type of the params variable. One cannot switch the params variable to a concrete implementation of InitParam, like so: List<InitParamType> params = new ArrayList<InitParamType>(); Also a compilation failure, due to type mismatch. This may simply be a problem to pin on EasyMock and not Pluto, however it is a somewhat awkward return type. > 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.