diff --git a/docs/generators/ada-server.md b/docs/generators/ada-server.md index 731aefee3588..d423d9e8d201 100644 --- a/docs/generators/ada-server.md +++ b/docs/generators/ada-server.md @@ -31,14 +31,17 @@ These options may be applied as additional-properties (cli) or configOptions (pl ## LANGUAGE PRIMITIVES ## RESERVED WORDS @@ -210,8 +213,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl ### Security Feature | Name | Supported | Defined By | | ---- | --------- | ---------- | -|BasicAuth|✓|OAS2,OAS3 -|ApiKey|✓|OAS2,OAS3 +|BasicAuth|✗|OAS2,OAS3 +|ApiKey|✗|OAS2,OAS3 |OpenIDConnect|✗|OAS3 |BearerToken|✗|OAS3 |OAuth2_Implicit|✗|OAS2,OAS3 diff --git a/docs/generators/ada.md b/docs/generators/ada.md index 7fe92e9ee48c..51021230c985 100644 --- a/docs/generators/ada.md +++ b/docs/generators/ada.md @@ -31,14 +31,17 @@ These options may be applied as additional-properties (cli) or configOptions (pl ## LANGUAGE PRIMITIVES ## RESERVED WORDS @@ -124,7 +127,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl ### Client Modification Feature | Name | Supported | Defined By | | ---- | --------- | ---------- | -|BasePath|✗|ToolingExtension +|BasePath|✓|ToolingExtension |Authorizations|✗|ToolingExtension |UserAgent|✗|ToolingExtension |MockServer|✗|ToolingExtension @@ -165,7 +168,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl ### Documentation Feature | Name | Supported | Defined By | | ---- | --------- | ---------- | -|Readme|✗|ToolingExtension +|Readme|✓|ToolingExtension |Model|✓|ToolingExtension |Api|✓|ToolingExtension @@ -185,7 +188,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |MultiServer|✗|OAS3 |ParameterizedServer|✗|OAS3 |ParameterStyling|✗|OAS3 -|Callbacks|✓|OAS3 +|Callbacks|✗|OAS3 |LinkObjects|✗|OAS3 ### Parameter Feature @@ -204,20 +207,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ---- | --------- | ---------- | |Simple|✓|OAS2,OAS3 |Composite|✓|OAS2,OAS3 -|Polymorphism|✓|OAS2,OAS3 +|Polymorphism|✗|OAS2,OAS3 |Union|✗|OAS3 ### Security Feature | Name | Supported | Defined By | | ---- | --------- | ---------- | -|BasicAuth|✓|OAS2,OAS3 -|ApiKey|✓|OAS2,OAS3 +|BasicAuth|✗|OAS2,OAS3 +|ApiKey|✗|OAS2,OAS3 |OpenIDConnect|✗|OAS3 -|BearerToken|✓|OAS3 -|OAuth2_Implicit|✓|OAS2,OAS3 -|OAuth2_Password|✓|OAS2,OAS3 -|OAuth2_ClientCredentials|✓|OAS2,OAS3 -|OAuth2_AuthorizationCode|✓|OAS2,OAS3 +|BearerToken|✗|OAS3 +|OAuth2_Implicit|✗|OAS2,OAS3 +|OAuth2_Password|✗|OAS2,OAS3 +|OAuth2_ClientCredentials|✗|OAS2,OAS3 +|OAuth2_AuthorizationCode|✗|OAS2,OAS3 ### Wire Format Feature | Name | Supported | Defined By | diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java index d09d7ab2c02b..54b10f0131f7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java @@ -28,6 +28,12 @@ import io.swagger.v3.oas.models.servers.Server; import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; +import org.openapitools.codegen.meta.features.ClientModificationFeature; +import org.openapitools.codegen.meta.features.DocumentationFeature; +import org.openapitools.codegen.meta.features.GlobalFeature; +import org.openapitools.codegen.meta.features.SchemaSupportFeature; +import org.openapitools.codegen.meta.features.SecurityFeature; +import org.openapitools.codegen.meta.features.WireFormatFeature; import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,6 +56,26 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg public AbstractAdaCodegen() { super(); + modifyFeatureSet(features -> features + .includeDocumentationFeatures(DocumentationFeature.Readme) + .wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.XML)) + .securityFeatures(EnumSet.noneOf( + SecurityFeature.class + )) + .excludeGlobalFeatures( + GlobalFeature.XMLStructureDefinitions, + GlobalFeature.Callbacks, + GlobalFeature.LinkObjects, + GlobalFeature.ParameterStyling + ) + .excludeSchemaSupportFeatures( + SchemaSupportFeature.Polymorphism + ) + .includeClientModificationFeatures( + ClientModificationFeature.BasePath + ) + ); + /* * Reserved words. Override this with reserved words specific to your language */ @@ -168,7 +194,8 @@ public AbstractAdaCodegen() { embeddedTemplateDir = templateDir = "Ada"; languageSpecificPrimitives = new HashSet( - Arrays.asList("integer", "boolean", "Integer", "Character", "Boolean", "long", "float", "double")); + Arrays.asList("integer", "boolean", "number", "long", "float", + "double", "object", "string", "date", "DateTime", "binary")); } public String toFilename(String name) { @@ -198,20 +225,28 @@ protected String toAdaIdentifier(String name, String prefix) { } StringBuilder result = new StringBuilder(); boolean needUpperCase = true; + boolean prevUpperCase = false; + if (name.isEmpty() || Character.isDigit(name.charAt(0)) || name.charAt(0) == '_') { + result.append(prefix); + } for (int i = 0; i < name.length(); i++) { char c = name.charAt(i); + boolean isUpperOrDigit = Character.isUpperCase(c) || Character.isDigit(c); if (needUpperCase) { needUpperCase = false; + prevUpperCase = isUpperOrDigit; result.append(Character.toUpperCase(c)); - } else if (Character.isUpperCase((c))) { - if (!needUpperCase) { + } else if (isUpperOrDigit) { + if (!prevUpperCase) { result.append('_'); } result.append(c); needUpperCase = false; + prevUpperCase = true; } else { result.append(c); + prevUpperCase = isUpperOrDigit; if (c == '_') { needUpperCase = true; } @@ -276,6 +311,40 @@ public String toModelName(final String name) { return result; } + @Override + public String toEnumVarName(String value, String datatype) { + String var = null; + if (value.isEmpty()) { + var = "EMPTY"; + } + + // for symbol, e.g. $, # + else if (getSymbolName(value) != null) { + var = getSymbolName(value).toUpperCase(Locale.ROOT); + } + + // number + else if ("Integer".equals(datatype) || "Long".equals(datatype) || + "Float".equals(datatype) || "Double".equals(datatype)) { + String varName = "NUMBER_" + value; + varName = varName.replaceAll("-", "MINUS_"); + varName = varName.replaceAll("\\+", "PLUS_"); + varName = varName.replaceAll("\\.", "_DOT_"); + var = varName; + } + + // string + else { + var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT); + if (var.matches("\\d.*")) { + var = "_" + var; + } else { + var = sanitizeName(var); + } + } + return var; + } + @Override public CodegenProperty fromProperty(String name, Schema p) { CodegenProperty property = super.fromProperty(name, p); @@ -371,6 +440,44 @@ public String getTypeDeclaration(Schema p) { return modelPackage + ".Models." + modelType; } + private boolean isStreamType(CodegenProperty parameter) { + boolean isStreamType = parameter.isString || parameter.isBoolean || parameter.isDate + || parameter.isDateTime || parameter.isInteger || parameter.isLong + || (parameter.isFreeFormObject && !parameter.isMap); + + return isStreamType; + } + + private boolean isModelType(CodegenProperty parameter) { + boolean isModel = parameter.dataType.startsWith(modelPackage); + if (!isModel && !parameter.isPrimitiveType && !parameter.isDate + && !parameter.isFreeFormObject + && !parameter.isString && !parameter.isContainer && !parameter.isFile + && !parameter.dataType.startsWith("Swagger")) { + isModel = true; + } + return isModel; + } + + private boolean isStreamType(CodegenParameter parameter) { + boolean isStreamType = parameter.isString || parameter.isBoolean || parameter.isDate + || parameter.isDateTime || parameter.isInteger || parameter.isLong + || (parameter.isFreeFormObject && !parameter.isMap); + + return isStreamType; + } + + private boolean isModelType(CodegenParameter parameter) { + boolean isModel = parameter.dataType.startsWith(modelPackage); + if (!isModel && !parameter.isPrimitiveType && !parameter.isDate + && !parameter.isFreeFormObject + && !parameter.isString && !parameter.isContainer && !parameter.isFile + && !parameter.dataType.startsWith("Swagger")) { + isModel = true; + } + return isModel; + } + /** * Overrides postProcessParameter to add a vendor extension "x-is-model-type". * This boolean indicates that the parameter comes from the model package. @@ -385,12 +492,8 @@ public void postProcessParameter(CodegenParameter parameter) { if (parameter.dataType == null) { return; } - boolean isModel = parameter.dataType.startsWith(modelPackage); - if (!isModel && !parameter.isPrimitiveType && !parameter.isDate - && !parameter.isString && !parameter.isContainer && !parameter.isFile) { - isModel = true; - } - parameter.vendorExtensions.put("x-is-model-type", isModel); + parameter.vendorExtensions.put("x-is-model-type", isModelType(parameter)); + parameter.vendorExtensions.put("x-is-stream-type", isStreamType(parameter)); } /** @@ -426,6 +529,8 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation if (methodResponse != null && ModelUtils.getSchemaFromResponse(methodResponse) != null) { CodegenProperty cm = fromProperty("response", ModelUtils.getSchemaFromResponse(methodResponse)); op.vendorExtensions.put("x-codegen-response", cm); + op.vendorExtensions.put("x-is-model-type", isModelType(cm)); + op.vendorExtensions.put("x-is-stream-type", isStreamType(cm)); if ("HttpContent".equals(cm.dataType)) { op.vendorExtensions.put("x-codegen-response-ishttpcontent", true); } @@ -524,7 +629,7 @@ public Map postProcessOperationsWithModels(Map o if (last < 0) { break; } - if (path.substring(pos, last - 1).equals(p.baseName)) { + if (path.substring(pos, last).equals(p.baseName)) { break; } pos = last + 1; @@ -558,6 +663,7 @@ public Map postProcessModels(Map objs) { isModel = true; } p.vendorExtensions.put("x-is-model-type", isModel); + p.vendorExtensions.put("x-is-stream-type", isStreamType(p)); Boolean required = p.getRequired(); // Convert optional members to use the Nullable_ type. diff --git a/modules/openapi-generator/src/main/resources/Ada/client-body.mustache b/modules/openapi-generator/src/main/resources/Ada/client-body.mustache index 2b20aed1165f..16c436671c9c 100644 --- a/modules/openapi-generator/src/main/resources/Ada/client-body.mustache +++ b/modules/openapi-generator/src/main/resources/Ada/client-body.mustache @@ -39,10 +39,15 @@ package body {{package}}.Clients is URI.Add_Param ("{{baseName}}", {{paramName}});{{/isDateTime}}{{/isQueryParam}}{{/queryParams}} URI.Set_Path ("{{path}}");{{#pathParams}} URI.Set_Path_Param ("{{baseName}}", {{^isString}}Swagger.To_String ({{/isString}}{{paramName}}{{^isString}}){{/isString}});{{/pathParams}} - Client.Call (Swagger.Clients.{{httpMethod}}, URI{{#hasBodyParam}}, Req{{/hasBodyParam}}{{#hasFormParams}}, Req{{/hasFormParams}}{{#returnType}}, Reply{{/returnType}});{{#returnType}}{{#vendorExtensions.x-codegen-response.isString}} - Swagger.Streams.Deserialize (Reply, "", Result);{{/vendorExtensions.x-codegen-response.isString}}{{^vendorExtensions.x-codegen-response.isString}}{{#returnTypeIsPrimitive}} - Swagger.Streams.Deserialize (Reply, "", Result);{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}} - {{package}}.Models.Deserialize (Reply, "", Result);{{/returnTypeIsPrimitive}}{{/vendorExtensions.x-codegen-response.isString}}{{/returnType}} + Client.Call (Swagger.Clients.{{httpMethod}}, URI{{#hasBodyParam}}, Req{{/hasBodyParam}}{{#hasFormParams}}, Req{{/hasFormParams}}{{#returnType}}, Reply{{/returnType}}); + {{#returnType}} + {{^vendorExtensions.x-is-model-type}} + Swagger.Streams.Deserialize (Reply, "", Result); + {{/vendorExtensions.x-is-model-type}} + {{#vendorExtensions.x-is-model-type}} + {{package}}.Models.Deserialize (Reply, "", Result); + {{/vendorExtensions.x-is-model-type}} + {{/returnType}} end {{operationId}}; {{/operation}} {{/operations}} diff --git a/modules/openapi-generator/src/main/resources/Ada/model-body.mustache b/modules/openapi-generator/src/main/resources/Ada/model-body.mustache index cec88232ad95..114109c8e991 100644 --- a/modules/openapi-generator/src/main/resources/Ada/model-body.mustache +++ b/modules/openapi-generator/src/main/resources/Ada/model-body.mustache @@ -11,13 +11,10 @@ package body {{package}}.Models is Name : in String; Value : in {{classname}}) is begin - Into.Start_Entity (Name);{{#vars}}{{^isPrimitiveType}}{{^isString}}{{^isContainer}}{{^isDateTime}} - Serialize (Into, "{{baseName}}", Value.{{name}});{{/isDateTime}}{{/isContainer}}{{/isString}}{{/isPrimitiveType}}{{#isPrimitiveType}}{{^isLong}} - Into.Write_Entity ("{{baseName}}", Value.{{name}});{{/isLong}}{{/isPrimitiveType}}{{#isLong}} - Serialize (Into, "{{baseName}}", Value.{{name}});{{/isLong}}{{#isString}} - Into.Write_Entity ("{{baseName}}", Value.{{name}});{{/isString}}{{#isContainer}} - Serialize (Into, "{{baseName}}", Value.{{name}});{{/isContainer}}{{#isDateTime}} - Into.Write_Entity ("{{baseName}}", Value.{{name}});{{/isDateTime}}{{/vars}} + Into.Start_Entity (Name);{{#vars}}{{#vendorExtensions.x-is-stream-type}}{{^isLong}} + Into.Write_Entity ("{{baseName}}", Value.{{name}});{{/isLong}}{{#isLong}} + Into.Write_Long_Entity ("{{baseName}}", Value.{{name}});{{/isLong}}{{/vendorExtensions.x-is-stream-type}}{{^vendorExtensions.x-is-stream-type}} + Serialize (Into, "{{baseName}}", Value.{{name}});{{/vendorExtensions.x-is-stream-type}}{{/vars}} Into.End_Entity (Name); end Serialize; diff --git a/samples/client/petstore/ada/.openapi-generator/VERSION b/samples/client/petstore/ada/.openapi-generator/VERSION index 58592f031f65..d99e7162d01f 100644 --- a/samples/client/petstore/ada/.openapi-generator/VERSION +++ b/samples/client/petstore/ada/.openapi-generator/VERSION @@ -1 +1 @@ -4.2.3-SNAPSHOT \ No newline at end of file +5.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/ada/src/client/samples-petstore-clients.adb b/samples/client/petstore/ada/src/client/samples-petstore-clients.adb index 1920cbf1fe40..9191b01ec64e 100644 --- a/samples/client/petstore/ada/src/client/samples-petstore-clients.adb +++ b/samples/client/petstore/ada/src/client/samples-petstore-clients.adb @@ -4,7 +4,7 @@ -- The version of the OpenAPI document: 1.0.0 -- -- --- NOTE: This package is auto generated by OpenAPI-Generator 4.2.3-SNAPSHOT. +-- NOTE: This package is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. -- https://openapi-generator.tech -- Do not edit the class manually. diff --git a/samples/client/petstore/ada/src/client/samples-petstore-clients.ads b/samples/client/petstore/ada/src/client/samples-petstore-clients.ads index adc6a3c692ab..912ab276627f 100644 --- a/samples/client/petstore/ada/src/client/samples-petstore-clients.ads +++ b/samples/client/petstore/ada/src/client/samples-petstore-clients.ads @@ -4,7 +4,7 @@ -- The version of the OpenAPI document: 1.0.0 -- -- --- NOTE: This package is auto generated by OpenAPI-Generator 4.2.3-SNAPSHOT. +-- NOTE: This package is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. -- https://openapi-generator.tech -- Do not edit the class manually. diff --git a/samples/client/petstore/ada/src/model/samples-petstore-models.adb b/samples/client/petstore/ada/src/model/samples-petstore-models.adb index db3f9463478e..76f4071a12e0 100644 --- a/samples/client/petstore/ada/src/model/samples-petstore-models.adb +++ b/samples/client/petstore/ada/src/model/samples-petstore-models.adb @@ -4,7 +4,7 @@ -- The version of the OpenAPI document: 1.0.0 -- -- --- NOTE: This package is auto generated by OpenAPI-Generator 4.2.3-SNAPSHOT. +-- NOTE: This package is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. -- https://openapi-generator.tech -- Do not edit the class manually. @@ -70,7 +70,7 @@ package body Samples.Petstore.Models is Value : in Tag_Type) is begin Into.Start_Entity (Name); - Serialize (Into, "id", Value.Id); + Into.Write_Long_Entity ("id", Value.Id); Into.Write_Entity ("name", Value.Name); Into.End_Entity (Name); end Serialize; @@ -118,7 +118,7 @@ package body Samples.Petstore.Models is Value : in Category_Type) is begin Into.Start_Entity (Name); - Serialize (Into, "id", Value.Id); + Into.Write_Long_Entity ("id", Value.Id); Into.Write_Entity ("name", Value.Name); Into.End_Entity (Name); end Serialize; @@ -166,7 +166,7 @@ package body Samples.Petstore.Models is Value : in Pet_Type) is begin Into.Start_Entity (Name); - Serialize (Into, "id", Value.Id); + Into.Write_Long_Entity ("id", Value.Id); Serialize (Into, "category", Value.Category); Into.Write_Entity ("name", Value.Name); Serialize (Into, "photoUrls", Value.Photo_Urls); @@ -219,23 +219,21 @@ package body Samples.Petstore.Models is procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in User_Type) is + Value : in Order_Type) is begin Into.Start_Entity (Name); - Serialize (Into, "id", Value.Id); - Into.Write_Entity ("username", Value.Username); - Into.Write_Entity ("firstName", Value.First_Name); - Into.Write_Entity ("lastName", Value.Last_Name); - Into.Write_Entity ("email", Value.Email); - Into.Write_Entity ("password", Value.Password); - Into.Write_Entity ("phone", Value.Phone); - Into.Write_Entity ("userStatus", Value.User_Status); + Into.Write_Long_Entity ("id", Value.Id); + Into.Write_Long_Entity ("petId", Value.Pet_Id); + Into.Write_Entity ("quantity", Value.Quantity); + Into.Write_Entity ("shipDate", Value.Ship_Date); + Into.Write_Entity ("status", Value.Status); + Into.Write_Entity ("complete", Value.Complete); Into.End_Entity (Name); end Serialize; procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in User_Type_Vectors.Vector) is + Value : in Order_Type_Vectors.Vector) is begin Into.Start_Array (Name); for Item of Value loop @@ -246,25 +244,23 @@ package body Samples.Petstore.Models is procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out User_Type) is + Value : out Order_Type) is Object : Swagger.Value_Type; begin Swagger.Streams.Deserialize (From, Name, Object); Swagger.Streams.Deserialize (Object, "id", Value.Id); - Swagger.Streams.Deserialize (Object, "username", Value.Username); - Swagger.Streams.Deserialize (Object, "firstName", Value.First_Name); - Swagger.Streams.Deserialize (Object, "lastName", Value.Last_Name); - Swagger.Streams.Deserialize (Object, "email", Value.Email); - Swagger.Streams.Deserialize (Object, "password", Value.Password); - Swagger.Streams.Deserialize (Object, "phone", Value.Phone); - Swagger.Streams.Deserialize (Object, "userStatus", Value.User_Status); + Swagger.Streams.Deserialize (Object, "petId", Value.Pet_Id); + Swagger.Streams.Deserialize (Object, "quantity", Value.Quantity); + Swagger.Streams.Deserialize (Object, "shipDate", Value.Ship_Date); + Swagger.Streams.Deserialize (Object, "status", Value.Status); + Swagger.Streams.Deserialize (Object, "complete", Value.Complete); end Deserialize; procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out User_Type_Vectors.Vector) is + Value : out Order_Type_Vectors.Vector) is List : Swagger.Value_Array_Type; - Item : User_Type; + Item : Order_Type; begin Value.Clear; Swagger.Streams.Deserialize (From, Name, List); @@ -279,21 +275,23 @@ package body Samples.Petstore.Models is procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in Order_Type) is + Value : in User_Type) is begin Into.Start_Entity (Name); - Serialize (Into, "id", Value.Id); - Serialize (Into, "petId", Value.Pet_Id); - Into.Write_Entity ("quantity", Value.Quantity); - Into.Write_Entity ("shipDate", Value.Ship_Date); - Into.Write_Entity ("status", Value.Status); - Into.Write_Entity ("complete", Value.Complete); + Into.Write_Long_Entity ("id", Value.Id); + Into.Write_Entity ("username", Value.Username); + Into.Write_Entity ("firstName", Value.First_Name); + Into.Write_Entity ("lastName", Value.Last_Name); + Into.Write_Entity ("email", Value.Email); + Into.Write_Entity ("password", Value.Password); + Into.Write_Entity ("phone", Value.Phone); + Into.Write_Entity ("userStatus", Value.User_Status); Into.End_Entity (Name); end Serialize; procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in Order_Type_Vectors.Vector) is + Value : in User_Type_Vectors.Vector) is begin Into.Start_Array (Name); for Item of Value loop @@ -304,23 +302,25 @@ package body Samples.Petstore.Models is procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out Order_Type) is + Value : out User_Type) is Object : Swagger.Value_Type; begin Swagger.Streams.Deserialize (From, Name, Object); Swagger.Streams.Deserialize (Object, "id", Value.Id); - Swagger.Streams.Deserialize (Object, "petId", Value.Pet_Id); - Swagger.Streams.Deserialize (Object, "quantity", Value.Quantity); - Deserialize (Object, "shipDate", Value.Ship_Date); - Swagger.Streams.Deserialize (Object, "status", Value.Status); - Swagger.Streams.Deserialize (Object, "complete", Value.Complete); + Swagger.Streams.Deserialize (Object, "username", Value.Username); + Swagger.Streams.Deserialize (Object, "firstName", Value.First_Name); + Swagger.Streams.Deserialize (Object, "lastName", Value.Last_Name); + Swagger.Streams.Deserialize (Object, "email", Value.Email); + Swagger.Streams.Deserialize (Object, "password", Value.Password); + Swagger.Streams.Deserialize (Object, "phone", Value.Phone); + Swagger.Streams.Deserialize (Object, "userStatus", Value.User_Status); end Deserialize; procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out Order_Type_Vectors.Vector) is + Value : out User_Type_Vectors.Vector) is List : Swagger.Value_Array_Type; - Item : Order_Type; + Item : User_Type; begin Value.Clear; Swagger.Streams.Deserialize (From, Name, List); diff --git a/samples/client/petstore/ada/src/model/samples-petstore-models.ads b/samples/client/petstore/ada/src/model/samples-petstore-models.ads index 4b0e867aa076..fc0e70cd9971 100644 --- a/samples/client/petstore/ada/src/model/samples-petstore-models.ads +++ b/samples/client/petstore/ada/src/model/samples-petstore-models.ads @@ -4,7 +4,7 @@ -- The version of the OpenAPI document: 1.0.0 -- -- --- NOTE: This package is auto generated by OpenAPI-Generator 4.2.3-SNAPSHOT. +-- NOTE: This package is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. -- https://openapi-generator.tech -- Do not edit the class manually. @@ -147,76 +147,76 @@ package Samples.Petstore.Models is -- ------------------------------ - -- a User - -- A User who is purchasing from the pet store + -- Pet Order + -- An order for a pets from the pet store -- ------------------------------ - type User_Type is + type Order_Type is record Id : Swagger.Nullable_Long; - Username : Swagger.Nullable_UString; - First_Name : Swagger.Nullable_UString; - Last_Name : Swagger.Nullable_UString; - Email : Swagger.Nullable_UString; - Password : Swagger.Nullable_UString; - Phone : Swagger.Nullable_UString; - User_Status : Swagger.Nullable_Integer; + Pet_Id : Swagger.Nullable_Long; + Quantity : Swagger.Nullable_Integer; + Ship_Date : Swagger.Nullable_Date; + Status : Swagger.Nullable_UString; + Complete : Swagger.Nullable_Boolean; end record; - package User_Type_Vectors is + package Order_Type_Vectors is new Ada.Containers.Vectors (Index_Type => Positive, - Element_Type => User_Type); + Element_Type => Order_Type); procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in User_Type); + Value : in Order_Type); procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in User_Type_Vectors.Vector); + Value : in Order_Type_Vectors.Vector); procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out User_Type); + Value : out Order_Type); procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out User_Type_Vectors.Vector); + Value : out Order_Type_Vectors.Vector); -- ------------------------------ - -- Pet Order - -- An order for a pets from the pet store + -- a User + -- A User who is purchasing from the pet store -- ------------------------------ - type Order_Type is + type User_Type is record Id : Swagger.Nullable_Long; - Pet_Id : Swagger.Nullable_Long; - Quantity : Swagger.Nullable_Integer; - Ship_Date : Swagger.Nullable_Date; - Status : Swagger.Nullable_UString; - Complete : Swagger.Nullable_Boolean; + Username : Swagger.Nullable_UString; + First_Name : Swagger.Nullable_UString; + Last_Name : Swagger.Nullable_UString; + Email : Swagger.Nullable_UString; + Password : Swagger.Nullable_UString; + Phone : Swagger.Nullable_UString; + User_Status : Swagger.Nullable_Integer; end record; - package Order_Type_Vectors is + package User_Type_Vectors is new Ada.Containers.Vectors (Index_Type => Positive, - Element_Type => Order_Type); + Element_Type => User_Type); procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in Order_Type); + Value : in User_Type); procedure Serialize (Into : in out Swagger.Streams.Output_Stream'Class; Name : in String; - Value : in Order_Type_Vectors.Vector); + Value : in User_Type_Vectors.Vector); procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out Order_Type); + Value : out User_Type); procedure Deserialize (From : in Swagger.Value_Type; Name : in String; - Value : out Order_Type_Vectors.Vector); + Value : out User_Type_Vectors.Vector);