cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anastasiia Iurshina <Anastasiia_Iursh...@epam.com>
Subject RE: Method javadocs are missed in WADL when JDK8 is used
Date Wed, 10 Jun 2015 12:59:37 GMT
Thanks for the fast reaction :)

I think I didn't describe the problem well... It still doesn't work.
It's not that brackets have been replaced with hyphens. The format has been changed a bit
more:

Java8:
<a name="replaceFirst-java.lang.String-java.lang.String-">
<a name="toLowerCase--">

Java7:
<a name="replaceFirst(java.lang.String, java.lang.String)">
<a name="toLowerCase()">

So in Java 8 the list of parameter types starts with a hyphen, ends with a hyphen, and the
types are separated by hyphens.

-----Original Message-----
From: Sergey Beryozkin [mailto:sberyozkin@gmail.com] 
Sent: Tuesday, June 09, 2015 2:35 PM
To: users@cxf.apache.org
Subject: Re: Method javadocs are missed in WADL when JDK8 is used

Hi

I've just fixed for 3.0.6-SNAPSHOT:

https://issues.apache.org/jira/browse/CXF-6446

Have a look please if it does work for you

Cheers, Sergey
On 08/06/15 11:20, Sergey Beryozkin wrote:
> Hi
>
> Thanks for reporting this issue, I'll take care of it in time for the 
> next release.
>
> FYI, it is also possible to prepare a WADL document at the build time 
> and there one can depend on the actual on the more robust JavaDoc API 
> to get the doc collected:
>
> http://cxf.apache.org/docs/jaxrs-services-description.html#JAXRSServic
> esDescription-java2wadlMavenplugin
>
>
> This document can then be referenced from a jaxrs:server element.
>
> Thanks, Sergey
>
>
>
> On 08/06/15 10:32, Anastasiia Iurshina wrote:
>> Hello,
>>
>> We're currently using CXF 3.0.4 and it seems there is a bug in 
>> generating WADL when JDK 8 is used: method javadocs are not being 
>> added to WADL.
>> It happens because Javadoc format has been changed in Java 8. Now in 
>> Javadoc HTML files methods look like < a name="getCountries--"> 
>> instead of < a name="getCountries( in the older versions.
>>
>> JavaDocProvider expects the older format:  String operMarker = 
>> operLink + method.getName() + "("; so it's not able to find operation 
>> marker.
>>
>>
>>
>> There is also a minor problem with namespaces. If all 
>> request/response types in endpoints are collections the namespace is 
>> not being added to the <application tag, which result in the invalid WADL.
>>
>> Classes of the objects that are elements of the collections are not 
>> added to the Map<Class<?>, QName> clsMap = new 
>> IdentityHashMap<Class<?>, QName>(); in WadlGenerator.
>>
>> (and it seems right) so the namespace is missed. Maybe it's the 
>> expected behavior but it seems a bit inconsistent since collections 
>> are supported as request/response types.
>>
>>
>> Thanks,
>> Anastasiia
>>
>>
>


--
Sergey Beryozkin

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

Blog: http://sberyozkin.blogspot.com

Mime
View raw message