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.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.models.ArrayModel;
|
||||
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.UUIDProperty;
|
||||
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 {
|
||||
protected static final Logger LOGGER = LoggerFactory.getLogger(DefaultCodegen.class);
|
||||
@ -2609,7 +2605,11 @@ public class DefaultCodegen {
|
||||
}
|
||||
|
||||
addImport(m, cp.baseType);
|
||||
addImport(m, cp.complexType);
|
||||
CodegenProperty innerCp = cp;
|
||||
while(innerCp != null) {
|
||||
addImport(m, innerCp.complexType);
|
||||
innerCp = innerCp.items;
|
||||
}
|
||||
vars.add(cp);
|
||||
|
||||
// if required, add to the list "requiredVars"
|
||||
|
@ -1,5 +1,6 @@
|
||||
package io.swagger.codegen.java;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
import io.swagger.codegen.CodegenParameter;
|
||||
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.ByteArrayProperty;
|
||||
import io.swagger.models.properties.DateTimeProperty;
|
||||
import io.swagger.models.properties.DecimalProperty;
|
||||
import io.swagger.models.properties.IntegerProperty;
|
||||
import io.swagger.models.properties.LongProperty;
|
||||
import io.swagger.models.properties.MapProperty;
|
||||
import io.swagger.models.properties.RefProperty;
|
||||
import io.swagger.models.properties.StringProperty;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
@ -458,6 +458,21 @@ public class JavaModelTest {
|
||||
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")
|
||||
public static Object[][] primeNumbers() {
|
||||
return new Object[][] {
|
||||
|
Loading…
x
Reference in New Issue
Block a user