From e82c12ccf82b88c4cfc241123f3765c751bd8788 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Tue, 5 Jan 2016 16:12:03 -0800 Subject: [PATCH] updated tests, added parentSchema --- .../src/main/java/io/swagger/codegen/CodegenModel.java | 2 +- .../src/main/java/io/swagger/codegen/DefaultCodegen.java | 7 ++++--- .../io/swagger/codegen/languages/JavaClientCodegen.java | 4 ++-- .../java/io/swagger/codegen/java/JavaModelEnumTest.java | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java index 3713261f8f1..4df150f81a8 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java @@ -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; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index 2507bf90333..2bf33ee823f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -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) { diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 86eb9ee62a7..9fa44dfad26 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -455,8 +455,8 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { public CodegenModel fromModel(String name, Model model, Map 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); } diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelEnumTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelEnumTest.java index 68f4168a7dd..2babdc189e1 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelEnumTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelEnumTest.java @@ -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