Skip to content

Commit 176eeb8

Browse files
committed
replaced thread-unsafe SimpleDateFormat with DateTimeFormatter and re-enabled unit-test
1 parent 2ac724d commit 176eeb8

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import io.swagger.v3.oas.models.parameters.RequestBody;
3232
import io.swagger.v3.oas.models.servers.Server;
3333
import io.swagger.v3.parser.util.SchemaTypeUtil;
34-
import java.text.SimpleDateFormat;
3534
import lombok.Getter;
3635
import lombok.Setter;
3736
import org.apache.commons.io.FilenameUtils;
@@ -54,6 +53,8 @@
5453
import java.io.File;
5554
import java.time.LocalDate;
5655
import java.time.ZoneId;
56+
import java.time.ZonedDateTime;
57+
import java.time.format.DateTimeFormatter;
5758
import java.util.*;
5859
import java.util.concurrent.ConcurrentSkipListSet;
5960
import java.util.regex.Matcher;
@@ -72,7 +73,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
7273

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

7778
public static final String DEFAULT_LIBRARY = "<default>";
7879
public static final String DATE_LIBRARY = "dateLibrary";
@@ -1641,7 +1642,8 @@ public void setParameterExampleValue(CodegenParameter p) {
16411642
public String toExampleValue(Schema p) {
16421643
if (p.getExample() != null) {
16431644
if (p.getExample() instanceof Date) {
1644-
return DATE_FORMAT.format(p.getExample());
1645+
Date date = (Date)p.getExample();
1646+
return DateTimeFormatter.ISO_LOCAL_DATE.format(ZonedDateTime.ofInstant(date.toInstant(), UTC));
16451647
}
16461648
return escapeText(p.getExample().toString());
16471649
} else {

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,6 @@ public void removeAnnotationsTest() {
966966
Assert.assertEquals(codegen.removeAnnotations("List<@Valid Pet>"), "List<Pet>");
967967
}
968968

969-
@Disabled("currently fails")
970969
@Test(description = "test generated example values for string properties")
971970
public void testGeneratedExampleValues() {
972971
final OpenAPI openAPI = FLATTENED_SPEC.get("3_0/spring/date-time-parameter-types-for-testing");

0 commit comments

Comments
 (0)