cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-6904) Unable to read swagger annotations if the file is in another osgi bundle
Date Fri, 12 Aug 2016 12:09:20 GMT

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

Sergey Beryozkin commented on CXF-6904:
---------------------------------------

Ɓukasz has found an interesting workaround for this case. 
He has written the code that collects all the JAX-RS classes (from CXF ClassResourceInfo)
and sets them on a Swagger instance:

https://github.com/Code-House/karaf-swagger/blob/master/core/src/main/java/org/code_house/swagger/core/internal/SwaggerHolder.java#L45

and then he has extended the ApiListingResource:

https://github.com/Code-House/karaf-swagger/blob/master/core/src/main/java/org/code_house/swagger/core/internal/EnhancedApiListingResource.java

thus bypassing the Swagger scanning completely.



> Unable to read swagger annotations if the file is in another osgi bundle
> ------------------------------------------------------------------------
>
>                 Key: CXF-6904
>                 URL: https://issues.apache.org/jira/browse/CXF-6904
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS, OSGi
>            Reporter: Christian Lutz
>
> I created a simple example to reproduce the error.
> https://github.com/ChristianLutz/cxf-swagger-osgi-bug
> =================
> JAX-RS Swagger2Feature OSGI Issue
> =================
> This example is based on the code from 
> https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_osgi
> How to reproduce the issue:
>   mvn install (on the example)
>   bin/karaf (I used the current karaf 4.0.5)
>   
>   on karaf@root()>
>   feature:repo-add cxf 3.1.6
>   feature:install cxf-rs-description-swagger2
>   install mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.6.5
>   install mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.6.5
>   install -s mvn:de.kreeloo/cxf-swagger2-osgi-api/1.0.0
>   install -s mvn:de.kreeloo/cxf-swagger2-osgi-impl/1.0.0
>   
> It may happen that one component is complaining about a missing guava class even if you
provided it before. All you have todo is copy guava-18.jar into your deploy folder. I think
this is a karaf bug. I have to create a ticket for. After you place the guava file into your
deploy folder and type list, all bundles should be active.  
>   Now open your web browser and type: 
>   http://localhost:8181/cxf/swaggerSample/swagger.json
>   And all you see is the swagger header.
>   
>   I guess the problem is the ClasspathHelper.class from org.reflections it looks like
that this one is not able to access the osgi component. 
>   
>   The behavior is similar to this error description:
>   http://cxf.547215.n5.nabble.com/Swagger2Feature-via-blueprint-config-does-not-produce-the-expected-results-td5761841.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message