updated tests, added parentSchema

This commit is contained in:
Tony Tam 2016-01-05 16:12:03 -08:00
parent 5a956df108
commit e82c12ccf8
4 changed files with 8 additions and 7 deletions

View File

@ -5,7 +5,7 @@ import io.swagger.models.ExternalDocs;
import java.util.*;
public class CodegenModel {
public String parent;
public String parent, parentSchema;
public String name, classname, description, classVarName, modelJson, dataType;
public String unescapedDescription;
public String defaultValue;

View File

@ -789,10 +789,11 @@ public class DefaultCodegen {
final RefModel parent = (RefModel) composed.getParent();
if (parent != null) {
final String parentRef = parent.getSimpleRef();
m.parent = parentRef;
addImport(m, toModelName(parent.getSimpleRef()));
m.parentSchema = parentRef;
m.parent = toModelName(parent.getSimpleRef());
addImport(m, m.parent);
if (!supportsInheritance && allDefinitions != null) {
final Model parentModel = allDefinitions.get(parentRef);
final Model parentModel = allDefinitions.get(m.parentSchema);
if (parentModel instanceof ModelImpl) {
final ModelImpl _parent = (ModelImpl) parentModel;
if (_parent.getProperties() != null) {

View File

@ -455,8 +455,8 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
public CodegenModel fromModel(String name, Model model, Map<String, Model> allDefinitions) {
CodegenModel codegenModel = super.fromModel(name, model, allDefinitions);
if (allDefinitions != null && codegenModel != null && codegenModel.parent != null && codegenModel.hasEnums) {
final Model parentModel = allDefinitions.get(codegenModel.parent);
if (allDefinitions != null && codegenModel != null && codegenModel.parentSchema != null && codegenModel.hasEnums) {
final Model parentModel = allDefinitions.get(codegenModel.parentSchema);
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel);
codegenModel = this.reconcileInlineEnums(codegenModel, parentCodegenModel);
}

View File

@ -80,7 +80,7 @@ public class JavaModelEnumTest {
Assert.assertEquals(cm.name, "sample");
Assert.assertEquals(cm.classname, "Sample");
Assert.assertEquals(cm.parent, "parentModel");
Assert.assertEquals(cm.parent, "ParentModel");
Assert.assertTrue(cm.imports.contains("ParentModel"));
// Assert that only the unshared/uninherited enum remains