Hi Sergey
Should i download something manually for the 3.1.14-SNAPSHOT version (and if so
how and from where)?
Because i'm trying to do it thru the maven build (defining the version of the
artifact as 3.1.14-SNAPSHOT) and it does not download this version.
And it comes with the below error (of course) :
Plugin org.apache.cxf:cxf-java2wadl-plugin:3.1.14-SNAPSHOT or one of
its dependencies could not be resolved: Failed to read artifact descriptor for
org.apache.cxf:cxf-java2wadl- plugin:jar:3.1.14-SNAPSHOT: Could not find
artifact org.apache.cxf:cxf-java2wadl-plugin:pom:3.1.14-SNAPSHOT in
Thanks,
Eyal
-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]]
Sent: 19 October, 2017 17:01
To: Eyal Weingart <[email protected]>; users
<[email protected]>
Subject: Re: cxf-java2wadl-plugin java2wadl questions
Np, by the way, the custom provider will need to have a constructor accepting
'Bus' which it can provide to the super...
Sergey
On 19/10/17 14:06, Eyal Weingart wrote:
> Thanks a lot!
> I will check this on Sunday (leaving for the weekend) and will let you
> know Working currently with version 3.1.4 and not 3.1.14 so will need to fix
> some dependencies so my build will not fail...
>
> Thanks,
> Eyal
>
>
> -----Original Message-----
> From: Sergey Beryozkin [mailto:[email protected]]
> Sent: 19 October, 2017 15:20
> To: Eyal Weingart <[email protected]>; users
> <[email protected]>
> Subject: Re: cxf-java2wadl-plugin java2wadl questions
>
> Hi Eyal
> On 19/10/17 09:47, Eyal Weingart wrote:
>> 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)
>>
> I've added a 'customWadlGenerator' parameter, give 3.1.14-SNAPSHOT or
> 3.2.1-SNAPSHOT a try
>> 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?
>>
> That is fine, it is just that it can't be really solved at the
> WADLGenerator level - in your case the separation may be clean, in
> other cases - may be not. And from the practical point of view it will
> push the already very complex WADLGenerator code to the limit if we
> started trying updating it to push the info to many files
>
> Thanks, Sergey
>>
>> Thanks,
>> Eyal
>>
>>
>> -----Original Message-----
>> From: Eyal Weingart
>> Sent: 18 October, 2017 13:47
>> To: Sergey Beryozkin <[email protected]>; users
>> <[email protected]>
>> 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:[email protected]]
>> Sent: 18 October, 2017 12:44
>> To: Eyal Weingart <[email protected]>; users
>> <[email protected]>
>> 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:[email protected]]
>>>> Sent: 17 October, 2017 17:48
>>>> To: Eyal Weingart <[email protected]>; users
>>>> <[email protected]>
>>>> 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:[email protected]]
>>>>> Sent: 17 October, 2017 00:06
>>>>> To: users <[email protected]>
>>>>> Cc: Eyal Weingart <[email protected]>
>>>>> 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.EShelfRest
>>>>>> A
>>>>>> p
>>>>>> 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/
>>>>>
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/