diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java
index 22c35e0e9b1..5fb8b7e643f 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java
@@ -1128,11 +1128,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
}
public boolean convertPropertyToBoolean(String propertyKey) {
- boolean booleanValue = false;
- if (additionalProperties.containsKey(propertyKey)) {
- booleanValue = Boolean.valueOf(additionalProperties.get(propertyKey).toString());
- }
-
+ boolean booleanValue = false;
+ if (additionalProperties.containsKey(propertyKey)) {
+ booleanValue = Boolean.valueOf(additionalProperties.get(propertyKey).toString());
+ }
+
return booleanValue;
}
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJAXRSCXFCDIServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJAXRSCXFCDIServerCodegen.java
index be214dae514..d3895532f76 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJAXRSCXFCDIServerCodegen.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJAXRSCXFCDIServerCodegen.java
@@ -1,8 +1,10 @@
package io.swagger.codegen.languages;
+import io.swagger.codegen.CliOption;
import io.swagger.codegen.CodegenModel;
import io.swagger.codegen.CodegenProperty;
import io.swagger.codegen.SupportingFile;
+import io.swagger.codegen.languages.features.BeanValidationFeatures;
import java.io.File;
@@ -13,7 +15,10 @@ import java.io.File;
* in /src/gen/java and a sample ServiceImpl in /src/main/java. The API uses CDI
* to get an instance of ServiceImpl that implements the Service interface.
*/
-public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen {
+public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen implements BeanValidationFeatures {
+
+ protected boolean useBeanValidation = true;
+
/**
* Default constructor
*/
@@ -32,6 +37,8 @@ public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen {
// Updated template directory
embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME
+ File.separator + "cxf-cdi";
+
+ cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations"));
}
@Override
@@ -43,6 +50,14 @@ public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen {
public void processOpts() {
super.processOpts();
+ if (additionalProperties.containsKey(USE_BEANVALIDATION)) {
+ this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
+ }
+
+ if (useBeanValidation) {
+ writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
+ }
+
supportingFiles.clear(); // Don't need extra files provided by AbstractJAX-RS & Java Codegen
// writeOptional means these files are only written if they don't already exist
@@ -73,4 +88,7 @@ public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen {
+ "Apache CXF runtime and a Java EE runtime with CDI enabled.";
}
+ public void setUseBeanValidation(boolean useBeanValidation) {
+ this.useBeanValidation = useBeanValidation;
+ }
}
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache
index 5fabe593164..0586b6df351 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache
@@ -12,11 +12,15 @@ import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import io.swagger.annotations.*;
+import java.io.InputStream;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.util.List;
-
+{{#useBeanValidation}}
+import javax.validation.constraints.*;
+{{/useBeanValidation}}
@Path("/{{baseName}}")
@RequestScoped
@@ -48,7 +52,7 @@ public class {{classname}} {
@ApiResponses(value = { {{#responses}}
@ApiResponse(code = {{{code}}}, message = "{{{message}}}", response = {{{returnType}}}.class{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}){{#hasMore}},{{/hasMore}}{{/responses}} })
public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {
- return delegate.{{nickname}}({{#allParams}}{{#isFile}}inputStream, fileDetail{{/isFile}}{{^isFile}}{{paramName}}{{/isFile}}, {{/allParams}}securityContext);
+ return delegate.{{nickname}}({{#allParams}}{{#isFile}}{{paramName}}InputStream, {{paramName}}Detail{{/isFile}}{{^isFile}}{{paramName}}{{/isFile}}, {{/allParams}}securityContext);
}
{{/operation}}
}
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/apiService.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/apiService.mustache
index 64eb6e38adb..4af44698b7c 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/apiService.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/apiService.mustache
@@ -4,6 +4,7 @@ import {{package}}.*;
import {{modelPackage}}.*;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
{{#imports}}import {{import}};
{{/imports}}
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidation.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidation.mustache
new file mode 100644
index 00000000000..4709bce0f37
--- /dev/null
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidation.mustache
@@ -0,0 +1,63 @@
+{{#required}}
+ @NotNull
+{{/required}}
+{{#pattern}}
+ @Pattern(regexp="{{pattern}}")
+{{/pattern}}
+{{#minLength}}
+{{#maxLength}}
+ @Size(min={{minLength}},max={{maxLength}})
+{{/maxLength}}
+{{/minLength}}
+{{#minLength}}
+{{^maxLength}}
+ @Size(min={{minLength}})
+{{/maxLength}}
+{{/minLength}}
+{{^minLength}}
+{{#maxLength}}
+ @Size(max={{maxLength}})
+ {{/maxLength}}
+ {{/minLength}}
+{{#minItems}}
+{{#maxItems}}
+ @Size(min={{minItems}},max={{maxItems}})
+{{/maxItems}}
+{{/minItems}}
+{{#minItems}}
+{{^maxItems}}
+ @Size(min={{minItems}})
+{{/maxItems}}
+{{/minItems}}
+{{^minItems}}
+{{#maxItems}}
+ @Size(max={{maxItems}})
+{{/maxItems}}
+{{/minItems}}
+{{! check for integer or long / all others=decimal type with @Decimal*}}
+{{#isInteger}}
+{{#minimum}}
+ @Min({{minimum}})
+{{/minimum}}
+{{#maximum}}
+ @Max({{maximum}})
+{{/maximum}}
+{{/isInteger}}
+{{#isLong}}
+{{#minimum}}
+ @Min({{minimum}})
+{{/minimum}}
+{{#maximum}}
+ @Max({{maximum}})
+{{/maximum}}
+{{/isLong}}
+{{^isInteger}}
+{{^isLong}}
+{{#minimum}}
+ @DecimalMin("{{minimum}}")
+{{/minimum}}
+{{#maximum}}
+ @DecimalMax("{{maximum}}")
+{{/maximum}}
+{{/isLong}}
+{{/isInteger}}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationParams.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationParams.mustache
new file mode 100644
index 00000000000..687e5c139f3
--- /dev/null
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationParams.mustache
@@ -0,0 +1,3 @@
+{{#pattern}} @Pattern(regexp="{{pattern}}"){{/pattern}}{{#minLength}}{{#maxLength}} @Size(min={{minLength}},max={{maxLength}}){{/maxLength}}{{/minLength}}{{#minLength}}{{^maxLength}} @Size(min={{minLength}}){{/maxLength}}{{/minLength}}{{^minLength}}{{#maxLength}} @Size(max={{maxLength}}){{/maxLength}}{{/minLength}}{{#minItems}}{{#maxItems}} @Size(min={{minItems}},max={{maxItems}}){{/maxItems}}{{/minItems}}{{#minItems}}{{^maxItems}} @Size(min={{minItems}}){{/maxItems}}{{/minItems}}{{^minItems}}{{#maxItems}} @Size(max={{maxItems}}){{/maxItems}}{{/minItems}}{{!
+check for integer or long / all others=decimal type with @Decimal*
+}}{{#isInteger}}{{#minimum}} @Min({{minimum}}){{/minimum}}{{#maximum}} @Max({{maximum}}){{/maximum}}{{/isInteger}}{{#isLong}}{{#minimum}} @Min({{minimum}}){{/minimum}}{{#maximum}} @Max({{maximum}}){{/maximum}}{{/isLong}}{{^isInteger}}{{^isLong}}{{#minimum}} @DecimalMin("{{minimum}}"){{/minimum}}{{#maximum}} @DecimalMax("{{maximum}}"){{/maximum}}{{/isLong}}{{/isInteger}}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationPathParams.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationPathParams.mustache
new file mode 100644
index 00000000000..23429296ccf
--- /dev/null
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationPathParams.mustache
@@ -0,0 +1 @@
+{{! PathParam is always required, no @NotNull necessary }}{{>beanValidationParams}}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationQueryParams.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationQueryParams.mustache
new file mode 100644
index 00000000000..d8879247953
--- /dev/null
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/beanValidationQueryParams.mustache
@@ -0,0 +1 @@
+{{#required}} @NotNull{{/required}}{{>beanValidationParams}}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/enumClass.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/enumClass.mustache
index 1ef4a61efbe..10bb9d0f4e0 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/enumClass.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/enumClass.mustache
@@ -1,16 +1,33 @@
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
+@XmlType(name="{{datatypeWithEnum}}")
+@XmlEnum({{datatype}}.class)
+public enum {{datatypeWithEnum}} {
+
+ {{#allowableValues}}
+ {{#enumVars}}@XmlEnumValue({{{value}}}) {{name}}({{datatype}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
+ {{/allowableValues}}
+
+
+ private {{datatype}} value;
+
+ {{datatypeWithEnum}} ({{datatype}} v) {
+ value = v;
+ }
-@XmlType(name="{{classname}}")
-@XmlEnum
-public enum {{classname}} {
- {{#allowableValues}}{{.}}{{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/allowableValues}}
-
public String value() {
- return name();
+ return value;
}
- public static {{classname}} fromValue(String v) {
- return valueOf(v);
+ @Override
+ public String toString() {
+ return String.valueOf(value);
}
-}
\ No newline at end of file
+
+ public static {{datatypeWithEnum}} fromValue(String v) {
+ for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ return null;
+ }
+}
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/generatedAnnotation.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/generatedAnnotation.mustache
index 49110fc1ad9..a47b6faa85b 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/generatedAnnotation.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/generatedAnnotation.mustache
@@ -1 +1 @@
-@javax.annotation.Generated(value = "{{generatorClass}}", date = "{{generatedDate}}")
\ No newline at end of file
+{{^hideGenerationTimestamp}}@javax.annotation.Generated(value = "{{generatorClass}}", date = "{{generatedDate}}"){{/hideGenerationTimestamp}}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/model.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/model.mustache
index 2c383a41a28..225cfd719cc 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/model.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/model.mustache
@@ -2,7 +2,9 @@ package {{package}};
{{#imports}}import {{import}};
{{/imports}}
-
+{{#useBeanValidation}}
+import javax.validation.constraints.*;
+{{/useBeanValidation}}
{{#models}}
{{#model}}{{#description}}
/**
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pathParams.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pathParams.mustache
index 8d80210b4b4..4e21dd6091e 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pathParams.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pathParams.mustache
@@ -1 +1 @@
-{{#isPathParam}}@ApiParam(value = "{{{description}}}"{{#required}},required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) @PathParam("{{baseName}}") {{{dataType}}} {{paramName}}{{/isPathParam}}
\ No newline at end of file
+{{#isPathParam}}{{#useBeanValidation}}{{>beanValidationPathParams}}{{/useBeanValidation}}@ApiParam(value = "{{{description}}}"{{#required}},required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) @PathParam("{{baseName}}") {{{dataType}}} {{paramName}}{{/isPathParam}}
\ No newline at end of file
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pojo.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pojo.mustache
index a62db41bd53..93f920d4d12 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pojo.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pojo.mustache
@@ -1,5 +1,8 @@
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
{{#description}}@ApiModel(description = "{{{description}}}"){{/description}}
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
@@ -24,7 +27,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
{{#vendorExtensions.extraAnnotation}}{{{vendorExtensions.extraAnnotation}}}{{/vendorExtensions.extraAnnotation}}
@ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}")
@JsonProperty("{{baseName}}")
- public {{{datatypeWithEnum}}} {{getter}}() {
+{{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} public {{{datatypeWithEnum}}} {{getter}}() {
return {{name}};
}
public void {{setter}}({{{datatypeWithEnum}}} {{name}}) {
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pom.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pom.mustache
index a5a683b9748..eba993f83fc 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pom.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/pom.mustache
@@ -76,6 +76,16 @@
swagger-annotations
[1.5.3,2)
+
+{{#useBeanValidation}}
+
+
+ javax.validation
+ validation-api
+ 1.1.0.Final
+ provided
+
+{{/useBeanValidation}}
diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/queryParams.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/queryParams.mustache
index 6bff4a4b82d..c1c9e8b45cb 100644
--- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/queryParams.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf-cdi/queryParams.mustache
@@ -1 +1 @@
-{{#isQueryParam}}@ApiParam(value = "{{{description}}}"{{#required}},required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) {{#defaultValue}}@DefaultValue("{{{defaultValue}}}"){{/defaultValue}} @QueryParam("{{baseName}}") {{{dataType}}} {{paramName}}{{/isQueryParam}}
\ No newline at end of file
+{{#isQueryParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}@ApiParam(value = "{{{description}}}"{{#required}},required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) {{#defaultValue}}@DefaultValue("{{{defaultValue}}}"){{/defaultValue}} @QueryParam("{{baseName}}") {{{dataType}}} {{paramName}}{{/isQueryParam}}
\ No newline at end of file
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/pom.xml b/samples/server/petstore/jaxrs-cxf-cdi/pom.xml
index 4534f2961ac..0b12e6bd4a4 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/pom.xml
+++ b/samples/server/petstore/jaxrs-cxf-cdi/pom.xml
@@ -76,6 +76,14 @@
swagger-annotations
[1.5.3,2)
+
+
+
+ javax.validation
+ validation-api
+ 1.1.0.Final
+ provided
+
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApi.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApi.java
index df620e58666..830049c297c 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApi.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApi.java
@@ -13,18 +13,20 @@ import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import io.swagger.annotations.*;
+import java.io.InputStream;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.util.List;
-
+import javax.validation.constraints.*;
@Path("/pet")
@RequestScoped
@Api(description = "the pet API")
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public class PetApi {
@@ -78,7 +80,7 @@ public class PetApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
@ApiResponse(code = 400, message = "Invalid status value", response = Pet.class, responseContainer = "List") })
- public Response findPetsByStatus(@ApiParam(value = "Status values that need to be considered for filter",required=true, allowableValues="available, pending, sold") @QueryParam("status") List status) {
+ public Response findPetsByStatus( @NotNull @ApiParam(value = "Status values that need to be considered for filter",required=true, allowableValues="available, pending, sold") @QueryParam("status") List status) {
return delegate.findPetsByStatus(status, securityContext);
}
@@ -95,7 +97,7 @@ public class PetApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
@ApiResponse(code = 400, message = "Invalid tag value", response = Pet.class, responseContainer = "List") })
- public Response findPetsByTags(@ApiParam(value = "Tags to filter by",required=true) @QueryParam("tags") List tags) {
+ public Response findPetsByTags( @NotNull @ApiParam(value = "Tags to filter by",required=true) @QueryParam("tags") List tags) {
return delegate.findPetsByTags(tags, securityContext);
}
@@ -161,6 +163,6 @@ public class PetApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) })
public Response uploadFile(@ApiParam(value = "ID of pet to update",required=true) @PathParam("petId") Long petId, @Multipart(value = "additionalMetadata", required = false) String additionalMetadata, @Multipart(value = "file", required = false) InputStream fileInputStream, @Multipart(value = "file" , required = false) Attachment fileDetail) {
- return delegate.uploadFile(petId, additionalMetadata, inputStream, fileDetail, securityContext);
+ return delegate.uploadFile(petId, additionalMetadata, fileInputStream, fileDetail, securityContext);
}
}
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApiService.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApiService.java
index 924bf6ea7da..ac8e4a52ff7 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApiService.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/PetApiService.java
@@ -4,6 +4,7 @@ import io.swagger.api.*;
import io.swagger.model.*;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.io.File;
import io.swagger.model.ModelApiResponse;
@@ -16,7 +17,7 @@ import java.io.InputStream;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public interface PetApiService {
public Response addPet(Pet body, SecurityContext securityContext);
public Response deletePet(Long petId, String apiKey, SecurityContext securityContext);
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApi.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApi.java
index 9531172123c..37aadc28199 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApi.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApi.java
@@ -12,18 +12,20 @@ import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import io.swagger.annotations.*;
+import java.io.InputStream;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.util.List;
-
+import javax.validation.constraints.*;
@Path("/store")
@RequestScoped
@Api(description = "the store API")
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public class StoreApi {
@@ -66,7 +68,7 @@ public class StoreApi {
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Order.class),
@ApiResponse(code = 404, message = "Order not found", response = Order.class) })
- public Response getOrderById(@ApiParam(value = "ID of pet that needs to be fetched",required=true) @PathParam("orderId") Long orderId) {
+ public Response getOrderById( @Min(1) @Max(5)@ApiParam(value = "ID of pet that needs to be fetched",required=true) @PathParam("orderId") Long orderId) {
return delegate.getOrderById(orderId, securityContext);
}
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApiService.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApiService.java
index 3ea40b6fbc1..45580cf4183 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApiService.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/StoreApiService.java
@@ -4,6 +4,7 @@ import io.swagger.api.*;
import io.swagger.model.*;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.util.Map;
import io.swagger.model.Order;
@@ -15,7 +16,7 @@ import java.io.InputStream;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public interface StoreApiService {
public Response deleteOrder(String orderId, SecurityContext securityContext);
public Response getInventory(SecurityContext securityContext);
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApi.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApi.java
index cc052a69955..c733612ed1a 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApi.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApi.java
@@ -12,18 +12,20 @@ import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import io.swagger.annotations.*;
+import java.io.InputStream;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.util.List;
-
+import javax.validation.constraints.*;
@Path("/user")
@RequestScoped
@Api(description = "the user API")
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public class UserApi {
@@ -98,7 +100,7 @@ public class UserApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = String.class),
@ApiResponse(code = 400, message = "Invalid username/password supplied", response = String.class) })
- public Response loginUser(@ApiParam(value = "The user name for login",required=true) @QueryParam("username") String username, @ApiParam(value = "The password for login in clear text",required=true) @QueryParam("password") String password) {
+ public Response loginUser( @NotNull @ApiParam(value = "The user name for login",required=true) @QueryParam("username") String username, @NotNull @ApiParam(value = "The password for login in clear text",required=true) @QueryParam("password") String password) {
return delegate.loginUser(username, password, securityContext);
}
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApiService.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApiService.java
index 14187d1302f..ed05f0abe27 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApiService.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/api/UserApiService.java
@@ -4,6 +4,7 @@ import io.swagger.api.*;
import io.swagger.model.*;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.util.List;
import io.swagger.model.User;
@@ -15,7 +16,7 @@ import java.io.InputStream;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public interface UserApiService {
public Response createUser(User body, SecurityContext securityContext);
public Response createUsersWithArrayInput(List body, SecurityContext securityContext);
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Category.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Category.java
index 79ba2971c54..fee23f1bfaf 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Category.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Category.java
@@ -3,7 +3,7 @@ package io.swagger.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
-
+import javax.validation.constraints.*;
/**
* A category for a pet
@@ -11,6 +11,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
@ApiModel(description = "A category for a pet")
public class Category {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/ModelApiResponse.java
index a42de8ae1e1..39d83d433e5 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/ModelApiResponse.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/ModelApiResponse.java
@@ -3,7 +3,7 @@ package io.swagger.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
-
+import javax.validation.constraints.*;
/**
* Describes the result of uploading an image resource
@@ -11,6 +11,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
@ApiModel(description = "Describes the result of uploading an image resource")
public class ModelApiResponse {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Order.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Order.java
index d1fd9f10f03..21e1acca64d 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Order.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Order.java
@@ -3,7 +3,7 @@ package io.swagger.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
-
+import javax.validation.constraints.*;
/**
* An order for a pets from the pet store
@@ -11,6 +11,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
@ApiModel(description = "An order for a pets from the pet store")
public class Order {
@@ -20,22 +23,38 @@ public class Order {
private Integer quantity = null;
private java.util.Date shipDate = null;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
+@XmlType(name="StatusEnum")
+@XmlEnum(String.class)
+public enum StatusEnum {
-@XmlType(name="Order")
-@XmlEnum
-public enum Order {
- {values=[placed, approved, delivered], enumVars=[{name=PLACED, value="placed"}, {name=APPROVED, value="approved"}, {name=DELIVERED, value="delivered"}]},
-
- public String value() {
- return name();
+ @XmlEnumValue("placed") PLACED(String.valueOf("placed")), @XmlEnumValue("approved") APPROVED(String.valueOf("approved")), @XmlEnumValue("delivered") DELIVERED(String.valueOf("delivered"));
+
+
+ private String value;
+
+ StatusEnum (String v) {
+ value = v;
}
- public static Order fromValue(String v) {
- return valueOf(v);
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static StatusEnum fromValue(String v) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ return null;
}
}
+
private StatusEnum status = null;
private Boolean complete = false;
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Pet.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Pet.java
index ebbe32b810f..c346608f0c8 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Pet.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Pet.java
@@ -7,7 +7,7 @@ import io.swagger.model.Category;
import io.swagger.model.Tag;
import java.util.ArrayList;
import java.util.List;
-
+import javax.validation.constraints.*;
/**
* A pet for sale in the pet store
@@ -15,6 +15,9 @@ import java.util.List;
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
@ApiModel(description = "A pet for sale in the pet store")
public class Pet {
@@ -25,22 +28,38 @@ public class Pet {
private List photoUrls = new ArrayList();
private List tags = new ArrayList();
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
+@XmlType(name="StatusEnum")
+@XmlEnum(String.class)
+public enum StatusEnum {
-@XmlType(name="Pet")
-@XmlEnum
-public enum Pet {
- {values=[available, pending, sold], enumVars=[{name=AVAILABLE, value="available"}, {name=PENDING, value="pending"}, {name=SOLD, value="sold"}]},
-
- public String value() {
- return name();
+ @XmlEnumValue("available") AVAILABLE(String.valueOf("available")), @XmlEnumValue("pending") PENDING(String.valueOf("pending")), @XmlEnumValue("sold") SOLD(String.valueOf("sold"));
+
+
+ private String value;
+
+ StatusEnum (String v) {
+ value = v;
}
- public static Pet fromValue(String v) {
- return valueOf(v);
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static StatusEnum fromValue(String v) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ return null;
}
}
+
private StatusEnum status = null;
/**
@@ -87,6 +106,7 @@ public enum Pet {
@ApiModelProperty(example = "doggie", required = true, value = "")
@JsonProperty("name")
+ @NotNull
public String getName() {
return name;
}
@@ -104,6 +124,7 @@ public enum Pet {
@ApiModelProperty(example = "null", required = true, value = "")
@JsonProperty("photoUrls")
+ @NotNull
public List getPhotoUrls() {
return photoUrls;
}
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Tag.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Tag.java
index dc277dedce7..f60b51d5397 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Tag.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/Tag.java
@@ -3,7 +3,7 @@ package io.swagger.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
-
+import javax.validation.constraints.*;
/**
* A tag for a pet
@@ -11,6 +11,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
@ApiModel(description = "A tag for a pet")
public class Tag {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/User.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/User.java
index 0cc5cae6d6e..2548a22c89c 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/User.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/io/swagger/model/User.java
@@ -3,7 +3,7 @@ package io.swagger.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
-
+import javax.validation.constraints.*;
/**
* A User who is purchasing from the pet store
@@ -11,6 +11,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.*;
import java.util.Objects;
+
+import javax.xml.bind.annotation.*;
+
@ApiModel(description = "A User who is purchasing from the pet store")
public class User {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/RestApplication.java b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/RestApplication.java
index 1ae54938776..3b43beeb9be 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/RestApplication.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/RestApplication.java
@@ -1,9 +1,9 @@
-package io.swagger.api;
-
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
-
-@ApplicationPath("/")
-public class RestApplication extends Application {
- // Add implementation-specific details here
+package io.swagger.api;
+
+import javax.ws.rs.ApplicationPath;
+import javax.ws.rs.core.Application;
+
+@ApplicationPath("/")
+public class RestApplication extends Application {
+ // Add implementation-specific details here
}
\ No newline at end of file
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/PetApiServiceImpl.java b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/PetApiServiceImpl.java
index 3a03e87fc7d..c56aee7e580 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/PetApiServiceImpl.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/PetApiServiceImpl.java
@@ -18,7 +18,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
@RequestScoped
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public class PetApiServiceImpl implements PetApiService {
@Override
public Response addPet(Pet body, SecurityContext securityContext) {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/StoreApiServiceImpl.java b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/StoreApiServiceImpl.java
index fed0fa6c0f0..50bd4b8501b 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/StoreApiServiceImpl.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/StoreApiServiceImpl.java
@@ -17,7 +17,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
@RequestScoped
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public class StoreApiServiceImpl implements StoreApiService {
@Override
public Response deleteOrder(String orderId, SecurityContext securityContext) {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/UserApiServiceImpl.java b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/UserApiServiceImpl.java
index 4f4b3db2382..2870f45fb4c 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/UserApiServiceImpl.java
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/io/swagger/api/impl/UserApiServiceImpl.java
@@ -17,7 +17,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
@RequestScoped
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaJAXRSCXFCDIServerCodegen", date = "2016-11-17T08:53:42.205Z")
+
public class UserApiServiceImpl implements UserApiService {
@Override
public Response createUser(User body, SecurityContext securityContext) {
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/main/webapp/WEB-INF/beans.xml b/samples/server/petstore/jaxrs-cxf-cdi/src/main/webapp/WEB-INF/beans.xml
index cb6d500d43f..f9f7d3d948b 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/src/main/webapp/WEB-INF/beans.xml
+++ b/samples/server/petstore/jaxrs-cxf-cdi/src/main/webapp/WEB-INF/beans.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/server/petstore/jaxrs-cxf-cdi/swagger.json b/samples/server/petstore/jaxrs-cxf-cdi/swagger.json
index f48e38d5cb2..18ccb05b4ba 100644
--- a/samples/server/petstore/jaxrs-cxf-cdi/swagger.json
+++ b/samples/server/petstore/jaxrs-cxf-cdi/swagger.json
@@ -375,8 +375,8 @@
"description" : "ID of pet that needs to be fetched",
"required" : true,
"type" : "integer",
- "maximum" : 5.0,
- "minimum" : 1.0,
+ "maximum" : 5,
+ "minimum" : 1,
"format" : "int64"
} ],
"responses" : {
@@ -405,8 +405,7 @@
"in" : "path",
"description" : "ID of the order that needs to be deleted",
"required" : true,
- "type" : "string",
- "minimum" : 1.0
+ "type" : "string"
} ],
"responses" : {
"400" : {