Skip to content

Commit 4bf0983

Browse files
[Java][Vert.x] Make ApiHandler reusable (#8720)
* Fix #8710 Signed-off-by: Francesco Guardiani <[email protected]> * Reintroduced default constructor Signed-off-by: Francesco Guardiani <[email protected]> * Deprecated Signed-off-by: Francesco Guardiani <[email protected]>
1 parent 42d3dbd commit 4bf0983

File tree

6 files changed

+58
-34
lines changed

6 files changed

+58
-34
lines changed

modules/openapi-generator/src/main/resources/JavaVertXWebServer/apiHandler.mustache

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,15 @@ public class {{classname}}Handler {
2121
2222
private static final Logger logger = LoggerFactory.getLogger({{classname}}Handler.class);
2323

24-
private final {{classname}} apiImpl;
24+
private final {{classname}} api;
2525

26+
public {{classname}}Handler({{classname}} api) {
27+
this.api = api;
28+
}
29+
30+
@Deprecated
2631
public {{classname}}Handler() {
27-
this.apiImpl = new {{classname}}Impl();
32+
this(new {{classname}}Impl());
2833
}
2934

3035
public void mount(RouterBuilder builder) {
@@ -48,7 +53,7 @@ public class {{classname}}Handler {
4853
logger.debug("Parameter {{paramName}} is {}", {{paramName}});
4954
{{/allParams}}
5055

51-
apiImpl.{{operationId}}({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}})
56+
api.{{operationId}}({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}})
5257
.onSuccess(apiResponse -> {
5358
routingContext.response().setStatusCode(apiResponse.getStatusCode());
5459
if (apiResponse.hasData()) {

modules/openapi-generator/src/main/resources/JavaVertXWebServer/supportFiles/HttpServerVerticle.mustache

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@ import io.vertx.ext.web.openapi.RouterBuilderOptions;
1010
import org.slf4j.Logger;
1111
import org.slf4j.LoggerFactory;
1212
{{#apiInfo}}{{#apis}}
13-
import {{apiPackage}}.{{classname}}Handler;{{/apis}}{{/apiInfo}}
13+
import {{apiPackage}}.{{classname}}Handler;
14+
import {{apiPackage}}.{{classname}}Impl;{{/apis}}{{/apiInfo}}
1415

1516
public class HttpServerVerticle extends AbstractVerticle {
1617
1718
private static final Logger logger = LoggerFactory.getLogger(HttpServerVerticle.class);
1819
private static final String specFile = "src/main/resources/openapi.yaml";
1920
2021
{{#apiInfo}}{{#apis}}
21-
private final {{classname}}Handler {{classVarName}}Handler = new {{classname}}Handler();{{/apis}}{{/apiInfo}}
22+
private final {{classname}}Handler {{classVarName}}Handler = new {{classname}}Handler(new {{classname}}Impl());{{/apis}}{{/apiInfo}}
2223

2324
@Override
2425
public void start(Promise<Void> startPromise) {

samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/HttpServerVerticle.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,21 @@
1111
import org.slf4j.LoggerFactory;
1212

1313
import org.openapitools.vertxweb.server.api.PetApiHandler;
14+
import org.openapitools.vertxweb.server.api.PetApiImpl;
1415
import org.openapitools.vertxweb.server.api.StoreApiHandler;
16+
import org.openapitools.vertxweb.server.api.StoreApiImpl;
1517
import org.openapitools.vertxweb.server.api.UserApiHandler;
18+
import org.openapitools.vertxweb.server.api.UserApiImpl;
1619

1720
public class HttpServerVerticle extends AbstractVerticle {
1821

1922
private static final Logger logger = LoggerFactory.getLogger(HttpServerVerticle.class);
2023
private static final String specFile = "src/main/resources/openapi.yaml";
2124

2225

23-
private final PetApiHandler petHandler = new PetApiHandler();
24-
private final StoreApiHandler storeHandler = new StoreApiHandler();
25-
private final UserApiHandler userHandler = new UserApiHandler();
26+
private final PetApiHandler petHandler = new PetApiHandler(new PetApiImpl());
27+
private final StoreApiHandler storeHandler = new StoreApiHandler(new StoreApiImpl());
28+
private final UserApiHandler userHandler = new UserApiHandler(new UserApiImpl());
2629

2730
@Override
2831
public void start(Promise<Void> startPromise) {

samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/PetApiHandler.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,15 @@ public class PetApiHandler {
2222

2323
private static final Logger logger = LoggerFactory.getLogger(PetApiHandler.class);
2424

25-
private final PetApi apiImpl;
25+
private final PetApi api;
2626

27+
public PetApiHandler(PetApi api) {
28+
this.api = api;
29+
}
30+
31+
@Deprecated
2732
public PetApiHandler() {
28-
this.apiImpl = new PetApiImpl();
33+
this(new PetApiImpl());
2934
}
3035

3136
public void mount(RouterBuilder builder) {
@@ -50,7 +55,7 @@ private void addPet(RoutingContext routingContext) {
5055

5156
logger.debug("Parameter pet is {}", pet);
5257

53-
apiImpl.addPet(pet)
58+
api.addPet(pet)
5459
.onSuccess(apiResponse -> {
5560
routingContext.response().setStatusCode(apiResponse.getStatusCode());
5661
if (apiResponse.hasData()) {
@@ -74,7 +79,7 @@ private void deletePet(RoutingContext routingContext) {
7479
logger.debug("Parameter petId is {}", petId);
7580
logger.debug("Parameter apiKey is {}", apiKey);
7681

77-
apiImpl.deletePet(petId, apiKey)
82+
api.deletePet(petId, apiKey)
7883
.onSuccess(apiResponse -> {
7984
routingContext.response().setStatusCode(apiResponse.getStatusCode());
8085
if (apiResponse.hasData()) {
@@ -96,7 +101,7 @@ private void findPetsByStatus(RoutingContext routingContext) {
96101

97102
logger.debug("Parameter status is {}", status);
98103

99-
apiImpl.findPetsByStatus(status)
104+
api.findPetsByStatus(status)
100105
.onSuccess(apiResponse -> {
101106
routingContext.response().setStatusCode(apiResponse.getStatusCode());
102107
if (apiResponse.hasData()) {
@@ -118,7 +123,7 @@ private void findPetsByTags(RoutingContext routingContext) {
118123

119124
logger.debug("Parameter tags is {}", tags);
120125

121-
apiImpl.findPetsByTags(tags)
126+
api.findPetsByTags(tags)
122127
.onSuccess(apiResponse -> {
123128
routingContext.response().setStatusCode(apiResponse.getStatusCode());
124129
if (apiResponse.hasData()) {
@@ -140,7 +145,7 @@ private void getPetById(RoutingContext routingContext) {
140145

141146
logger.debug("Parameter petId is {}", petId);
142147

143-
apiImpl.getPetById(petId)
148+
api.getPetById(petId)
144149
.onSuccess(apiResponse -> {
145150
routingContext.response().setStatusCode(apiResponse.getStatusCode());
146151
if (apiResponse.hasData()) {
@@ -163,7 +168,7 @@ private void updatePet(RoutingContext routingContext) {
163168

164169
logger.debug("Parameter pet is {}", pet);
165170

166-
apiImpl.updatePet(pet)
171+
api.updatePet(pet)
167172
.onSuccess(apiResponse -> {
168173
routingContext.response().setStatusCode(apiResponse.getStatusCode());
169174
if (apiResponse.hasData()) {
@@ -188,7 +193,7 @@ private void updatePetWithForm(RoutingContext routingContext) {
188193
logger.debug("Parameter petId is {}", petId);
189194
logger.debug("Parameter formBody is {}", formBody);
190195

191-
apiImpl.updatePetWithForm(petId, formBody)
196+
api.updatePetWithForm(petId, formBody)
192197
.onSuccess(apiResponse -> {
193198
routingContext.response().setStatusCode(apiResponse.getStatusCode());
194199
if (apiResponse.hasData()) {
@@ -212,7 +217,7 @@ private void uploadFile(RoutingContext routingContext) {
212217
logger.debug("Parameter petId is {}", petId);
213218
logger.debug("Parameter file is {}", file);
214219

215-
apiImpl.uploadFile(petId, file)
220+
api.uploadFile(petId, file)
216221
.onSuccess(apiResponse -> {
217222
routingContext.response().setStatusCode(apiResponse.getStatusCode());
218223
if (apiResponse.hasData()) {

samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/StoreApiHandler.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,15 @@ public class StoreApiHandler {
2020

2121
private static final Logger logger = LoggerFactory.getLogger(StoreApiHandler.class);
2222

23-
private final StoreApi apiImpl;
23+
private final StoreApi api;
2424

25+
public StoreApiHandler(StoreApi api) {
26+
this.api = api;
27+
}
28+
29+
@Deprecated
2530
public StoreApiHandler() {
26-
this.apiImpl = new StoreApiImpl();
31+
this(new StoreApiImpl());
2732
}
2833

2934
public void mount(RouterBuilder builder) {
@@ -43,7 +48,7 @@ private void deleteOrder(RoutingContext routingContext) {
4348

4449
logger.debug("Parameter orderId is {}", orderId);
4550

46-
apiImpl.deleteOrder(orderId)
51+
api.deleteOrder(orderId)
4752
.onSuccess(apiResponse -> {
4853
routingContext.response().setStatusCode(apiResponse.getStatusCode());
4954
if (apiResponse.hasData()) {
@@ -63,7 +68,7 @@ private void getInventory(RoutingContext routingContext) {
6368

6469

6570

66-
apiImpl.getInventory()
71+
api.getInventory()
6772
.onSuccess(apiResponse -> {
6873
routingContext.response().setStatusCode(apiResponse.getStatusCode());
6974
if (apiResponse.hasData()) {
@@ -85,7 +90,7 @@ private void getOrderById(RoutingContext routingContext) {
8590

8691
logger.debug("Parameter orderId is {}", orderId);
8792

88-
apiImpl.getOrderById(orderId)
93+
api.getOrderById(orderId)
8994
.onSuccess(apiResponse -> {
9095
routingContext.response().setStatusCode(apiResponse.getStatusCode());
9196
if (apiResponse.hasData()) {
@@ -108,7 +113,7 @@ private void placeOrder(RoutingContext routingContext) {
108113

109114
logger.debug("Parameter order is {}", order);
110115

111-
apiImpl.placeOrder(order)
116+
api.placeOrder(order)
112117
.onSuccess(apiResponse -> {
113118
routingContext.response().setStatusCode(apiResponse.getStatusCode());
114119
if (apiResponse.hasData()) {

samples/server/petstore/java-vertx-web/src/main/java/org/openapitools/vertxweb/server/api/UserApiHandler.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,15 @@ public class UserApiHandler {
2020

2121
private static final Logger logger = LoggerFactory.getLogger(UserApiHandler.class);
2222

23-
private final UserApi apiImpl;
23+
private final UserApi api;
2424

25+
public UserApiHandler(UserApi api) {
26+
this.api = api;
27+
}
28+
29+
@Deprecated
2530
public UserApiHandler() {
26-
this.apiImpl = new UserApiImpl();
31+
this(new UserApiImpl());
2732
}
2833

2934
public void mount(RouterBuilder builder) {
@@ -48,7 +53,7 @@ private void createUser(RoutingContext routingContext) {
4853

4954
logger.debug("Parameter user is {}", user);
5055

51-
apiImpl.createUser(user)
56+
api.createUser(user)
5257
.onSuccess(apiResponse -> {
5358
routingContext.response().setStatusCode(apiResponse.getStatusCode());
5459
if (apiResponse.hasData()) {
@@ -71,7 +76,7 @@ private void createUsersWithArrayInput(RoutingContext routingContext) {
7176

7277
logger.debug("Parameter user is {}", user);
7378

74-
apiImpl.createUsersWithArrayInput(user)
79+
api.createUsersWithArrayInput(user)
7580
.onSuccess(apiResponse -> {
7681
routingContext.response().setStatusCode(apiResponse.getStatusCode());
7782
if (apiResponse.hasData()) {
@@ -94,7 +99,7 @@ private void createUsersWithListInput(RoutingContext routingContext) {
9499

95100
logger.debug("Parameter user is {}", user);
96101

97-
apiImpl.createUsersWithListInput(user)
102+
api.createUsersWithListInput(user)
98103
.onSuccess(apiResponse -> {
99104
routingContext.response().setStatusCode(apiResponse.getStatusCode());
100105
if (apiResponse.hasData()) {
@@ -116,7 +121,7 @@ private void deleteUser(RoutingContext routingContext) {
116121

117122
logger.debug("Parameter username is {}", username);
118123

119-
apiImpl.deleteUser(username)
124+
api.deleteUser(username)
120125
.onSuccess(apiResponse -> {
121126
routingContext.response().setStatusCode(apiResponse.getStatusCode());
122127
if (apiResponse.hasData()) {
@@ -138,7 +143,7 @@ private void getUserByName(RoutingContext routingContext) {
138143

139144
logger.debug("Parameter username is {}", username);
140145

141-
apiImpl.getUserByName(username)
146+
api.getUserByName(username)
142147
.onSuccess(apiResponse -> {
143148
routingContext.response().setStatusCode(apiResponse.getStatusCode());
144149
if (apiResponse.hasData()) {
@@ -162,7 +167,7 @@ private void loginUser(RoutingContext routingContext) {
162167
logger.debug("Parameter username is {}", username);
163168
logger.debug("Parameter password is {}", password);
164169

165-
apiImpl.loginUser(username, password)
170+
api.loginUser(username, password)
166171
.onSuccess(apiResponse -> {
167172
routingContext.response().setStatusCode(apiResponse.getStatusCode());
168173
if (apiResponse.hasData()) {
@@ -182,7 +187,7 @@ private void logoutUser(RoutingContext routingContext) {
182187

183188

184189

185-
apiImpl.logoutUser()
190+
api.logoutUser()
186191
.onSuccess(apiResponse -> {
187192
routingContext.response().setStatusCode(apiResponse.getStatusCode());
188193
if (apiResponse.hasData()) {
@@ -207,7 +212,7 @@ private void updateUser(RoutingContext routingContext) {
207212
logger.debug("Parameter username is {}", username);
208213
logger.debug("Parameter user is {}", user);
209214

210-
apiImpl.updateUser(username, user)
215+
api.updateUser(username, user)
211216
.onSuccess(apiResponse -> {
212217
routingContext.response().setStatusCode(apiResponse.getStatusCode());
213218
if (apiResponse.hasData()) {

0 commit comments

Comments
 (0)