[ 
https://issues.apache.org/jira/browse/CXF-7638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16357472#comment-16357472
 ] 

Andy McCright commented on CXF-7638:
------------------------------------

A secondary but related issue is that the isEnabled method is not returning the 
results according to the javadoc [1]; in the case where the Feature instance is 
passed in, we should be returning whether that instance has ever been enabled.  
In the case where the Class is passed in, we should be returning true if any 
instance of that feature has been enabled.

 

[1] 
https://jax-rs.github.io/apidocs/2.1/javax/ws/rs/core/Configuration.html#isEnabled-javax.ws.rs.core.Feature-

> JAXRS CTS/TCK issue:  register(...) should ignore components when invalid 
> contracts are passed in
> -------------------------------------------------------------------------------------------------
>
>                 Key: CXF-7638
>                 URL: https://issues.apache.org/jira/browse/CXF-7638
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.2.2
>            Reporter: Andy McCright
>            Assignee: Andy McCright
>            Priority: Major
>             Fix For: 3.2.3
>
>
> 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.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to