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.*; import java.util.*;
public class CodegenModel { public class CodegenModel {
public String parent; public String parent, parentSchema;
public String name, classname, description, classVarName, modelJson, dataType; public String name, classname, description, classVarName, modelJson, dataType;
public String unescapedDescription; public String unescapedDescription;
public String defaultValue; public String defaultValue;

View File

@ -789,10 +789,11 @@ public class DefaultCodegen {
final RefModel parent = (RefModel) composed.getParent(); final RefModel parent = (RefModel) composed.getParent();
if (parent != null) { if (parent != null) {
final String parentRef = parent.getSimpleRef(); final String parentRef = parent.getSimpleRef();
m.parent = parentRef; m.parentSchema = parentRef;
addImport(m, toModelName(parent.getSimpleRef())); m.parent = toModelName(parent.getSimpleRef());
addImport(m, m.parent);
if (!supportsInheritance && allDefinitions != null) { if (!supportsInheritance && allDefinitions != null) {
final Model parentModel = allDefinitions.get(parentRef); final Model parentModel = allDefinitions.get(m.parentSchema);
if (parentModel instanceof ModelImpl) { if (parentModel instanceof ModelImpl) {
final ModelImpl _parent = (ModelImpl) parentModel; final ModelImpl _parent = (ModelImpl) parentModel;
if (_parent.getProperties() != null) { 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) { public CodegenModel fromModel(String name, Model model, Map<String, Model> allDefinitions) {
CodegenModel codegenModel = super.fromModel(name, model, allDefinitions); CodegenModel codegenModel = super.fromModel(name, model, allDefinitions);
if (allDefinitions != null && codegenModel != null && codegenModel.parent != null && codegenModel.hasEnums) { if (allDefinitions != null && codegenModel != null && codegenModel.parentSchema != null && codegenModel.hasEnums) {
final Model parentModel = allDefinitions.get(codegenModel.parent); final Model parentModel = allDefinitions.get(codegenModel.parentSchema);
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel); final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel);
codegenModel = this.reconcileInlineEnums(codegenModel, parentCodegenModel); codegenModel = this.reconcileInlineEnums(codegenModel, parentCodegenModel);
} }

View File

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