cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eyal Weingart <Eyal.Weing...@exlibrisgroup.com>
Subject RE: cxf-java2wadl-plugin java2wadl questions
Date Thu, 19 Oct 2017 08:47:44 GMT
Hi Sergey

1. Do you see a future option to custom the WADL generator class during the maven build? If
so, what is a reasonable timeline for this? (Just to know how to plan ahead)

2. Regarding the "classResourceNames" and multiple WADL files question, i think i was misunderstood,
it is not that each rest class holds 1 service, i meant that each rest class holds 
	1 business with few operations. 
	For example, 1 class holds books operations, another class holds teachers operations and
another class will hold course operations - so our expectation is that we should have 
	3 separate WADLs generated - what do you think?


Thanks, 
Eyal


-----Original Message-----
From: Eyal Weingart 
Sent: 18 October, 2017 13:47
To: Sergey Beryozkin <sberyozkin@gmail.com>; users <users@cxf.apache.org>
Subject: RE: cxf-java2wadl-plugin java2wadl questions

Well, actually i was referring to applicative error codes (and their descriptions) - that
might be useful by users so can they understand the exact issue


Thanks, 
Eyal


-----Original Message-----
From: Sergey Beryozkin [mailto:sberyozkin@gmail.com] 
Sent: 18 October, 2017 12:44
To: Eyal Weingart <Eyal.Weingart@exlibrisgroup.com>; users <users@cxf.apache.org>
Subject: Re: cxf-java2wadl-plugin java2wadl questions

That said, while customizing a response serialization in order to show the extra statuses
can help users see them, one can document it as well.

For example, I do not see how the information that a given response can return 405 can be
practically used. Well, one can type for example a 405 catch block on the client knowing 405
can be returned, but I'm not sure what difference it makes, where this 405 info is located
in the response statuses or in the docs...

Cheers, Sergey
On 18/10/17 10:37, Sergey Beryozkin wrote:
> I forgot it's really about using a Maven plugin.
> Hmm...I guess we may need to support a custom class...
> 
> Sergey
> On 18/10/17 07:06, Eyal Weingart wrote:
>> Thanks again.
>> Regarding: "Create MyWadlGenerator extending WADLGenerator, override 
>> whatever is needed, and register MyWadlGenerator as a jaxrs:provider"
>> Where exactly do i need to register the MyWadlGenerator as a 
>> jaxrs:provider? I saw it can be done in a spring file that serves 
>> cases for WADL Auto Generation at Runtime.
>> But where/how should i do it in the pom.xml for the 
>> cxf-java2wadl-plugin in order for it to be activated during build 
>> time
>>
>>
>> Thanks,
>> Eyal
>>
>>
>> -----Original Message-----
>> From: Sergey Beryozkin [mailto:sberyozkin@gmail.com]
>> Sent: 17 October, 2017 17:48
>> To: Eyal Weingart <Eyal.Weingart@exlibrisgroup.com>; users 
>> <users@cxf.apache.org>
>> Subject: Re: cxf-java2wadl-plugin java2wadl questions
>>
>> Hi,
>> On 17/10/17 15:28, Eyal Weingart wrote:
>>> Thanks Sergey for the quick response.
>>>
>>> 1. Regarding the customization option, one example i can think of 
>>> (and it relates to issue#2 below) is that we want to use multiple 
>>> DocTarget.RESPONSE in order to display multiple error codes and 
>>> since the generic code does not support it then this logic could 
>>> have been applied in the customization class.
>>>
>> Well, there are so many possible customization points that one can 
>> think of, some parts like the docs can be easier customized than 
>> others, but FYI, nearly all of if not all of methods in WADLGenerator 
>> are protected.
>> Create MyWadlGenerator extending WADLGenerator, override whatever is 
>> needed, and register MyWadlGenerator as a jaxrs:provider
>>
>>> 3. Sorry, but did not understand the answer regarding generating 1 
>>> WADL per 1 Rest API class.
>>>     Each Rest API class is a different service so don't you think it 
>>> should have the option to have its own WADL file?
>>>
>> It depends. They can be part of the composite service, and quite 
>> often, they can share the same (XML) schema types. It's not something 
>> WADLGenerator should be concerned about, trying to push each service 
>> docs into a separate file, and thinking of how to avoid the schema 
>> duplication.
>>
>> If, in your case, each class does indeed represent a standalone 
>> service, then IMHO it would be better to create N jaxrs:endpoints, 
>> one per each class, as opposed to having 1 endpoint with N classes
>>
>> Sergey
>>
>>>
>>> Thanks,
>>> Eyal
>>>
>>> -----Original Message-----
>>> From: Sergey Beryozkin [mailto:sberyozkin@gmail.com]
>>> Sent: 17 October, 2017 00:06
>>> To: users <users@cxf.apache.org>
>>> Cc: Eyal Weingart <Eyal.Weingart@exlibrisgroup.com>
>>> Subject: Re: cxf-java2wadl-plugin java2wadl questions
>>>
>>> Hi
>>> On 16/10/17 12:35, Eyal Weingart wrote:
>>>> Hi,
>>>>
>>>>
>>>>
>>>> Not sure to whom i need to send my Questions so hopefully one of 
>>>> you can help me.
>>>>
>>> Forwarding to the CXF users list
>>>
>>>> I want to use the maven plugin cxf-java2wadl-plugin in order to 
>>>> generate WADL from Java rest APIs in build time but i found few 
>>>> issues with that:
>>>>
>>>>
>>>>
>>>> 1.      Is there a way to custom the generator class so i can apply

>>>> some business code during the build? (is it the 
>>>> org.apache.cxf.jaxrs.model.wadl.WadlGenerator that generates it?)
>>>
>>> What do you need to customize in the generated WADL ?
>>>
>>>>
>>>>
>>>> 2.      When i use multiple DocTarget.RESPONSE in the rest API 
>>>> annotations then it generates only the first one it finds
>>>>
>>> Right, because WADLGenerator only creates a single wadl:response per 
>>> a given operation
>>>>
>>>> 3.      If i define more than 1 classResourceNames in the 
>>>> configuration in the pom.xml then it generates all services under 1 
>>>> application.wadl file so if i want 1 WADL file per 1 rest API class 
>>>> then i need to define multiple <execution> (1 execution per 1 Rest
>>>> class) - is there a nicer way of doing it?
>>>>
>>> There's no way to auto-gen 1 wadl per 1 class resource - it would be 
>>> hard to achieve because most likely these class resources will share 
>>> the schema
>>>
>>> Sergey
>>>>
>>>>
>>>>
>>>>
>>>> Example of how i configured it in the pom.xml:
>>>>
>>>> <plugin>
>>>>
>>>>                 <groupId>org.apache.cxf</groupId>
>>>>
>>>>                 <artifactId>cxf-java2wadl-plugin</artifactId>
>>>>
>>>>                <version>3.1.4</version>
>>>>
>>>>                            <executions>
>>>>
>>>>                                       
<execution>
>>>>
>>>> <id>process-classes1</id>
>>>>
>>>> <phase>process-classes</phase>
>>>>
>>>>                                                   
<goals>
>>>>
>>>> <goal>java2wadl</goal>
>>>>
>>>>                                       
</goals>
>>>>
>>>>                                                   
<configuration>
>>>>
>>>> <classResourceNames>
>>>>
>>>> <classResourceName>com.exlibris.primo.webservices.rest.EShelfRestAp
>>>> i<
>>>> /
>>>> classResourceName>
>>>>
>>>> </classResourceNames>
>>>>
>>>> <applicationTitle>Primo</applicationTitle>
>>>>
>>>> <attachWadl>true</attachWadl>
>>>>
>>>>                                        
</configuration>
>>>>
>>>>                            </execution>
>>>>
>>>>                    </executions>
>>>>
>>>>                </plugin>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Thanks in advance
>>>>
>>>> Eyal
>>>>
>>>
>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
Mime
View raw message