Skip to content

Commit 27a3df5

Browse files
committed
fixed empty diamond operator on aspnetcore
1 parent 3546c9b commit 27a3df5

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package io.swagger.codegen.v3.generators.dotnet;
2+
3+
import io.swagger.codegen.v3.CodegenModel;
4+
import io.swagger.codegen.v3.generators.DefaultCodegenConfig;
5+
import io.swagger.codegen.v3.generators.SchemaHandler;
6+
import io.swagger.v3.oas.models.media.ArraySchema;
7+
8+
import java.util.Map;
9+
10+
public class DotNetSchemaHandler extends SchemaHandler {
11+
12+
public DotNetSchemaHandler(DefaultCodegenConfig codegenConfig) {
13+
super(codegenConfig);
14+
}
15+
16+
protected CodegenModel processArrayItemSchema(CodegenModel codegenModel, ArraySchema arraySchema, Map<String, CodegenModel> allModels) {
17+
final CodegenModel composedModel = super.processArrayItemSchema(codegenModel, arraySchema, allModels);
18+
if (composedModel == null) {
19+
return null;
20+
}
21+
if (codegenModel.getParent().equals("List<>")) {
22+
codegenModel.setParent("List<" + composedModel.getClassname() + ">");
23+
}
24+
return composedModel;
25+
}
26+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.swagger.codegen.v3.generators.dotnet;
2+
3+
import io.swagger.codegen.v3.CodegenConfig;
4+
import io.swagger.codegen.v3.CodegenModel;
5+
import io.swagger.codegen.v3.generators.AbstractCodegenTest;
6+
import io.swagger.codegen.v3.generators.CodegenWrapper;
7+
import io.swagger.v3.oas.models.OpenAPI;
8+
import org.testng.Assert;
9+
import org.testng.annotations.Test;
10+
11+
public class AspNetCoreServerCodegenTest extends AbstractCodegenTest {
12+
13+
@Test(description = "Verify if List<> is fixed for array schema with composed items.")
14+
public void checkArrayItemsSchemaParent() {
15+
final OpenAPI openAPI = getOpenAPI("3_0_0/composed_schemas.yaml");
16+
final CodegenConfig config = new AspNetCoreServerCodegen();
17+
final CodegenWrapper codegenWrapper = processSchemas(config, openAPI);
18+
CodegenModel codegenModel = codegenWrapper.getAllModels().get("AllPetsResponse");
19+
Assert.assertEquals(codegenModel.parent, "List<OneOfAllPetsResponseItems>");
20+
}
21+
}

0 commit comments

Comments
 (0)