forked from loafle/openapi-generator-original
Merge branch 'master' of https://github.com/qtstc/swagger-codegen into qtstc-master
This commit is contained in:
commit
fa3aacf4aa
@ -2,32 +2,6 @@ package io.swagger.codegen;
|
|||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringEscapeUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.TreeSet;
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
import io.swagger.codegen.examples.ExampleGenerator;
|
import io.swagger.codegen.examples.ExampleGenerator;
|
||||||
import io.swagger.models.ArrayModel;
|
import io.swagger.models.ArrayModel;
|
||||||
import io.swagger.models.ComposedModel;
|
import io.swagger.models.ComposedModel;
|
||||||
@ -71,7 +45,29 @@ import io.swagger.models.properties.RefProperty;
|
|||||||
import io.swagger.models.properties.StringProperty;
|
import io.swagger.models.properties.StringProperty;
|
||||||
import io.swagger.models.properties.UUIDProperty;
|
import io.swagger.models.properties.UUIDProperty;
|
||||||
import io.swagger.util.Json;
|
import io.swagger.util.Json;
|
||||||
|
import org.apache.commons.lang3.StringEscapeUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class DefaultCodegen {
|
public class DefaultCodegen {
|
||||||
protected static final Logger LOGGER = LoggerFactory.getLogger(DefaultCodegen.class);
|
protected static final Logger LOGGER = LoggerFactory.getLogger(DefaultCodegen.class);
|
||||||
@ -2609,7 +2605,11 @@ public class DefaultCodegen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addImport(m, cp.baseType);
|
addImport(m, cp.baseType);
|
||||||
addImport(m, cp.complexType);
|
CodegenProperty innerCp = cp;
|
||||||
|
while(innerCp != null) {
|
||||||
|
addImport(m, innerCp.complexType);
|
||||||
|
innerCp = innerCp.items;
|
||||||
|
}
|
||||||
vars.add(cp);
|
vars.add(cp);
|
||||||
|
|
||||||
// if required, add to the list "requiredVars"
|
// if required, add to the list "requiredVars"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package io.swagger.codegen.java;
|
package io.swagger.codegen.java;
|
||||||
|
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
import io.swagger.codegen.CodegenModel;
|
import io.swagger.codegen.CodegenModel;
|
||||||
import io.swagger.codegen.CodegenParameter;
|
import io.swagger.codegen.CodegenParameter;
|
||||||
import io.swagger.codegen.CodegenProperty;
|
import io.swagger.codegen.CodegenProperty;
|
||||||
@ -12,13 +13,12 @@ import io.swagger.models.parameters.QueryParameter;
|
|||||||
import io.swagger.models.properties.ArrayProperty;
|
import io.swagger.models.properties.ArrayProperty;
|
||||||
import io.swagger.models.properties.ByteArrayProperty;
|
import io.swagger.models.properties.ByteArrayProperty;
|
||||||
import io.swagger.models.properties.DateTimeProperty;
|
import io.swagger.models.properties.DateTimeProperty;
|
||||||
|
import io.swagger.models.properties.DecimalProperty;
|
||||||
import io.swagger.models.properties.IntegerProperty;
|
import io.swagger.models.properties.IntegerProperty;
|
||||||
import io.swagger.models.properties.LongProperty;
|
import io.swagger.models.properties.LongProperty;
|
||||||
import io.swagger.models.properties.MapProperty;
|
import io.swagger.models.properties.MapProperty;
|
||||||
import io.swagger.models.properties.RefProperty;
|
import io.swagger.models.properties.RefProperty;
|
||||||
import io.swagger.models.properties.StringProperty;
|
import io.swagger.models.properties.StringProperty;
|
||||||
|
|
||||||
import com.google.common.collect.Sets;
|
|
||||||
import org.testng.Assert;
|
import org.testng.Assert;
|
||||||
import org.testng.annotations.DataProvider;
|
import org.testng.annotations.DataProvider;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
@ -458,6 +458,21 @@ public class JavaModelTest {
|
|||||||
Assert.assertNull(cm.allowableValues);
|
Assert.assertNull(cm.allowableValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(description = "types used by inner properties should be imported")
|
||||||
|
public void mapWithAnListOfBigDecimalTest() {
|
||||||
|
final CodegenModel cm1 = new JavaClientCodegen().fromModel("sample", new ModelImpl()
|
||||||
|
.description("model with Map<String, List<BigDecimal>>")
|
||||||
|
.property("map", new MapProperty().additionalProperties(new ArrayProperty(new DecimalProperty()))));
|
||||||
|
Assert.assertEquals(cm1.vars.get(0).datatype, "Map<String, List<BigDecimal>>");
|
||||||
|
Assert.assertTrue(cm1.imports.contains("BigDecimal"));
|
||||||
|
|
||||||
|
final CodegenModel cm2 = new JavaClientCodegen().fromModel("sample", new ModelImpl()
|
||||||
|
.description("model with Map<String, Map<String, List<BigDecimal>>>")
|
||||||
|
.property("map", new MapProperty().additionalProperties(new MapProperty().additionalProperties(new ArrayProperty(new DecimalProperty())))));
|
||||||
|
Assert.assertEquals(cm2.vars.get(0).datatype, "Map<String, Map<String, List<BigDecimal>>>");
|
||||||
|
Assert.assertTrue(cm2.imports.contains("BigDecimal"));
|
||||||
|
}
|
||||||
|
|
||||||
@DataProvider(name = "modelNames")
|
@DataProvider(name = "modelNames")
|
||||||
public static Object[][] primeNumbers() {
|
public static Object[][] primeNumbers() {
|
||||||
return new Object[][] {
|
return new Object[][] {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user