You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2020/01/24 00:24:30 UTC

[cxf] branch master updated: CXF-8200: Use name() instead of toString() for enums when generating WADL

This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new 1fb179f  CXF-8200: Use name() instead of toString() for enums when generating WADL
1fb179f is described below

commit 1fb179ff05138dcd34a21bca20dc5fe381d56301
Author: reta <dr...@gmail.com>
AuthorDate: Thu Jan 23 19:16:16 2020 -0500

    CXF-8200: Use name() instead of toString() for enums when generating WADL
---
 .../apache/cxf/jaxrs/model/wadl/WadlGenerator.java |  2 +-
 .../apache/cxf/jaxrs/model/wadl/BookOrderEnum.java | 34 ++++++++++++++++++++++
 .../org/apache/cxf/jaxrs/model/wadl/BookStore.java |  1 +
 .../cxf/jaxrs/model/wadl/WadlGeneratorTest.java    |  4 ++-
 4 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
index 5b97373..ffcb8fc 100644
--- a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
+++ b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
@@ -1013,7 +1013,7 @@ public class WadlGenerator implements ContainerRequestFilter {
         try {
             Method m = enumClass.getMethod("values", new Class<?>[] {});
             Object[] values = (Object[])m.invoke(null, new Object[] {});
-            m = enumClass.getMethod("toString", new Class<?>[] {});
+            m = enumClass.getMethod("name", new Class<?>[] {});
             for (Object o : values) {
                 String str = (String)m.invoke(o, new Object[] {});
                 sb.append("<option value=\"").append(str).append("\"/>");
diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookOrderEnum.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookOrderEnum.java
new file mode 100644
index 0000000..0328d68
--- /dev/null
+++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookOrderEnum.java
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.jaxrs.model.wadl;
+
+public enum BookOrderEnum {
+    INVOICED("Invoiced"), 
+    NOT_INVOICED("Not invoiced");
+
+    private final String desc;
+
+    BookOrderEnum(String desc) {
+        this.desc = desc;
+    }
+
+    public String toString() {
+        return desc;
+    }
+}
diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
index 98a37f5..fa913a5 100644
--- a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
+++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
@@ -125,6 +125,7 @@ public class BookStore extends AbstractStore<Book> implements BookDescription {
                         @CookieParam("cid") int cookieId,
                         @QueryParam("provider.bar") int queryParam,
                         @QueryParam("bookstate") BookEnum state,
+                        @QueryParam("orderstatus") BookOrderEnum status,
                         @QueryParam("a") List<String> queryList,
                         @Context HttpHeaders headers,
                         @Description("InputBook")
diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
index 4a5cbf3..30a9da3 100644
--- a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
+++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
@@ -568,11 +568,13 @@ public class WadlGeneratorTest {
 
         checkDocs(requestEls.get(0), "", "Request", "");
 
-        verifyParameters(requestEls.get(0), 4,
+        verifyParameters(requestEls.get(0), 5,
                          new Param("hid", "header", "xs:int"),
                          new Param("provider.bar", "query", "xs:int"),
                          new Param("bookstate", "query", "xs:string",
                                  new HashSet<>(Arrays.asList("NEW", "USED", "OLD"))),
+                         new Param("orderstatus", "query", "xs:string",
+                                 new HashSet<>(Arrays.asList("INVOICED", "NOT_INVOICED"))),
                          new Param("a", "query", "xs:string", true));
 
         verifyXmlJsonRepresentations(requestEls.get(0), book2El, "InputBook");