Skip to content

Commit 9ba74f4

Browse files
stcarrezwing328
authored andcommitted
[Ada] Fix GNAT project and server skeleton to avoid sending a response when an error is returned (#7574)
* Fix the GNAT project for the client and server to avoid using unecessary projects on the client side * Define a minimal configuration for user and application definition * Fix the server skeleton to emit the response only when the status code is 200 * Fix the Ada petstore GNAT project
1 parent dbe78e2 commit 9ba74f4

File tree

6 files changed

+35
-14
lines changed

6 files changed

+35
-14
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AdaCodegen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public void processOpts() {
6666
additionalProperties.put("packageConfig", configBaseName);
6767
additionalProperties.put("packageDir", "client");
6868
additionalProperties.put("mainName", "client");
69+
additionalProperties.put("isServer", false);
6970
additionalProperties.put(CodegenConstants.PROJECT_NAME, projectName);
7071

7172
String names[] = this.modelPackage.split("\\.");

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AdaServerCodegen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public void processOpts() {
6969
additionalProperties.put("packageConfig", configBaseName);
7070
additionalProperties.put("packageDir", "server");
7171
additionalProperties.put("mainName", "server");
72+
additionalProperties.put("isServer", "true");
7273
additionalProperties.put(CodegenConstants.PROJECT_NAME, projectName);
7374

7475
String names[] = this.modelPackage.split("\\.");

modules/swagger-codegen/src/main/resources/Ada/gnat-project.mustache

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
with "config";
99
with "util";
1010
with "util_http";
11-
with "asf";
1211
with "security";
13-
with "swagger";
12+
with "swagger";{{#isServer}}
13+
with "servlet";
14+
with "swagger_server";{{/isServer}}
1415
project {{{projectName}}} is
1516

1617
Mains := ("{{{packageName}}}-{{{mainName}}}.adb");

modules/swagger-codegen/src/main/resources/Ada/server-properties.mustache

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
swagger.dir=web
22
swagger.web.enable=false
33
swagger.ui.enable=true
4+
swagger.port=8080
5+
swagger.apps=app
6+
swagger.users=users
7+
swagger.key=NTk4YzEyODNhMjM4IDJjMjNkOGFiNThkYSBkZWExOTQ1MTQ2YjkgZmIxNGM4NWY4OGQzCg
8+
9+
app.list=1
10+
app.1.client_id=test-app
11+
app.1.client_secret=test-app-secret
12+
app.1.scope=none
13+
14+
users.list=1,2
15+
users.1.username=admin
16+
users.1.password=admin
17+
users.2.username=test
18+
users.2.password=test
419

520
# Configuration for log4j
621
log4j.rootCategory=DEBUG,console,result
@@ -15,7 +30,7 @@ log4j.logger.log=WARN
1530
log4j.logger.Util.Properties=DEBUG
1631
log4j.logger.Util.Log=WARN
1732
log4j.logger.Util=DEBUG
18-
log4j.logger.ASF=DEBUG
33+
log4j.logger.Servlet=DEBUG
1934
log4j.logger.Util.Serialize.Mappers=WARN
2035
log4j.logger.Util.Serialize.IO=INFO
2136

modules/swagger-codegen/src/main/resources/Ada/server-skeleton-body.mustache

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,13 @@ package body {{package}}.Skeletons is
7777
{{/returnType}}
7878
{{/hasParams}}
7979
{{#returnType}}
80-
Stream.Start_Document;{{#vendorExtensions.x-codegen-response.isString}}
81-
Swagger.Streams.Serialize (Stream, "", Result);{{/vendorExtensions.x-codegen-response.isString}}{{^vendorExtensions.x-codegen-response.isString}}{{#returnTypeIsPrimitive}}
82-
Swagger.Streams.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}
83-
{{package}}.Models.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{/vendorExtensions.x-codegen-response.isString}}
84-
Stream.End_Document;{{/returnType}}
80+
if Context.Get_Status = 200 then
81+
Stream.Start_Document;{{#vendorExtensions.x-codegen-response.isString}}
82+
Swagger.Streams.Serialize (Stream, "", Result);{{/vendorExtensions.x-codegen-response.isString}}{{^vendorExtensions.x-codegen-response.isString}}{{#returnTypeIsPrimitive}}
83+
Swagger.Streams.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}
84+
{{package}}.Models.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{/vendorExtensions.x-codegen-response.isString}}
85+
Stream.End_Document;
86+
end if;{{/returnType}}
8587
end {{operationId}};
8688
{{/operation}}
8789
{{/operations}}
@@ -171,11 +173,13 @@ package body {{package}}.Skeletons is
171173
{{/returnType}}
172174
{{/hasParams}}
173175
{{#returnType}}
174-
Stream.Start_Document;{{#vendorExtensions.x-codegen-response.isString}}
175-
Swagger.Streams.Serialize (Stream, "", Result);{{/vendorExtensions.x-codegen-response.isString}}{{^vendorExtensions.x-codegen-response.isString}}{{#returnTypeIsPrimitive}}
176-
Swagger.Streams.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}
177-
{{package}}.Models.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{/vendorExtensions.x-codegen-response.isString}}
178-
Stream.End_Document;{{/returnType}}
176+
if Context.Get_Status = 200 then
177+
Stream.Start_Document;{{#vendorExtensions.x-codegen-response.isString}}
178+
Swagger.Streams.Serialize (Stream, "", Result);{{/vendorExtensions.x-codegen-response.isString}}{{^vendorExtensions.x-codegen-response.isString}}{{#returnTypeIsPrimitive}}
179+
Swagger.Streams.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}
180+
{{package}}.Models.Serialize (Stream, "", Result);{{/returnTypeIsPrimitive}}{{/vendorExtensions.x-codegen-response.isString}}
181+
Stream.End_Document;
182+
end if;{{/returnType}}
179183
end {{operationId}};
180184

181185
package API_{{operationId}} is

samples/client/petstore/ada/petstore.gpr

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
with "config";
99
with "util";
1010
with "util_http";
11-
with "asf";
1211
with "security";
1312
with "swagger";
1413
project Petstore is

0 commit comments

Comments
 (0)