You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2011/11/29 15:24:47 UTC
svn commit: r1207883 - in /cxf/trunk/rt/frontend/jaxrs/src:
main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
Author: sergeyb
Date: Tue Nov 29 14:24:46 2011
New Revision: 1207883
URL: http://svn.apache.org/viewvc?rev=1207883&view=rev
Log:
[CXF-3941] Better support for Description annotations
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java?rev=1207883&r1=1207882&r2=1207883&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java Tue Nov 29 14:24:46 2011
@@ -686,6 +686,9 @@ public class WadlGenerator implements Re
if (inbound) {
int index = getRequestBodyParam(ori).getIndex();
anns = opMethod.getParameterAnnotations()[index];
+ if (!isDocAvailable(anns)) {
+ anns = opMethod.getAnnotations();
+ }
docCategory = DocTarget.PARAM;
} else {
anns = opMethod.getAnnotations();
Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java?rev=1207883&r1=1207882&r2=1207883&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java Tue Nov 29 14:24:46 2011
@@ -37,6 +37,7 @@ import javax.ws.rs.core.Response;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.cxf.aegis.type.java5.IgnoreProperty;
+import org.apache.cxf.jaxrs.ext.multipart.MultipartBody;
import org.apache.cxf.jaxrs.fortest.jaxb.packageinfo.Book2;
import org.apache.cxf.jaxrs.model.wadl.jaxb.Book;
import org.apache.cxf.jaxrs.model.wadl.jaxb.Chapter;
@@ -47,6 +48,15 @@ import org.apache.cxf.jaxrs.model.wadl.j
@Description(lang = "en-us", title = "book store resource", value = "super resource")
public class BookStore {
+ @Descriptions({
+ @Description(value = "Attachments", target = DocTarget.PARAM)
+ })
+ @POST
+ @Consumes("multipart/form-data")
+ public void formdata(MultipartBody body) {
+
+ }
+
@GET
@Produces("text/plain")
public String getName(@PathParam("id") Long id, @QueryParam("") QueryBean query) {
Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java?rev=1207883&r1=1207882&r2=1207883&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java Tue Nov 29 14:24:46 2011
@@ -402,8 +402,8 @@ public class WadlGeneratorTest extends A
// must have a single template parameter
verifyParameters(resource, 1, new Param("id", "template", "xs:long"));
- // must have 2 methods, GET and PUT
- List<Element> methodEls = getElements(resource, "method", 2);
+ // must have 3 methods, GET, POST and PUT
+ List<Element> methodEls = getElements(resource, "method", 3);
// verify GET
assertEquals("GET", methodEls.get(0).getAttribute("name"));
@@ -425,11 +425,16 @@ public class WadlGeneratorTest extends A
//check response
verifyRepresentation(methodEls.get(0), "response", "text/plain", "");
+ // verify POST
+ assertEquals("POST", methodEls.get(1).getAttribute("name"));
+ Element formRep = verifyRepresentation(methodEls.get(1), "request", "multipart/form-data", "");
+ checkDocs(formRep, "", "Attachments", "");
+
// verify PUT
- assertEquals("PUT", methodEls.get(1).getAttribute("name"));
- verifyRepresentation(methodEls.get(1), "request", "text/plain", "");
+ assertEquals("PUT", methodEls.get(2).getAttribute("name"));
+ verifyRepresentation(methodEls.get(2), "request", "text/plain", "");
- verifyResponseWithStatus(methodEls.get(1), "204");
+ verifyResponseWithStatus(methodEls.get(2), "204");
// verify resource starting with /book2
verifyGetResourceMethod(resourceEls.get(0), book2El, null);
@@ -576,7 +581,7 @@ public class WadlGeneratorTest extends A
WadlGenerator.WADL_NS, "representation").size());
}
- private void verifyRepresentation(Element element,
+ private Element verifyRepresentation(Element element,
String name,
String mediaType,
String elementValue) {
@@ -591,6 +596,7 @@ public class WadlGeneratorTest extends A
String pName = "request".equals(name) ? "request" : "result";
verifyParameters(representationEls.get(0), 1, new Param(pName, "plain", "xs:string"));
}
+ return representationEls.get(0);
}
private void verifyXmlJsonRepresentations(Element element, String type, String docs) {