[
https://issues.apache.org/jira/browse/CXF-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Struberg updated CXF-7713:
-------------------------------
Description:
--- original ticket --
We're seeing some failures when running the JAX-RS 2.1 TCK - particularly
around the register method. The javadoc states that the implementation MUST
ignore the component if the call to register specifies a contract (interface)
that the component does not implement.
---
The original fix improved checks but did not properly detect all the nested
Interfaces.
This can now lead to not picking up Filters properly but ignoring them.
was:
We're seeing some failures when running the JAX-RS 2.1 TCK - particularly
around the register method. The javadoc states that the implementation MUST
ignore the component if the call to register specifies a contract (interface)
that the component does not implement.
So, for example, suppose somebody calls code like this:
public class MyProvider implements MessageBodyWriter<MyObject> ...
Client c = ClientBuilder.newClient();
c.register(MyProvider.class, ContainerRequestFilter.class); // should ignore
c.register(new MyProvider, ExceptionMapper.class, MessageBodyReader.class); //
should ignore
Map<Class, int> contractPriorityMap = new HashMap<>();
contractPriorityMap.put(ClientResponseFilter.class, 20);
c.register(MyProvider.class, contractPriorityMap); // should ignore
c.register(new MyProvider.class, contractPriorityMap); // should ignore
The TCK tests basically check that nothing gets registered when a passed-in
contract is not assignable to the provider class. And scenarios like the four
mentioned above are failing.
> CLONE - JAXRS CTS/TCK issue: register(...) should ignore components when
> invalid contracts are passed in
> ---------------------------------------------------------------------------------------------------------
>
> Key: CXF-7713
> URL: https://issues.apache.org/jira/browse/CXF-7713
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 3.2.2
> Reporter: Mark Struberg
> Assignee: Andy McCright
> Priority: Major
> Fix For: 3.2.3, 3.2.4
>
>
> --- original ticket --
> We're seeing some failures when running the JAX-RS 2.1 TCK - particularly
> around the register method. The javadoc states that the implementation MUST
> ignore the component if the call to register specifies a contract (interface)
> that the component does not implement.
> ---
> The original fix improved checks but did not properly detect all the nested
> Interfaces.
> This can now lead to not picking up Filters properly but ignoring them.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)