[Play Framework] Update Play Framework Generator to latest version (#7860)

* First iteration to support new mechanism that needs to have the handle of the result.

* Most of the samples now build except "async". Also, everything is messed up.. need to understand the mustache way to handle this.

* New version to support play 2.8

* Fix conflict

* Fix error when multiple file in forms
This commit is contained in:
Jean-François Côté
2020-11-02 21:48:29 -05:00
committed by GitHub
parent ebf2f2e30f
commit 998e0fdaa2
127 changed files with 2720 additions and 1276 deletions

View File

@@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject;
import java.io.File;
import play.api.libs.Files.TemporaryFile;
import java.io.IOException;
import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -27,7 +28,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper;
private final Config configuration;
@@ -39,7 +39,6 @@ public class PetApiController extends Controller {
this.configuration = configuration;
}
@ApiAction
public Result addPet(Http.Request request) throws IOException {
JsonNode nodebody = request.body().asJson();
@@ -52,8 +51,7 @@ public class PetApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
imp.addPet(request, body);
return ok();
return imp.addPetHttp(request, body);
}
@ApiAction
@@ -65,8 +63,7 @@ public class PetApiController extends Controller {
} else {
apiKey = null;
}
imp.deletePet(request, petId, apiKey);
return ok();
return imp.deletePetHttp(request, petId, apiKey);
}
@ApiAction
@@ -83,14 +80,7 @@ public class PetApiController extends Controller {
status.add(curParam);
}
}
List<Pet> obj = imp.findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.findPetsByStatusHttp(request, status);
}
@ApiAction
@@ -107,24 +97,12 @@ public class PetApiController extends Controller {
tags.add(curParam);
}
}
List<Pet> obj = imp.findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.findPetsByTagsHttp(request, tags);
}
@ApiAction
public Result getPetById(Http.Request request, Long petId) {
Pet obj = imp.getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.getPetByIdHttp(request, petId);
}
@ApiAction
@@ -139,8 +117,7 @@ public class PetApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
imp.updatePet(request, body);
return ok();
return imp.updatePetHttp(request, body);
}
@ApiAction
@@ -159,8 +136,7 @@ public class PetApiController extends Controller {
} else {
status = null;
}
imp.updatePetWithForm(request, petId, name, status);
return ok();
return imp.updatePetWithFormHttp(request, petId, name, status);
}
@ApiAction
@@ -172,12 +148,9 @@ public class PetApiController extends Controller {
} else {
additionalMetadata = null;
}
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file");
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
return imp.uploadFileHttp(request, petId, additionalMetadata, file);
}
}

View File

@@ -10,9 +10,10 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface {
public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override
public void addPet(Http.Request request, Pet body) {
//Do your magic!!!
@@ -52,7 +53,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
}
@Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) {
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) {
//Do your magic!!!
return new ModelApiResponse();
}

View File

@@ -4,29 +4,109 @@ import java.io.InputStream;
import apimodels.ModelApiResponse;
import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) ;
public abstract class PetApiControllerImpInterface {
@Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) ;
public Result addPetHttp(Http.Request request, Pet body) {
addPet(request, body);
return ok();
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) ;
}
List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) ;
public abstract void addPet(Http.Request request, Pet body) ;
Pet getPetById(Http.Request request, Long petId) ;
public Result deletePetHttp(Http.Request request, Long petId, String apiKey) {
deletePet(request, petId, apiKey);
return ok();
void updatePet(Http.Request request, Pet body) ;
}
void updatePetWithForm(Http.Request request, Long petId, String name, String status) ;
public abstract void deletePet(Http.Request request, Long petId, String apiKey) ;
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) ;
public Result findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) {
List<Pet> obj = findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) ;
public Result findPetsByTagsHttp(Http.Request request, @NotNull List<String> tags) {
List<Pet> obj = findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) ;
public Result getPetByIdHttp(Http.Request request, Long petId) {
Pet obj = getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) ;
public Result updatePetHttp(Http.Request request, Pet body) {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) ;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) ;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) ;
}

View File

@@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject;
import java.io.File;
import play.api.libs.Files.TemporaryFile;
import java.io.IOException;
import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper;
private final Config configuration;
@@ -38,28 +38,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration;
}
@ApiAction
public Result deleteOrder(Http.Request request, String orderId) {
imp.deleteOrder(request, orderId);
return ok();
return imp.deleteOrderHttp(request, orderId);
}
@ApiAction
public Result getInventory(Http.Request request) {
Map<String, Integer> obj = imp.getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.getInventoryHttp(request);
}
@ApiAction
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) {
Order obj = imp.getOrderById(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.getOrderByIdHttp(request, orderId);
}
@ApiAction
@@ -74,11 +65,7 @@ public class StoreApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
Order obj = imp.placeOrder(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.placeOrderHttp(request, body);
}
}

View File

@@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface {
public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override
public void deleteOrder(Http.Request request, String orderId) {
//Do your magic!!!

View File

@@ -3,21 +3,66 @@ package controllers;
import java.util.Map;
import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) ;
public abstract class StoreApiControllerImpInterface {
@Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
Map<String, Integer> getInventory(Http.Request request) ;
public Result deleteOrderHttp(Http.Request request, String orderId) {
deleteOrder(request, orderId);
return ok();
Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) ;
}
Order placeOrder(Http.Request request, Order body) ;
public abstract void deleteOrder(Http.Request request, String orderId) ;
public Result getInventoryHttp(Http.Request request) {
Map<String, Integer> obj = getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Map<String, Integer> getInventory(Http.Request request) ;
public Result getOrderByIdHttp(Http.Request request, @Min(1) @Max(5)Long orderId) {
Order obj = getOrderById(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) ;
public Result placeOrderHttp(Http.Request request, Order body) {
Order obj = placeOrder(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order placeOrder(Http.Request request, Order body) ;
}

View File

@@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject;
import java.io.File;
import play.api.libs.Files.TemporaryFile;
import java.io.IOException;
import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper;
private final Config configuration;
@@ -38,7 +38,6 @@ public class UserApiController extends Controller {
this.configuration = configuration;
}
@ApiAction
public Result createUser(Http.Request request) throws IOException {
JsonNode nodebody = request.body().asJson();
@@ -51,8 +50,7 @@ public class UserApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
imp.createUser(request, body);
return ok();
return imp.createUserHttp(request, body);
}
@ApiAction
@@ -69,8 +67,7 @@ public class UserApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
imp.createUsersWithArrayInput(request, body);
return ok();
return imp.createUsersWithArrayInputHttp(request, body);
}
@ApiAction
@@ -87,24 +84,17 @@ public class UserApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
imp.createUsersWithListInput(request, body);
return ok();
return imp.createUsersWithListInputHttp(request, body);
}
@ApiAction
public Result deleteUser(Http.Request request, String username) {
imp.deleteUser(request, username);
return ok();
return imp.deleteUserHttp(request, username);
}
@ApiAction
public Result getUserByName(Http.Request request, String username) {
User obj = imp.getUserByName(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.getUserByNameHttp(request, username);
}
@ApiAction
@@ -123,15 +113,12 @@ public class UserApiController extends Controller {
} else {
throw new IllegalArgumentException("'password' parameter is required");
}
String obj = imp.loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
return imp.loginUserHttp(request, username, password);
}
@ApiAction
public Result logoutUser(Http.Request request) {
imp.logoutUser(request);
return ok();
return imp.logoutUserHttp(request);
}
@ApiAction
@@ -146,7 +133,7 @@ public class UserApiController extends Controller {
} else {
throw new IllegalArgumentException("'body' parameter is required");
}
imp.updateUser(request, username, body);
return ok();
return imp.updateUserHttp(request, username, body);
}
}

View File

@@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface {
public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override
public void createUser(Http.Request request, User body) {
//Do your magic!!!

View File

@@ -3,29 +3,94 @@ package controllers;
import java.util.List;
import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface {
void createUser(Http.Request request, User body) ;
public abstract class UserApiControllerImpInterface {
@Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) ;
public Result createUserHttp(Http.Request request, User body) {
createUser(request, body);
return ok();
void createUsersWithListInput(Http.Request request, List<User> body) ;
}
void deleteUser(Http.Request request, String username) ;
public abstract void createUser(Http.Request request, User body) ;
User getUserByName(Http.Request request, String username) ;
public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) {
createUsersWithArrayInput(request, body);
return ok();
String loginUser(Http.Request request, @NotNull String username, @NotNull String password) ;
}
void logoutUser(Http.Request request) ;
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) ;
void updateUser(Http.Request request, String username, User body) ;
public Result createUsersWithListInputHttp(Http.Request request, List<User> body) {
createUsersWithListInput(request, body);
return ok();
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) ;
public Result deleteUserHttp(Http.Request request, String username) {
deleteUser(request, username);
return ok();
}
public abstract void deleteUser(Http.Request request, String username) ;
public Result getUserByNameHttp(Http.Request request, String username) {
User obj = getUserByName(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract User getUserByName(Http.Request request, String username) ;
public Result loginUserHttp(Http.Request request, @NotNull String username, @NotNull String password) {
String obj = loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String loginUser(Http.Request request, @NotNull String username, @NotNull String password) ;
public Result logoutUserHttp(Http.Request request) {
logoutUser(request);
return ok();
}
public abstract void logoutUser(Http.Request request) ;
public Result updateUserHttp(Http.Request request, String username, User body) {
updateUser(request, username, body);
return ok();
}
public abstract void updateUser(Http.Request request, String username, User body) ;
}