[
https://issues.apache.org/jira/browse/WICKET-6092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15135012#comment-15135012
]
Martin Grigorov commented on WICKET-6092:
-----------------------------------------
Hm.
I don't see why such error is thrown. It is perfectly valid to return more
specific type in a specialization class.
Could you please provide a test case that fails?
The problem is that this change will break API, and some applications which
already use this wrong API will be broken with next release of 6.x/7.x.
> MockHttpServletResponse causes AbstractMethodError during unit tests
> --------------------------------------------------------------------
>
> Key: WICKET-6092
> URL: https://issues.apache.org/jira/browse/WICKET-6092
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.21.0, 7.2.0
> Reporter: Jeremy Sss
> Assignee: Martin Grigorov
> Priority: Minor
>
> As early as Wicket 6.x the Wicket documentation has specified that it
> supports Java's Servlet API v2.5 or newer
> (https://wicket.apache.org/start/wicket-6.x.html#servlet-api). Java's Servlet
> API v3.x specifies that classes who implement the HttpServletResponse
> interface must implement the getHeaderNames() method which returns the type
> Collection<String>
> (http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponseWrapper.html#getHeaderNames--).
> While preforming unit tests using WicketTester, Wicket helpfully uses the
> MockHttpServletResponse class which defines a getHeaderNames() method that
> returns type Set<String>
> (https://ci.apache.org/projects/wicket/apidocs/7.x/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.html#getHeaderNames()).
>
> While running unit tests for code that makes use of the getHeaderNames()
> method, an AbstractMethodError is thrown due to the incorrect method
> signature. Wicket's MockHttpServletResponse should implement and override the
> getHeaderNames() method with the same signature as defined in
> HttpServletResponse.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)