I know disabling a scan did help some of my colleagues to make it work OSGI...

Sergey
On 06/04/17 15:44, Sergey Beryozkin wrote:
Hi, to be honest, I do not know if it is expected to work with DOSGi2,
have a look please at the 'plain' Swagger2 OSGI demo, and debug what
Swagger2featire does in that demo, and I guess then compare to what is
happening with DOSGI, I think it needs to be at least CXF 3.1.10

Cheers, Sergey
On 06/04/17 15:05, nino martinez wael wrote:
I will look into making a test project.

On Thu, Apr 6, 2017 at 4:05 PM, nino martinez wael <
[email protected]> wrote:

Nope did not fix it.. setScan(false) did not help.. And wondering why
swagger are not complaining, I have manually referred to the package
for it
to look.

On Thu, Apr 6, 2017 at 3:40 PM, nino martinez wael <
[email protected]> wrote:

Let me just check.. I think I am using the wrong version of swagger..I
did a manual feature, for karaf... this feature should be used :
cxf-rs-description-swagger2

Let me just verify..

On Thu, Apr 6, 2017 at 3:34 PM, Sergey Beryozkin <[email protected]>
wrote:

Yes, sometimes setScan(false) helps

Sergey

On 06/04/17 14:32, Christian Schneider wrote:

I am not very familiar with how Swagger works. Are you sure the scan
works like this in OSGi?

Can you maybe put your test project into a github repo ? I am
willing to
invest a bit of time to help make this work as I think swagger
would be
a great feature for remote services.

Christian

On 06.04.2017 15:12, nino martinez wael wrote:

I've fiddled a lot, nothing seems to work in order to make swagger
aware of
my endpoint.. However I have swagger ui running (although since
swagger
cannot see my endpoints, it's somewhat empty)...

RSA does pickup the swagger intent, and all are "working" except it
does
not see my endpoints. I get both swagger json and yaml.

@Component //
         (
                 property =
"org.apache.cxf.dosgi.IntentName=swagger"
//
         )
public class SwaggerIntent implements Callable<List<Object>> {

     private String version = "";
     private String name = "";

     @Activate
     public void activate(BundleContext bundleContext) {
         Dictionary<String, String> headers =
bundleContext.getBundle().getHeaders();
         version = headers.get("Bundle-Version");
         name = headers.get("Bundle-Name");


     }


     @Override
     public List<Object> call() throws Exception {
         Swagger2Feature swagger2Feature = new Swagger2Feature();
         swagger2Feature.setBasePath("/cxf/dialer/v1/");
         swagger2Feature.setTitle(name);
         swagger2Feature.setDescription(name);
         swagger2Feature.setLicense("Commercial");
         swagger2Feature.setSupportSwaggerUi(true);
         swagger2Feature.setContact("development@");
         swagger2Feature.setScan(true);
         swagger2Feature.setScanAllResources(true);
         swagger2Feature.setUsePathBasedConfig(true);


         swagger2Feature.setPrettyPrint(true);
         swagger2Feature.setVersion(version);

         return Arrays.asList((swagger2Feature));
     }

}






Thanks for the mention about logger interceptors.


On Thu, Apr 6, 2017 at 1:50 PM, Christian Schneider
<[email protected]

wrote:
How do you export the swagger intent?

Btw. The interceptors property will not work but you can add the
logging
Feature to the swagger intent service.

Christian


On 06.04.2017 12:45, nino martinez wael wrote:

Im having issue getting swagger to pickup my jaxrs endpoints... CXF
picks
them up..

here a short sample:

@Path("/")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Component(immediate = true, name = "SimpleEndPointsImpl", //
          property
                  = //
                  { //
                          "service.exported.intents=swagger",
                          "service.exported.interfaces=*",
                          "service.exported.configs=org.
apache.cxf.rs",
                          "org.apache.cxf.rs.address=/dialer/v1/",

"org.apache.cxf.rs.in.interceptors=org.apache.cxf.intercepto
r.LoggingInInterceptor",

"org.apache.cxf.rs.in.interceptors=org.apache.cxf.intercepto
r.LoggingOutInterceptor"
                  })
public class SimpleEndPointsImpl implements SimpleEndPoints {

      private BusinessService businessService;
      private static org.slf4j.Logger logger =
LoggerFactory.getLogger(BackendDaoServiceUtil.class);

      /**
       * @return Gives a full list of campaigns in the system
       */
      @Path("/fullcampaigns")
      @GET
      @Produces({MediaType.APPLICATION_JSON,
MediaType.APPLICATION_XML})
      @Override
      public List<FullCampaign> getAllCampaignsStatus() throws
CiscoAPIException, FailedSecurityException {
          return businessService.getFullCampaigns();
      }


On Thu, Apr 6, 2017 at 9:54 AM, nino martinez wael <
[email protected]> wrote:

I will test it now..


On Thu, Apr 6, 2017 at 9:09 AM, Christian Schneider <
[email protected]> wrote:

The Swagger integration provides a feature. So adding this
should be

quite similar to adding the Jackson provider.

You create an intent service like this:
https://github.com/apache/cxf-dosgi/blob/master/samples/rest
/impl-jackson/src/main/java/org/apache/cxf/dosgi/samples/res
t/impl/JacksonIntent.java

and add it to the service:
https://github.com/apache/cxf-dosgi/blob/master/samples/rest
/impl-jackson/src/main/java/org/apache/cxf/dosgi/samples/res
t/impl/TaskResourceImpl.java#L36

Can you test this and give Feedback if it works.

I also thought about supporting the @Features annotation on
DOSGi
service  to provide a simple way to add features that do not
need
additional config.

Christian

On 06.04.2017 08:04, nino martinez wael wrote:

Hi Guys

I've been contemplating on documentation. Currently we've gone
down the
offline documentation road, using enunciate[1] while it feels
okay I've
seen that CXF supports other directions natively[2]. I am
wondering if
its
possible to use those with DOSGI?



[1]http://enunciate.webcohesion.com/
[2]http://cxf.apache.org/docs/swagger2feature.html




--

Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



--
Best regards / Med venlig hilsen
Nino Martinez



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com







--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/




--
Best regards / Med venlig hilsen
Nino Martinez




--
Best regards / Med venlig hilsen
Nino Martinez








--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to