diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java index 558a280ca03..eeef7777df2 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java @@ -44,8 +44,7 @@ public class CodegenProperty implements Cloneable { public CodegenProperty items; public Map vendorExtensions; public Boolean hasValidation; // true if pattern, maximum, etc are set (only used in the mustache template) - public String parent; - public String parentClass; + public Boolean isInherited; @Override public String toString() { @@ -108,8 +107,7 @@ public class CodegenProperty implements Cloneable { result = prime * result + ((isDateTime == null) ? 0 : isDateTime.hashCode()); result = prime * result + ((isMapContainer == null) ? 0 : isMapContainer.hashCode()); result = prime * result + ((isListContainer == null) ? 0 : isListContainer.hashCode()); - result = prime * result + Objects.hashCode(parent); - result = prime * result + Objects.hashCode(parentClass); + result = prime * result + Objects.hashCode(isInherited); return result; } @@ -261,10 +259,7 @@ public class CodegenProperty implements Cloneable { if (this.isMapContainer != other.isMapContainer && (this.isMapContainer == null || !this.isMapContainer.equals(other.isMapContainer))) { return false; } - if (!Objects.equals(this.parent, other.parent)) { - return false; - } - if (!Objects.equals(this.parentClass, other.parentClass)) { + if (!Objects.equals(this.isInherited, other.isInherited)) { return false; } return true; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NancyFXServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NancyFXServerCodegen.java index 9c7afce6d9e..b757ea0f12b 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NancyFXServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NancyFXServerCodegen.java @@ -264,9 +264,7 @@ public class NancyFXServerCodegen extends AbstractCSharpCodegen { if (duplicatedByParent != null) { log.info(String.format("Property: '%s' in '%s' model is inherited from '%s'" , property.name, child.classname, parent.classname)); - duplicatedByParent.parent = parent.name; - duplicatedByParent.parentClass = parent.classname; - + duplicatedByParent.isInherited = true; final CodegenProperty parentVar = duplicatedByParent.clone(); parentVar.hasMore = false; child.parentVars.add(parentVar); @@ -354,7 +352,7 @@ public class NancyFXServerCodegen extends AbstractCSharpCodegen { @Override public String toEnumName(final CodegenProperty property) { - return sanitizeName(camelize(property.name)); + return sanitizeName(camelize(property.name)) + "Enum"; } @Override diff --git a/modules/swagger-codegen/src/main/resources/nancyfx/innerModelEnum.mustache b/modules/swagger-codegen/src/main/resources/nancyfx/innerModelEnum.mustache index 54d23b1d8d5..19e4731f2cf 100644 --- a/modules/swagger-codegen/src/main/resources/nancyfx/innerModelEnum.mustache +++ b/modules/swagger-codegen/src/main/resources/nancyfx/innerModelEnum.mustache @@ -1 +1 @@ -public enum {{#parentClass}}{{parentClass}}{{/parentClass}}{{^parentClass}}{{classname}}{{/parentClass}}{{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} { {{#allowableValues}}{{#enumVars}}{{{name}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}} }; \ No newline at end of file +public enum {{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} { {{#allowableValues}}{{#enumVars}}{{{name}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}} }; \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/nancyfx/model.mustache b/modules/swagger-codegen/src/main/resources/nancyfx/model.mustache index 9e53ea875ed..949a3db0491 100644 --- a/modules/swagger-codegen/src/main/resources/nancyfx/model.mustache +++ b/modules/swagger-codegen/src/main/resources/nancyfx/model.mustache @@ -18,12 +18,12 @@ namespace {{packageName}}.{{packageContext}}.Models /// {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}} /// public {{^hasChildrens}}sealed {{/hasChildrens}}class {{classname}}: {{#parent}}{{{parent}}}, {{/parent}} IEquatable<{{classname}}> - { {{#vars}}{{^parent}} + { {{#vars}}{{^isInherited}} /// /// {{^description}}{{{name}}}{{/description}}{{#description}}{{description}}{{/description}} /// public {{>nullableDataType}} {{name}} { get; private set; } -{{/parent}}{{/vars}} +{{/isInherited}}{{/vars}} /// /// Empty constructor required by some serializers. diff --git a/modules/swagger-codegen/src/main/resources/nancyfx/modelMutable.mustache b/modules/swagger-codegen/src/main/resources/nancyfx/modelMutable.mustache index 038d4224eb1..3d03a8acfc2 100644 --- a/modules/swagger-codegen/src/main/resources/nancyfx/modelMutable.mustache +++ b/modules/swagger-codegen/src/main/resources/nancyfx/modelMutable.mustache @@ -18,12 +18,12 @@ namespace {{packageName}}.{{packageContext}}.Models /// {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}} /// public {{^hasChildrens}}sealed {{/hasChildrens}}class {{classname}}: {{#parent}}{{{parent}}}, {{/parent}} IEquatable<{{classname}}> - { {{#vars}} + { {{#vars}}{{^isInherited}} /// /// {{^description}}{{{name}}}{{/description}}{{#description}}{{description}}{{/description}} /// public {{>nullableDataType}} {{name}} { get; set; } -{{/vars}} +{{/isInherited}}{{/vars}} public override string ToString() { diff --git a/modules/swagger-codegen/src/main/resources/nancyfx/nullableDataType.mustache b/modules/swagger-codegen/src/main/resources/nancyfx/nullableDataType.mustache index 534590a7f89..c999b870119 100644 --- a/modules/swagger-codegen/src/main/resources/nancyfx/nullableDataType.mustache +++ b/modules/swagger-codegen/src/main/resources/nancyfx/nullableDataType.mustache @@ -1 +1 @@ -{{#isEnum}}{{#parentClass}}{{parentClass}}{{/parentClass}}{{^parentClass}}{{classname}}{{/parentClass}}{{/isEnum}}{{&datatypeWithEnum}}{{#isEnum}}?{{/isEnum}} \ No newline at end of file +{{&datatypeWithEnum}}{{#isEnum}}?{{/isEnum}} \ No newline at end of file