forked from loafle/openapi-generator-original
committed by
William Cheng
parent
7c480446e6
commit
dc7bcbdb85
@@ -718,7 +718,6 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
public String toDefaultValue(Schema p) {
|
||||
p = ModelUtils.getReferencedSchema(this.openAPI, p);
|
||||
if (ModelUtils.isArraySchema(p)) {
|
||||
final ArraySchema ap = (ArraySchema) p;
|
||||
final String pattern;
|
||||
if (fullJavaUtil) {
|
||||
pattern = "new java.util.ArrayList<%s>()";
|
||||
@@ -726,13 +725,15 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
pattern = "new ArrayList<%s>()";
|
||||
}
|
||||
|
||||
if (ap.getItems() == null) {
|
||||
LOGGER.error("`{}` (array property) does not have a proper inner type defined. Default to type:string", ap.getName());
|
||||
Schema inner = new StringSchema().description("TODO default missing array inner type to string");
|
||||
ap.setItems(inner);
|
||||
Schema<?> items;
|
||||
if (p instanceof ArraySchema && ((ArraySchema) p).getItems() != null) {
|
||||
items = ((ArraySchema) p).getItems();
|
||||
} else {
|
||||
LOGGER.error("`{}` (array property) does not have a proper inner type defined. Default to type:string", p.getName());
|
||||
items = new StringSchema().description("TODO default missing array inner type to string");
|
||||
}
|
||||
|
||||
String typeDeclaration = getTypeDeclaration(ap.getItems());
|
||||
String typeDeclaration = getTypeDeclaration(items);
|
||||
Object java8obj = additionalProperties.get("java8");
|
||||
if (java8obj != null) {
|
||||
Boolean java8 = Boolean.valueOf(java8obj.toString());
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
package org.openapitools.codegen.java;
|
||||
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.media.IntegerSchema;
|
||||
import io.swagger.v3.oas.models.media.ObjectSchema;
|
||||
import io.swagger.v3.oas.models.media.Schema;
|
||||
|
||||
import org.openapitools.codegen.CodegenConstants;
|
||||
import org.openapitools.codegen.CodegenType;
|
||||
import org.openapitools.codegen.TestUtils;
|
||||
@@ -302,6 +306,17 @@ public class AbstractJavaCodegenTest {
|
||||
Assert.assertEquals(codegen.getArtifactVersion(), "1.0.0-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toDefaultValueTest() {
|
||||
final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
|
||||
|
||||
Schema schema = new ObjectSchema()
|
||||
.addProperties("id", new IntegerSchema().format("int32"))
|
||||
.minItems(1);
|
||||
String defaultValue = codegen.toDefaultValue(schema);
|
||||
Assert.assertEquals(defaultValue, "new ArrayList<String>()");
|
||||
}
|
||||
|
||||
private static class P_AbstractJavaCodegen extends AbstractJavaCodegen {
|
||||
@Override
|
||||
public CodegenType getTag() {
|
||||
|
||||
Reference in New Issue
Block a user