cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DOSGI-266) Support for org.apache.cxf.jaxrs.ext.ContextProvider
Date Mon, 08 May 2017 15:54:04 GMT

    [ 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)

Mime
View raw message