[
https://issues.apache.org/jira/browse/DOSGI-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16000959#comment-16000959
]
Christian Schneider commented on DOSGI-266:
-------------------------------------------
I did a small test but in my test ContextProvider is also null even after
making sure ContextProvider is regarded as a rs Provider.
Can the code below work? In some examples SearchContext is injected as a
parameter of the get method. The problem is that this does not work as an
interface as the client will then also have this parameter.
public class TaskServiceImpl implements TaskService, IntentsProvider {
@Context SearchContext searchContext;
@Override
public Task getTask() {
Assert.assertNotNull("SearchContext must not be null", searchContext);
SearchCondition<Task> condition =
searchContext.getCondition(Task.class);
return new Task("test");
}
@Override
public List<?> getIntents() {
return Arrays.asList(new MyWriter(), new MyReader(), new
SearchContextProvider());
}
}
> Support for org.apache.cxf.jaxrs.ext.ContextProvider
> ----------------------------------------------------
>
> Key: DOSGI-266
> URL: https://issues.apache.org/jira/browse/DOSGI-266
> Project: CXF Distributed OSGi
> Issue Type: New Feature
> Components: provider-rs
> Affects Versions: 2.1.0
> Reporter: Ivo Leitão
> Assignee: Christian Schneider
> Fix For: 2.2.0
>
>
> I would like to use CXF support for search
> http://cxf.apache.org/docs/jax-rs-search.html and for that I need to register
> a provider. In my tests the SearchContext is always null and I think it is
> caused by
> https://github.com/apache/cxf-dosgi/blob/master/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
> where
> {code:title=RsProvider.java|borderStyle=solid}
> ....
> private boolean isProvider(Object intent) {
> return (intent instanceof ExceptionMapper) //
> || (intent instanceof MessageBodyReader) //
> || (intent instanceof MessageBodyWriter) //
> || (intent instanceof ContextResolver);
> }
> ....
> {code}
> only supports ContextResolver and not ContextProvider
> I'm going to try to make a workaround with a features but this is needed in
> order to make this work.
> Quoting CXF documentation:
> "Additionally, starting from CXF 2.6.0, SearchContextProvider needs to be
> registered as jaxrs:provider."
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)