From 62cfe2d984ff2e01cee18bdfd82c18a0b6a59f1a Mon Sep 17 00:00:00 2001 From: Sherzod Karimov Date: Mon, 24 Jul 2023 11:18:48 -0400 Subject: [PATCH 1/3] fix non additionalproperties contianer handling --- .generator/src/generator/templates/modelSimple.j2 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.generator/src/generator/templates/modelSimple.j2 b/.generator/src/generator/templates/modelSimple.j2 index d68e35fd009..1d3f6b8cacf 100644 --- a/.generator/src/generator/templates/modelSimple.j2 +++ b/.generator/src/generator/templates/modelSimple.j2 @@ -23,10 +23,11 @@ public class {{ name }} {%- if model.get("x-generate-alias-as-model") %} extends {%- set isRequired = attr in model.get("required", []) %} {%- set isNullable = schema.nullable %} {%- set defaultValue = schema.get("default", None) %} + {%- set isAdditionalPropertiesContainer = schema.properties is not defined and schema.additionalProperties is defined and schema.additionalProperties is not false%} public static final String JSON_PROPERTY_{{ attr|snake_case|upper }} = "{{ attr }}"; {%- if not isRequired and isNullable %} - {%- if "items" in schema or (schema.additionalProperties is defined and schema.additionalProperties is not false) or (schema.type is not defined and "oneOf" not in schema) %} + {%- if "items" in schema or (isAdditionalPropertiesContainer) or (schema.type is not defined and "oneOf" not in schema) %} private JsonNullable<{{ dataType }}> {{ variableName }} = JsonNullable.<{{ dataType }}>undefined(); {%- else %} private JsonNullable<{{ dataType }}> {{ variableName }} = JsonNullable.<{{ dataType }}>{%- if defaultValue != None %}of({{ defaultValue|format_value(schema=schema, default_value=True, type_=dataType) }}){%- else %}undefined(){%- endif%}; @@ -34,7 +35,7 @@ public class {{ name }} {%- if model.get("x-generate-alias-as-model") %} extends {%- else %} {%- if "items" in schema %} private {{ dataType }} {{ variableName }}{%- if isRequired %} = new ArrayList<>(){%- else %} = null{%- endif %}; - {%- elif (schema.additionalProperties is defined and schema.additionalProperties is not false) or (not schema.get("type") and "oneOf" not in schema) %} + {%- elif (isAdditionalPropertiesContainer) or (not schema.get("type") and "oneOf" not in schema) %} private {{ dataType }} {{ variableName }}{%- if isRequired %} = new {{ dataType }}(){%- else %} = null{%- endif %}; {%- else %} private {{ dataType }} {{ variableName }}{%- if defaultValue != None %} = {{ defaultValue|format_value(schema=schema, default_value=True, type_=dataType) }}{%- endif %}; @@ -87,6 +88,7 @@ public class {{ name }} {%- if model.get("x-generate-alias-as-model") %} extends {%- set isArray = "items" in schema %} {%- set isRequired = attr in model.get("required", []) %} {%- set defaultValue = schema.get("default", None) %} + {%- set isAdditionalPropertiesContainer = schema.properties is not defined and schema.additionalProperties is defined and schema.additionalProperties is not false%} {%- if not schema.get("readOnly", False) %} public {{ name }} {{ variableName }}({{ dataType }} {{ variableName }}) { @@ -158,7 +160,7 @@ public class {{ name }} {%- if model.get("x-generate-alias-as-model") %} extends } {%- endif %} - {%- if schema.additionalProperties is defined and schema.additionalProperties is not false %} + {%- if isAdditionalPropertiesContainer %} public {{ name }} put{{ variableName|upperfirst }}Item(String key, {{ get_type(schema.additionalProperties) }} {{ variableName }}Item) { {%- if not isRequired and isNullable %} if (this.{{ variableName }} == null || !this.{{ variableName }}.isPresent()) { From 471b7841c8947548f69cfa76338d0613b597c803 Mon Sep 17 00:00:00 2001 From: skarimo <40482491+skarimo@users.noreply.github.com> Date: Mon, 24 Jul 2023 11:37:22 -0400 Subject: [PATCH 2/3] Update .generator/src/generator/templates/modelSimple.j2 --- .generator/src/generator/templates/modelSimple.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generator/src/generator/templates/modelSimple.j2 b/.generator/src/generator/templates/modelSimple.j2 index 1d3f6b8cacf..adee2f66264 100644 --- a/.generator/src/generator/templates/modelSimple.j2 +++ b/.generator/src/generator/templates/modelSimple.j2 @@ -23,7 +23,7 @@ public class {{ name }} {%- if model.get("x-generate-alias-as-model") %} extends {%- set isRequired = attr in model.get("required", []) %} {%- set isNullable = schema.nullable %} {%- set defaultValue = schema.get("default", None) %} - {%- set isAdditionalPropertiesContainer = schema.properties is not defined and schema.additionalProperties is defined and schema.additionalProperties is not false%} + {%- set isAdditionalPropertiesContainer = schema.properties is not defined and schema.additionalProperties is defined and schema.additionalProperties is not false %} public static final String JSON_PROPERTY_{{ attr|snake_case|upper }} = "{{ attr }}"; {%- if not isRequired and isNullable %} From e438e73b93de00ae84865b8bbd1e325c53e97407 Mon Sep 17 00:00:00 2001 From: skarimo <40482491+skarimo@users.noreply.github.com> Date: Mon, 24 Jul 2023 11:37:26 -0400 Subject: [PATCH 3/3] Update .generator/src/generator/templates/modelSimple.j2 --- .generator/src/generator/templates/modelSimple.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generator/src/generator/templates/modelSimple.j2 b/.generator/src/generator/templates/modelSimple.j2 index adee2f66264..cddb4b1aa02 100644 --- a/.generator/src/generator/templates/modelSimple.j2 +++ b/.generator/src/generator/templates/modelSimple.j2 @@ -88,7 +88,7 @@ public class {{ name }} {%- if model.get("x-generate-alias-as-model") %} extends {%- set isArray = "items" in schema %} {%- set isRequired = attr in model.get("required", []) %} {%- set defaultValue = schema.get("default", None) %} - {%- set isAdditionalPropertiesContainer = schema.properties is not defined and schema.additionalProperties is defined and schema.additionalProperties is not false%} + {%- set isAdditionalPropertiesContainer = schema.properties is not defined and schema.additionalProperties is defined and schema.additionalProperties is not false %} {%- if not schema.get("readOnly", False) %} public {{ name }} {{ variableName }}({{ dataType }} {{ variableName }}) {