Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import io.swagger.v3.oas.models.parameters.RequestBody;
import io.swagger.v3.oas.models.servers.Server;
import io.swagger.v3.parser.util.SchemaTypeUtil;
import java.text.SimpleDateFormat;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.io.FilenameUtils;
Expand All @@ -54,6 +53,8 @@
import java.io.File;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.regex.Matcher;
Expand All @@ -72,7 +73,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code

private final Logger LOGGER = LoggerFactory.getLogger(AbstractJavaCodegen.class);
private static final String ARTIFACT_VERSION_DEFAULT_VALUE = "1.0.0";
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd", Locale.ROOT);
private static final ZoneId UTC = ZoneId.of("UTC");

public static final String DEFAULT_LIBRARY = "<default>";
public static final String DATE_LIBRARY = "dateLibrary";
Expand Down Expand Up @@ -1641,7 +1642,8 @@ public void setParameterExampleValue(CodegenParameter p) {
public String toExampleValue(Schema p) {
if (p.getExample() != null) {
if (p.getExample() instanceof Date) {
return DATE_FORMAT.format(p.getExample());
Date date = (Date)p.getExample();
return DateTimeFormatter.ISO_LOCAL_DATE.format(ZonedDateTime.ofInstant(date.toInstant(), UTC));
}
return escapeText(p.getExample().toString());
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package {{invokerPackage}};
public class Configuration {
public static final String VERSION = "{{{artifactVersion}}}";

private static ApiClient defaultApiClient = new ApiClient();
private static volatile ApiClient defaultApiClient = new ApiClient();

/**
* Get the default API client, which would be used when creating API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import {{invokerPackage}}.ApiClient;
import {{invokerPackage}}.JSON;

{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{>xmlAnnotation}}
Expand Down Expand Up @@ -241,7 +242,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
for ({{{items.dataType}}} _item : ({{{dataType}}})getActualInstance()) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf(_item))));
}
i++;
}
Expand All @@ -251,7 +252,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
for (int i = 0; i < (({{{dataType}}})getActualInstance()).size(); i++) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf(getActualInstance().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf(getActualInstance().get(i)))));
}
}
{{/uniqueItems}}
Expand Down Expand Up @@ -289,7 +290,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
if (_item != null) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf(_item))));
}
i++;
}
Expand All @@ -301,7 +302,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
if (getActualInstance().get(i) != null) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf((({{{dataType}}})getActualInstance()).get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf((({{{dataType}}})getActualInstance()).get(i)))));
}
}
}
Expand All @@ -316,7 +317,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
for (String _key : (({{{dataType}}})getActualInstance()).keySet()) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix),
getActualInstance().get(_key), URLEncoder.encode(String.valueOf((({{{dataType}}})getActualInstance()).get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
getActualInstance().get(_key), ApiClient.urlEncode(String.valueOf((({{{dataType}}})getActualInstance()).get(_key)))));
}
}
{{/items.isPrimitiveType}}
Expand All @@ -334,7 +335,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
{{^isMap}}
{{#isPrimitiveType}}
if (getActualInstance() != null) {
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getActualInstance()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, ApiClient.urlEncode(String.valueOf(getActualInstance()))));
}
{{/isPrimitiveType}}
{{^isPrimitiveType}}
Expand All @@ -345,7 +346,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
{{/isModel}}
{{^isModel}}
if (getActualInstance() != null) {
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getActualInstance()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, ApiClient.urlEncode(String.valueOf(getActualInstance()))));
}
{{/isModel}}
{{/isPrimitiveType}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package {{package}};
import {{invokerPackage}}.ApiClient;
import {{invokerPackage}}.ApiException;
import {{invokerPackage}}.ApiResponse;
import {{invokerPackage}}.Configuration;
import {{invokerPackage}}.Pair;

{{#imports}}
Expand Down Expand Up @@ -64,7 +65,7 @@ public class {{classname}} {
private final Consumer<HttpResponse<String>> memberVarAsyncResponseInterceptor;

public {{classname}}() {
this(new ApiClient());
this(Configuration.getDefaultApiClient());
}

public {{classname}}(ApiClient apiClient) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import {{invokerPackage}}.ApiClient;
import {{invokerPackage}}.JSON;

{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{>xmlAnnotation}}
Expand Down Expand Up @@ -274,7 +275,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
for ({{{items.dataType}}} _item : ({{{dataType}}})getActualInstance()) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf(_item))));
}
i++;
}
Expand All @@ -284,7 +285,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
for (int i = 0; i < (({{{dataType}}})getActualInstance()).size(); i++) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf(getActualInstance().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf(getActualInstance().get(i)))));
}
}
{{/uniqueItems}}
Expand Down Expand Up @@ -322,7 +323,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
if (_item != null) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf(_item))));
}
i++;
}
Expand All @@ -334,7 +335,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
if (getActualInstance().get(i) != null) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(String.valueOf((({{{dataType}}})getActualInstance()).get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(String.valueOf((({{{dataType}}})getActualInstance()).get(i)))));
}
}
}
Expand All @@ -349,7 +350,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
for (String _key : (({{{dataType}}})getActualInstance()).keySet()) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix),
getActualInstance().get(_key), URLEncoder.encode(String.valueOf((({{{dataType}}})getActualInstance()).get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
getActualInstance().get(_key), ApiClient.urlEncode(String.valueOf((({{{dataType}}})getActualInstance()).get(_key)))));
}
}
{{/items.isPrimitiveType}}
Expand All @@ -367,7 +368,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
{{^isMap}}
{{#isPrimitiveType}}
if (getActualInstance() != null) {
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getActualInstance()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, ApiClient.urlEncode(String.valueOf(getActualInstance()))));
}
{{/isPrimitiveType}}
{{^isPrimitiveType}}
Expand All @@ -378,7 +379,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
{{/isModel}}
{{^isModel}}
if (getActualInstance() != null) {
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getActualInstance()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, ApiClient.urlEncode(String.valueOf(getActualInstance()))));
}
{{/isModel}}
{{/isPrimitiveType}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
for ({{{items.dataType}}} _item : {{getter}}()) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(ApiClient.valueToString(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(ApiClient.valueToString(_item))));
}
i++;
}
Expand All @@ -396,7 +396,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
for (int i = 0; i < {{getter}}().size(); i++) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(ApiClient.valueToString({{getter}}().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(ApiClient.valueToString({{getter}}().get(i)))));
}
}
{{/uniqueItems}}
Expand Down Expand Up @@ -434,7 +434,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
if (_item != null) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(ApiClient.valueToString(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(ApiClient.valueToString(_item))));
}
i++;
}
Expand All @@ -446,7 +446,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
if ({{getter}}().get(i) != null) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
URLEncoder.encode(ApiClient.valueToString({{getter}}().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
ApiClient.urlEncode(ApiClient.valueToString({{getter}}().get(i)))));
}
}
}
Expand All @@ -461,7 +461,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
for (String _key : {{getter}}().keySet()) {
joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix,
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix),
{{getter}}().get(_key), URLEncoder.encode(ApiClient.valueToString({{getter}}().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
{{getter}}().get(_key), ApiClient.urlEncode(ApiClient.valueToString({{getter}}().get(_key)))));
}
}
{{/items.isModel}}
Expand All @@ -479,7 +479,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{^isMap}}
{{#isPrimitiveType}}
if ({{getter}}() != null) {
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(ApiClient.valueToString({{{getter}}}()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString({{{getter}}}()))));
}
{{/isPrimitiveType}}
{{^isPrimitiveType}}
Expand All @@ -490,7 +490,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{/isModel}}
{{^isModel}}
if ({{getter}}() != null) {
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(ApiClient.valueToString({{{getter}}}()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString({{{getter}}}()))));
}
{{/isModel}}
{{/isPrimitiveType}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,6 @@ public void testGeneratedExampleValues() {
final OpenAPI openAPI = FLATTENED_SPEC.get("3_0/spring/date-time-parameter-types-for-testing");
codegen.setOpenAPI(openAPI);
DateSchema dateSchema = (DateSchema) openAPI.getPaths().get("/thingy/{date}").getPost().getParameters().get(0).getSchema();
Assert.assertTrue(codegen.escapeQuotationMark(codegen.toExampleValue(dateSchema)).matches("2021-01-01"));
assertThat(codegen.escapeQuotationMark(codegen.toExampleValue(dateSchema))).isEqualTo("2021-01-01");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
public class Configuration {
public static final String VERSION = "0.1.0";

private static ApiClient defaultApiClient = new ApiClient();
private static volatile ApiClient defaultApiClient = new ApiClient();

/**
* Get the default API client, which would be used when creating API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
public class Configuration {
public static final String VERSION = "0.1.0";

private static ApiClient defaultApiClient = new ApiClient();
private static volatile ApiClient defaultApiClient = new ApiClient();

/**
* Get the default API client, which would be used when creating API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.ApiResponse;
import org.openapitools.client.Configuration;
import org.openapitools.client.Pair;


Expand Down Expand Up @@ -54,7 +55,7 @@ public class AuthApi {
private final Consumer<HttpResponse<String>> memberVarAsyncResponseInterceptor;

public AuthApi() {
this(new ApiClient());
this(Configuration.getDefaultApiClient());
}

public AuthApi(ApiClient apiClient) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.ApiResponse;
import org.openapitools.client.Configuration;
import org.openapitools.client.Pair;

import java.io.File;
Expand Down Expand Up @@ -64,7 +65,7 @@ public class BodyApi {
private final Consumer<HttpResponse<String>> memberVarAsyncResponseInterceptor;

public BodyApi() {
this(new ApiClient());
this(Configuration.getDefaultApiClient());
}

public BodyApi(ApiClient apiClient) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.ApiResponse;
import org.openapitools.client.Configuration;
import org.openapitools.client.Pair;

import org.openapitools.client.model.TestFormObjectMultipartRequestMarker;
Expand Down Expand Up @@ -61,7 +62,7 @@ public class FormApi {
private final Consumer<HttpResponse<String>> memberVarAsyncResponseInterceptor;

public FormApi() {
this(new ApiClient());
this(Configuration.getDefaultApiClient());
}

public FormApi(ApiClient apiClient) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.ApiResponse;
import org.openapitools.client.Configuration;
import org.openapitools.client.Pair;

import org.openapitools.client.model.StringEnumRef;
Expand Down Expand Up @@ -61,7 +62,7 @@ public class HeaderApi {
private final Consumer<HttpResponse<String>> memberVarAsyncResponseInterceptor;

public HeaderApi() {
this(new ApiClient());
this(Configuration.getDefaultApiClient());
}

public HeaderApi(ApiClient apiClient) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.ApiResponse;
import org.openapitools.client.Configuration;
import org.openapitools.client.Pair;

import org.openapitools.client.model.StringEnumRef;
Expand Down Expand Up @@ -61,7 +62,7 @@ public class PathApi {
private final Consumer<HttpResponse<String>> memberVarAsyncResponseInterceptor;

public PathApi() {
this(new ApiClient());
this(Configuration.getDefaultApiClient());
}

public PathApi(ApiClient apiClient) {
Expand Down
Loading
Loading