From 58d835accefd9141e4e49930770112195aa903d9 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 13:34:04 +0200 Subject: [PATCH 1/8] add uuid type --- .generator/src/generator/formatter.py | 1 + .generator/src/generator/templates/example.j2 | 9 ++++++++- .generator/src/generator/templates/model.j2 | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.generator/src/generator/formatter.py b/.generator/src/generator/formatter.py index 12d5e2a6486..6efd9f63cb7 100644 --- a/.generator/src/generator/formatter.py +++ b/.generator/src/generator/formatter.py @@ -211,6 +211,7 @@ def simple_type(schema): "date-time": "OffsetDateTime", "email": "String", "binary": "File", + "uuid": "UUID", None: "String", }[type_format] if type_name == "boolean": diff --git a/.generator/src/generator/templates/example.j2 b/.generator/src/generator/templates/example.j2 index c595e9531f4..d220935ecea 100644 --- a/.generator/src/generator/templates/example.j2 +++ b/.generator/src/generator/templates/example.j2 @@ -36,6 +36,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.UUID; public class Example { public static void main(String[] args) { @@ -49,8 +50,14 @@ public class Example { // {{ name }} {%- for value, schema in values.items()|sort %} -{%- if schema.type == 'string' %} +{%- if schema.type == 'string' and schema.format != 'uuid'%} String {{ value }} = System.getenv("{{ value }}"); +{%- elif schema.type == 'string' and schema.format == 'uuid' %} + try { + UUID USER_INVITATION_ID = UUID.fromString(System.getenv("USER_INVITATION_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } {%- elif schema.type == 'integer' %} Long {{ value }} = Long.parseLong(System.getenv("{{ value }}")); {%- elif schema.type == 'boolean' %} diff --git a/.generator/src/generator/templates/model.j2 b/.generator/src/generator/templates/model.j2 index 0c1aa4e7d97..b874afa9a6f 100644 --- a/.generator/src/generator/templates/model.j2 +++ b/.generator/src/generator/templates/model.j2 @@ -11,6 +11,7 @@ import java.util.HashMap; import java.util.Map; import java.util.List; import java.util.ArrayList; +import java.util.UUID; import java.time.OffsetDateTime; import com.fasterxml.jackson.annotation.JsonAnyGetter; From 02cf4e920cda0e50902aeacee961c8a85bd20696 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 14:07:33 +0200 Subject: [PATCH 2/8] Add uuid import to api --- .generator/src/generator/templates/Api.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/.generator/src/generator/templates/Api.j2 b/.generator/src/generator/templates/Api.j2 index 2849d9f6014..8f481987d17 100644 --- a/.generator/src/generator/templates/Api.j2 +++ b/.generator/src/generator/templates/Api.j2 @@ -19,6 +19,7 @@ import java.util.Map; import java.util.LinkedHashMap; import java.util.concurrent.CompletableFuture; import java.time.OffsetDateTime; +import java.util.UUID; {%- for model in get_api_models(operations) %} import {{ package_name }}.model.{{ model }}; From f422f312c869a2c08756e9747b4624244106e949 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 14:41:27 +0200 Subject: [PATCH 3/8] Fixe template --- .generator/src/generator/templates/example.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generator/src/generator/templates/example.j2 b/.generator/src/generator/templates/example.j2 index d220935ecea..6617cbc2d89 100644 --- a/.generator/src/generator/templates/example.j2 +++ b/.generator/src/generator/templates/example.j2 @@ -54,7 +54,7 @@ public class Example { String {{ value }} = System.getenv("{{ value }}"); {%- elif schema.type == 'string' and schema.format == 'uuid' %} try { - UUID USER_INVITATION_ID = UUID.fromString(System.getenv("USER_INVITATION_ID")); + UUID {{ value }} = UUID.fromString(System.getenv("{{ value }}")); } catch (IllegalArgumentException e) { System.err.println("Error parsing UUID: " + e.getMessage()); } From ab9242dbcab930d61443faa42cd455cb227cc9db Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 14:57:49 +0200 Subject: [PATCH 4/8] declare uuid value --- .generator/src/generator/templates/example.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/.generator/src/generator/templates/example.j2 b/.generator/src/generator/templates/example.j2 index 6617cbc2d89..66cb72468fe 100644 --- a/.generator/src/generator/templates/example.j2 +++ b/.generator/src/generator/templates/example.j2 @@ -53,6 +53,7 @@ public class Example { {%- if schema.type == 'string' and schema.format != 'uuid'%} String {{ value }} = System.getenv("{{ value }}"); {%- elif schema.type == 'string' and schema.format == 'uuid' %} + UUID {{ value }} == null; try { UUID {{ value }} = UUID.fromString(System.getenv("{{ value }}")); } catch (IllegalArgumentException e) { From 5d4e77c53dc3b87cdf929ea01558262f799c28b8 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 14:58:27 +0200 Subject: [PATCH 5/8] update template --- .generator/src/generator/templates/example.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generator/src/generator/templates/example.j2 b/.generator/src/generator/templates/example.j2 index 66cb72468fe..b25523895b5 100644 --- a/.generator/src/generator/templates/example.j2 +++ b/.generator/src/generator/templates/example.j2 @@ -55,7 +55,7 @@ public class Example { {%- elif schema.type == 'string' and schema.format == 'uuid' %} UUID {{ value }} == null; try { - UUID {{ value }} = UUID.fromString(System.getenv("{{ value }}")); + {{ value }} = UUID.fromString(System.getenv("{{ value }}")); } catch (IllegalArgumentException e) { System.err.println("Error parsing UUID: " + e.getMessage()); } From 6f95039bcc05be306a22c0552e87e082f9ca8993 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 15:02:48 +0200 Subject: [PATCH 6/8] update template --- .generator/src/generator/templates/example.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generator/src/generator/templates/example.j2 b/.generator/src/generator/templates/example.j2 index b25523895b5..33f040fa9a0 100644 --- a/.generator/src/generator/templates/example.j2 +++ b/.generator/src/generator/templates/example.j2 @@ -53,7 +53,7 @@ public class Example { {%- if schema.type == 'string' and schema.format != 'uuid'%} String {{ value }} = System.getenv("{{ value }}"); {%- elif schema.type == 'string' and schema.format == 'uuid' %} - UUID {{ value }} == null; + UUID {{ value }} = null; try { {{ value }} = UUID.fromString(System.getenv("{{ value }}")); } catch (IllegalArgumentException e) { From 0b726187102b5a6c5f1012146e71a5f684bacbb9 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 18:39:36 +0200 Subject: [PATCH 7/8] change example formatting --- .generator/src/generator/formatter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.generator/src/generator/formatter.py b/.generator/src/generator/formatter.py index 6efd9f63cb7..5902cf237db 100644 --- a/.generator/src/generator/formatter.py +++ b/.generator/src/generator/formatter.py @@ -419,7 +419,10 @@ def format_bool(x): if not isinstance(x, bool): raise TypeError(f"{x} is not supported type {schema}") return "true" if x else "false" - + + def format_uuid(x): + return f'UUID.fromString("{x}")' + def open_file(x): return f"new File({format_string(x)})" @@ -434,6 +437,7 @@ def open_file(x): "string": format_string, "email": format_string, "binary": open_file, + "uuid": format_uuid, None: format_interface, }[schema.get("format", schema.get("type"))] From 80c643b68956bbadeb8c537d384677b155559e12 Mon Sep 17 00:00:00 2001 From: HantingZhang2 Date: Wed, 27 Sep 2023 18:55:47 +0200 Subject: [PATCH 8/8] complete parenthesis --- .generator/src/generator/templates/example.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generator/src/generator/templates/example.j2 b/.generator/src/generator/templates/example.j2 index 33f040fa9a0..bfa4c4dd3e8 100644 --- a/.generator/src/generator/templates/example.j2 +++ b/.generator/src/generator/templates/example.j2 @@ -62,7 +62,7 @@ public class Example { {%- elif schema.type == 'integer' %} Long {{ value }} = Long.parseLong(System.getenv("{{ value }}")); {%- elif schema.type == 'boolean' %} - Boolean {{ value }} = Boolean.parseBoolean((System.getenv("{{ value }}")); + Boolean {{ value }} = Boolean.parseBoolean((System.getenv("{{ value }}"))); {%- else %} {{ 1/0 }} {%- endif %}