Skip to content

Commit 0ad39cc

Browse files
[Java] Fix import mapping for arrays with reference items of type string (#7182)
* fixed import mapping for arrays with component of type string * changed test title * generated samples * Revert "generated samples" This reverts commit b86a6fc.
1 parent edf153e commit 0ad39cc

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,7 @@ public String toModelFilename(String name) {
774774

775775
@Override
776776
public String getTypeDeclaration(Schema p) {
777-
Schema<?> schema = ModelUtils.unaliasSchema(this.openAPI, p);
777+
Schema<?> schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping);
778778
Schema<?> target = ModelUtils.isGenerateAliasAsModel() ? p : schema;
779779
if (ModelUtils.isArraySchema(target)) {
780780
Schema<?> items = getSchemaItems((ArraySchema) schema);

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

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,6 @@
2020
import io.swagger.v3.oas.models.Components;
2121
import io.swagger.v3.oas.models.OpenAPI;
2222
import io.swagger.v3.oas.models.media.*;
23-
24-
import java.time.LocalDate;
25-
import java.time.ZoneId;
26-
import java.time.format.DateTimeFormatter;
27-
import java.util.Date;
2823
import org.openapitools.codegen.CodegenConstants;
2924
import org.openapitools.codegen.CodegenModel;
3025
import org.openapitools.codegen.CodegenType;
@@ -35,6 +30,9 @@
3530
import org.testng.annotations.Test;
3631

3732
import java.io.File;
33+
import java.time.LocalDate;
34+
import java.time.ZoneId;
35+
import java.util.Date;
3836

3937
public class AbstractJavaCodegenTest {
4038

@@ -452,6 +450,16 @@ public void toDefaultValueTest() {
452450
Assert.assertEquals(defaultLocalDate, LocalDate.parse(defaultValue));
453451
}
454452

453+
@Test
454+
public void getTypeDeclarationGivenImportMappingTest() {
455+
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
456+
codegen.importMapping().put("MyStringType", "com.example.foo");
457+
codegen.setOpenAPI(new OpenAPI().components(new Components().addSchemas("MyStringType", new StringSchema())));
458+
Schema<?> schema = new ArraySchema().items(new Schema().$ref("#/components/schemas/MyStringType"));
459+
String defaultValue = codegen.getTypeDeclaration(schema);
460+
Assert.assertEquals(defaultValue, "List<com.example.foo>");
461+
}
462+
455463
@Test
456464
public void getTypeDeclarationTest() {
457465
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();

0 commit comments

Comments
 (0)