From 338f7f2a098b3fd2f7e9bb187eecfec824008722 Mon Sep 17 00:00:00 2001 From: Antoine Reilles Date: Wed, 23 Apr 2025 08:53:42 +0200 Subject: [PATCH] cxf file upload should only present Attachment (#21124) The InputStream is not necessary, as it can be obtained from the Attachment object via getInputStream(). --- .../src/main/resources/JavaJaxRS/cxf-cdi/api.mustache | 2 +- .../src/main/resources/JavaJaxRS/cxf-cdi/formParams.mustache | 2 +- .../resources/JavaJaxRS/cxf-cdi/serviceFormParams.mustache | 2 +- .../src/gen/java/org/openapitools/api/PetApi.java | 4 ++-- .../src/gen/java/org/openapitools/api/PetApiService.java | 2 +- .../java/org/openapitools/api/impl/PetApiServiceImpl.java | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache index afc9931c241..844728cff62 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/api.mustache @@ -62,7 +62,7 @@ public class {{classname}} { @ApiResponses(value = { {{#responses}} @ApiResponse(code = {{{code}}}, message = "{{{message}}}", response = {{{baseType}}}.class{{#containerType}}, responseContainer = "{{{.}}}"{{/containerType}}){{^-last}},{{/-last}}{{/responses}} }) public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}) { - return delegate.{{nickname}}({{#allParams}}{{#isFile}}{{#isMultipart}}{{paramName}}InputStream, {{paramName}}Detail{{/isMultipart}}{{^isMultipart}}{{paramName}}{{/isMultipart}}{{/isFile}}{{^isFile}}{{paramName}}{{/isFile}}, {{/allParams}}securityContext); + return delegate.{{nickname}}({{#allParams}}{{#isFile}}{{#isMultipart}}{{paramName}}Detail{{/isMultipart}}{{^isMultipart}}{{paramName}}{{/isMultipart}}{{/isFile}}{{^isFile}}{{paramName}}{{/isFile}}, {{/allParams}}securityContext); } {{/operation}} } diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/formParams.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/formParams.mustache index a900c62ccfe..32fa55efd4b 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/formParams.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/formParams.mustache @@ -1 +1 @@ -{{#isFormParam}}{{^isFile}}{{#isMultipart}}@Multipart{{/isMultipart}}{{^isMultipart}}@FormParam{{/isMultipart}}(value = "{{baseName}}"{{^required}}{{#isMultipart}}, required = false{{/isMultipart}}{{/required}}) {{{dataType}}} {{paramName}}{{/isFile}}{{#isFile}} @Multipart(value = "{{baseName}}"{{^required}}, required = false{{/required}}) InputStream {{paramName}}InputStream, @Multipart(value = "{{baseName}}" {{^required}}, required = false{{/required}}) Attachment {{paramName}}Detail{{/isFile}}{{/isFormParam}} \ No newline at end of file +{{#isFormParam}}{{^isFile}}{{#isMultipart}}@Multipart{{/isMultipart}}{{^isMultipart}}@FormParam{{/isMultipart}}(value = "{{baseName}}"{{^required}}{{#isMultipart}}, required = false{{/isMultipart}}{{/required}}) {{{dataType}}} {{paramName}}{{/isFile}}{{#isFile}} @Multipart(value = "{{baseName}}" {{^required}}, required = false{{/required}}) Attachment {{paramName}}Detail{{/isFile}}{{/isFormParam}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/serviceFormParams.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/serviceFormParams.mustache index df6fba4a3dd..fdcd6501093 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/serviceFormParams.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi/serviceFormParams.mustache @@ -1 +1 @@ -{{#isFormParam}}{{^isFile}}{{{dataType}}} {{paramName}}{{/isFile}}{{#isFile}}InputStream {{paramName}}InputStream, Attachment {{paramName}}Detail{{/isFile}}{{/isFormParam}} \ No newline at end of file +{{#isFormParam}}{{^isFile}}{{{dataType}}} {{paramName}}{{/isFile}}{{#isFile}}Attachment {{paramName}}Detail{{/isFile}}{{/isFormParam}} \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApi.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApi.java index 8081a7077d6..2c3db42ac49 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApi.java @@ -162,7 +162,7 @@ public class PetApi { }, tags={ "pet" }) @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, _fileInputStream, _fileDetail, securityContext); + 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) Attachment _fileDetail) { + return delegate.uploadFile(petId, additionalMetadata, _fileDetail, securityContext); } } diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApiService.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApiService.java index 1ffcb7fab12..84c3f849531 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApiService.java +++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/api/PetApiService.java @@ -28,5 +28,5 @@ public interface PetApiService { public Response getPetById(Long petId, SecurityContext securityContext); public Response updatePet(Pet pet, SecurityContext securityContext); public Response updatePetWithForm(Long petId, String name, String status, SecurityContext securityContext); - public Response uploadFile(Long petId, String additionalMetadata, InputStream _fileInputStream, Attachment _fileDetail, SecurityContext securityContext); + public Response uploadFile(Long petId, String additionalMetadata, Attachment _fileDetail, SecurityContext securityContext); } diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java index 323a1eff5ae..ec16ab2266b 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java +++ b/samples/server/petstore/jaxrs-cxf-cdi/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java @@ -58,7 +58,7 @@ public class PetApiServiceImpl implements PetApiService { return Response.ok().entity("magic!").build(); } @Override - public Response uploadFile(Long petId, String additionalMetadata, InputStream _fileInputStream, Attachment _fileDetail, SecurityContext securityContext) { + public Response uploadFile(Long petId, String additionalMetadata, Attachment _fileDetail, SecurityContext securityContext) { // do some magic! return Response.ok().entity("magic!").build(); }