Christian, I have cloned dosgi, and added swagger to the jackson example

https://github.com/nmwael/cxf-dosgi
https://github.com/nmwael/cxf-dosgi/tree/master/samples/rest/impl-jackson


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

> 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=/di
>>>>>>>>>> aler/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/
>



-- 
Best regards / Med venlig hilsen
Nino Martinez

Reply via email to