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
-- Boolean
-- Character
-- Integer
+- DateTime
+- binary
- boolean
+- date
- double
- float
- integer
- long
+- number
+- object
+- string
## 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
-- Boolean
-- Character
-- Integer
+- DateTime
+- binary
- boolean
+- date
- double
- float
- integer
- long
+- number
+- object
+- string
## 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);