From 4f0f128ddbc6dcb11454c3e72ad78b952d12a660 Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 8 Sep 2016 17:30:20 +0800 Subject: [PATCH] fix enum value issue for jaxrs cxf --- .../languages/JavaCXFServerCodegen.java | 3 + .../JavaJaxRS/cxf/enumClass.mustache | 4 +- .../java/io/swagger/model/ApiResponse.java | 78 ------ .../gen/java/io/swagger/model/Order.java | 3 +- .../gen/java/io/swagger/model/Pet.java | 3 +- samples/server/petstore/jaxrs-cxf/pom.xml | 265 ++++++++++++++++++ 6 files changed, 274 insertions(+), 82 deletions(-) delete mode 100644 samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/ApiResponse.java create mode 100644 samples/server/petstore/jaxrs-cxf/pom.xml diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaCXFServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaCXFServerCodegen.java index f11821ef2b0..35fae461666 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaCXFServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaCXFServerCodegen.java @@ -19,6 +19,9 @@ public class JavaCXFServerCodegen extends AbstractJavaJAXRSServerCodegen outputFolder = "generated-code/JavaJaxRS-CXF"; apiTestTemplateFiles.clear(); // TODO: add test template + //TODO add auto-generated pom.xml for maven + //apiTemplateFiles.put("pom.mustache", "pom.xml"); + // clear model and api doc template as this codegen // does not support auto-generated markdown doc at the moment //TODO: add doc templates diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf/enumClass.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf/enumClass.mustache index 5d6d4805f8a..94212231156 100644 --- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf/enumClass.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf/enumClass.mustache @@ -3,7 +3,7 @@ public enum {{datatypeWithEnum}} { {{#allowableValues}} - {{#enumVars}}{{name}}({{datatype}}.valueOf("{{value}}")){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}} + {{#enumVars}}{{name}}({{datatype}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}} {{/allowableValues}} @@ -20,4 +20,4 @@ public enum {{datatypeWithEnum}} { public static {{datatypeWithEnum}} fromValue(String v) { return valueOf(v); } -} \ No newline at end of file +} diff --git a/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/ApiResponse.java b/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/ApiResponse.java deleted file mode 100644 index e6100b2fc6a..00000000000 --- a/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/ApiResponse.java +++ /dev/null @@ -1,78 +0,0 @@ -package io.swagger.model; - - - - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "", propOrder = - { "code", "type", "message" -}) - -@XmlRootElement(name="ApiResponse") -public class ApiResponse { - - - private Integer code = null; - - private String type = null; - - private String message = null; - - /** - **/ - - public Integer getCode() { - return code; - } - public void setCode(Integer code) { - this.code = code; - } - /** - **/ - - public String getType() { - return type; - } - public void setType(String type) { - this.type = type; - } - /** - **/ - - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message = message; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ApiResponse {\n"); - - sb.append(" code: ").append(toIndentedString(code)).append("\n"); - sb.append(" type: ").append(toIndentedString(type)).append("\n"); - sb.append(" message: ").append(toIndentedString(message)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private static String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Order.java b/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Order.java index 7c6356ec4b5..ef8d3dbfb73 100644 --- a/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Order.java @@ -35,7 +35,7 @@ public class Order { @XmlEnum public enum StatusEnum { - PLACED(String.valueOf(""placed"")), APPROVED(String.valueOf(""approved"")), DELIVERED(String.valueOf(""delivered"")); + PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERED(String.valueOf("delivered")); private String value; @@ -53,6 +53,7 @@ public enum StatusEnum { } } + @XmlElement(name="status") private StatusEnum status = null; diff --git a/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Pet.java b/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Pet.java index 52682bcdd0a..dd008ebe5a6 100644 --- a/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf/gen/java/io/swagger/model/Pet.java @@ -42,7 +42,7 @@ public class Pet { @XmlEnum public enum StatusEnum { - AVAILABLE(String.valueOf(""available"")), PENDING(String.valueOf(""pending"")), SOLD(String.valueOf(""sold"")); + AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD(String.valueOf("sold")); private String value; @@ -60,6 +60,7 @@ public enum StatusEnum { } } + @XmlElement(name="status") private StatusEnum status = null; diff --git a/samples/server/petstore/jaxrs-cxf/pom.xml b/samples/server/petstore/jaxrs-cxf/pom.xml new file mode 100644 index 00000000000..6b0b2318022 --- /dev/null +++ b/samples/server/petstore/jaxrs-cxf/pom.xml @@ -0,0 +1,265 @@ + + 4.0.0 + io.swagger + swagger-jaxrs-cxf-server + jar + swagger-jaxrs-cxf-server + 1.0.0 + + gen/main/java + + + org.apache.maven.plugins + maven-war-plugin + 2.1.1 + + + maven-failsafe-plugin + 2.6 + + + + integration-test + verify + + + + + + org.eclipse.jetty + jetty-maven-plugin + ${jetty-version} + + + / + + target/${project.artifactId}-${project.version} + 8079 + stopit + 10 + + 8080 + 60000 + + + + + start-jetty + pre-integration-test + + start + + + 0 + true + + + + stop-jetty + post-integration-test + + stop + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + add-source + generate-sources + + add-source + + + + gen/java + + + + + + + + + + + + org.springframework + spring-context + ${springframework-version} + + + org.springframework + spring-context-support + ${springframework-version} + + + org.springframework + spring-web + ${springframework-version} + + + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf-version} + + + + org.apache.cxf + cxf-rt-transports-http + ${cxf-version} + + + + org.apache.cxf + cxf-rt-rs-extension-providers + ${cxf-version} + + + + javax.ws.rs + jsr311-api + 1.1.1 + + + + + org.slf4j + slf4j-api + ${slf4j-version} + + + + + org.slf4j + log4j-over-slf4j + ${slf4j-version} + runtime + + + + org.slf4j + jcl-over-slf4j + ${slf4j-version} + + + + org.slf4j + jul-to-slf4j + ${slf4j-version} + + + + ch.qos.logback + logback-classic + 1.0.9 + runtime + + + + + + + + javax.servlet + servlet-api + ${servlet-api-version} + provided + + + + + org.scala-lang + scala-library + ${scala-version} + + + + org.springframework + spring-test + ${springframework-version} + test + + + + org.apache.cxf + cxf-rt-transports-http-jetty + ${cxf-version} + test + + + + org.scalatest + scalatest_2.10 + ${scala-test-version} + test + + + + junit + junit + ${junit-version} + test + + + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + true + + + + + 1.7 + ${java.version} + ${java.version} + 1.5.9 + 9.2.9.v20150224 + 1.19.1 + 1.7.21 + 4.12 + 2.5 + UTF-8 + 3.2.1.RELEASE + 2.7.15 + + 1.2 + 2.2 + 1.5.10 + 2.1.4 + 2.10.4 + 2.3.4 + 2.5 + 1.13 + 2.1 + 2.4.2 + 2.4.2 + 1.0.1 + + 4.8.1 + 1.0.0 + 3.2.1 + 1.6.3 + 2.1.3 + 8.1.11.v20130520 + 3.1.5 + 0.90 + 0.90 + 0 + + +