diff --git a/bin/java-play-framework-petstore-server-fake-endpoints.sh b/bin/java-play-framework-petstore-server-fake-endpoints.sh index 2df4e029f3d..07504c40d8d 100755 --- a/bin/java-play-framework-petstore-server-fake-endpoints.sh +++ b/bin/java-play-framework-petstore-server-fake-endpoints.sh @@ -27,8 +27,8 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" -ags="$@ generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-fake-endpoints -DhideGenerationTimestamp=true" +ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-fake-endpoints -DhideGenerationTimestamp=true $@" java $JAVA_OPTS -jar $executable $ags -cp samples.ci/server/petstore/java-play-framework-fake-endpoints/pom.xml samples/server/petstore/java-play-framework-fake-endpoints/pom.xml \ No newline at end of file +cp samples.ci/server/petstore/java-play-framework-fake-endpoints/pom.xml samples/server/petstore/java-play-framework-fake-endpoints/pom.xml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 2b3c18d0e65..7b04235dfe9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -4097,12 +4097,7 @@ public class DefaultCodegen implements CodegenConfig { arraySchema.setItems(inner); } - //TODO fix collectformat for form parameters - //collectionFormat = getCollectionFormat(s); - // default to csv: - collectionFormat = StringUtils.isEmpty(collectionFormat) ? "csv" : collectionFormat; codegenParameter = fromFormProperty(entry.getKey(), inner, imports); - CodegenProperty codegenProperty = fromProperty("inner", inner); codegenParameter.items = codegenProperty; codegenParameter.baseType = codegenProperty.datatype; @@ -4110,6 +4105,10 @@ public class DefaultCodegen implements CodegenConfig { codegenParameter.isListContainer = true; codegenParameter.description = s.getDescription(); codegenParameter.dataType = getTypeDeclaration(s); + //TODO fix collectformat for form parameters + //collectionFormat = getCollectionFormat(s); + // default to csv: + codegenParameter.collectionFormat = StringUtils.isEmpty(collectionFormat) ? "csv" : collectionFormat; // recursively add import while (codegenProperty != null) { @@ -4253,7 +4252,8 @@ public class DefaultCodegen implements CodegenConfig { } codegenParameter.paramName = toParamName(codegenParameter.baseName); codegenParameter.items = codegenProperty.items; - codegenParameter.dataType = getTypeDeclaration(inner); + codegenParameter.dataType = getTypeDeclaration(schema); + LOGGER.info("debugging inline map: " + codegenParameter.dataType); codegenParameter.baseType = getSchemaType(inner); codegenParameter.isContainer = Boolean.TRUE; codegenParameter.isMapContainer = Boolean.TRUE; diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiController.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiController.java index 81e00479c36..6a20f9c52a3 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiController.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiController.java @@ -289,12 +289,14 @@ public class FakeApiController extends Controller { } else { enumQueryDouble = null; } - String valueenumFormStringArray = (request().body().asMultipartFormData().asFormUrlEncoded().get("enum_form_string_array"))[0]; - String enumFormStringArray; - if (valueenumFormStringArray != null) { - enumFormStringArray = valueenumFormStringArray; - } else { - enumFormStringArray = "$"; + String[] enumFormStringArrayArray = request().body().asMultipartFormData().asFormUrlEncoded().get("enum_form_string_array"); + List enumFormStringArrayList = OpenAPIUtils.parametersToList("csv", enumFormStringArrayArray); + List enumFormStringArray = new ArrayList(); + for (String curParam : enumFormStringArrayList) { + if (!curParam.isEmpty()) { + //noinspection UseBulkOperation + enumFormStringArray.add(curParam); + } } String valueenumFormString = (request().body().asMultipartFormData().asFormUrlEncoded().get("enum_form_string"))[0]; String enumFormString; @@ -326,9 +328,9 @@ public class FakeApiController extends Controller { @ApiAction public Result testInlineAdditionalProperties() throws Exception { JsonNode noderequestBody = request().body().asJson(); - String requestBody; + Map requestBody; if (noderequestBody != null) { - requestBody = mapper.readValue(noderequestBody.toString(), new TypeReference(){}); + requestBody = mapper.readValue(noderequestBody.toString(), new TypeReference>(){}); if (configuration.getBoolean("useInputBeanValidation")) { for (Map.Entry entry : requestBody.entrySet()) { OpenAPIUtils.validate(entry.getValue()); diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImp.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImp.java index 684ff8caff9..cd25ea9238e 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImp.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImp.java @@ -58,12 +58,12 @@ public class FakeApiControllerImp implements FakeApiControllerImpInterface { } @Override - public void testEnumParameters(List enumHeaderStringArray, String enumHeaderString, List enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, String enumFormStringArray, String enumFormString) throws Exception { + public void testEnumParameters(List enumHeaderStringArray, String enumHeaderString, List enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, List enumFormStringArray, String enumFormString) throws Exception { //Do your magic!!! } @Override - public void testInlineAdditionalProperties(String requestBody) throws Exception { + public void testInlineAdditionalProperties(Map requestBody) throws Exception { //Do your magic!!! } diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImpInterface.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImpInterface.java index 03b54d0c825..0ab57c66a42 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImpInterface.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/controllers/FakeApiControllerImpInterface.java @@ -32,9 +32,9 @@ public interface FakeApiControllerImpInterface { void testEndpointParameters(BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, Http.MultipartFormData.FilePart binary, LocalDate date, OffsetDateTime dateTime, String password, String paramCallback) throws Exception; - void testEnumParameters(List enumHeaderStringArray, String enumHeaderString, List enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, String enumFormStringArray, String enumFormString) throws Exception; + void testEnumParameters(List enumHeaderStringArray, String enumHeaderString, List enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, List enumFormStringArray, String enumFormString) throws Exception; - void testInlineAdditionalProperties(String requestBody) throws Exception; + void testInlineAdditionalProperties(Map requestBody) throws Exception; void testJsonFormData(String param, String param2) throws Exception;