Fix for issue #6094 (#6121)

This commit is contained in:
Jean-François Côté
2017-07-20 03:42:56 -04:00
committed by wing328
parent f00e6b349e
commit bca35f6645
192 changed files with 17831 additions and 30 deletions

View File

@@ -0,0 +1,15 @@
package controllers;
import javax.inject.*;
import play.mvc.*;
public class ApiDocController extends Controller {
@Inject
private ApiDocController() {
}
public Result api() {
return redirect("/assets/lib/swagger-ui/index.html?/url=/assets/swagger.json");
}
}

View File

@@ -0,0 +1,158 @@
package controllers;
import java.io.InputStream;
import apimodels.ModelApiResponse;
import apimodels.Pet;
import play.mvc.Controller;
import play.mvc.Result;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject;
import java.io.IOException;
import swagger.SwaggerUtils;
import com.fasterxml.jackson.core.type.TypeReference;
import javax.validation.constraints.*;
import swagger.SwaggerUtils.ApiAction;
public class PetApiController extends Controller {
private final PetApiControllerImp imp;
private final ObjectMapper mapper;
@Inject
private PetApiController(PetApiControllerImp imp) {
this.imp = imp;
mapper = new ObjectMapper();
}
@ApiAction
public Result addPet() throws IOException {
JsonNode nodebody = request().body().asJson();
Pet body;
body = mapper.readValue(nodebody.toString(), Pet.class);
imp.addPet(body);
return ok();
}
@ApiAction
public Result deletePet(Long petId) {
String valueapiKey = request().getHeader("api_key");
String apiKey;
if (valueapiKey != null) {
apiKey = (String)valueapiKey;
} else {
apiKey = null;
}
imp.deletePet(petId, apiKey);
return ok();
}
@ApiAction
public Result findPetsByStatus() {
List<String> statusList = SwaggerUtils.parametersToList("csv", request().queryString().get("status"));
List<String> status = new ArrayList<String>();
for (String curParam : statusList) {
//noinspection UseBulkOperation
status.add(curParam);
}
List<Pet> obj = imp.findPetsByStatus(status);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result findPetsByTags() {
List<String> tagsList = SwaggerUtils.parametersToList("csv", request().queryString().get("tags"));
List<String> tags = new ArrayList<String>();
for (String curParam : tagsList) {
//noinspection UseBulkOperation
tags.add(curParam);
}
List<Pet> obj = imp.findPetsByTags(tags);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result getPetById(Long petId) {
Pet obj = imp.getPetById(petId);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result updatePet() throws IOException {
JsonNode nodebody = request().body().asJson();
Pet body;
body = mapper.readValue(nodebody.toString(), Pet.class);
imp.updatePet(body);
return ok();
}
@ApiAction
public Result updatePetWithForm(Long petId) {
String valuename = (request().body().asMultipartFormData().asFormUrlEncoded().get("name"))[0];
String name;
if (valuename != null) {
name = (String)valuename;
} else {
name = null;
}
String valuestatus = (request().body().asMultipartFormData().asFormUrlEncoded().get("status"))[0];
String status;
if (valuestatus != null) {
status = (String)valuestatus;
} else {
status = null;
}
imp.updatePetWithForm(petId, name, status);
return ok();
}
@ApiAction
public Result uploadFile(Long petId) {
String valueadditionalMetadata = (request().body().asMultipartFormData().asFormUrlEncoded().get("additionalMetadata"))[0];
String additionalMetadata;
if (valueadditionalMetadata != null) {
additionalMetadata = (String)valueadditionalMetadata;
} else {
additionalMetadata = null;
}
Http.MultipartFormData.FilePart file = request().body().asMultipartFormData().getFile("file");
ModelApiResponse obj = imp.uploadFile(petId, additionalMetadata, file);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
}

View File

@@ -0,0 +1,63 @@
package controllers;
import java.io.InputStream;
import apimodels.ModelApiResponse;
import apimodels.Pet;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.io.FileInputStream;
import javax.validation.constraints.*;
public class PetApiControllerImp implements PetApiControllerImpInterface {
@Override
public void addPet(Pet body) {
//Do your magic!!!
}
@Override
public void deletePet(Long petId, String apiKey) {
//Do your magic!!!
}
@Override
public List<Pet> findPetsByStatus( @NotNull List<String> status) {
//Do your magic!!!
return new ArrayList<Pet>();
}
@Override
public List<Pet> findPetsByTags( @NotNull List<String> tags) {
//Do your magic!!!
return new ArrayList<Pet>();
}
@Override
public Pet getPetById(Long petId) {
//Do your magic!!!
return new Pet();
}
@Override
public void updatePet(Pet body) {
//Do your magic!!!
}
@Override
public void updatePetWithForm(Long petId, String name, String status) {
//Do your magic!!!
}
@Override
public ModelApiResponse uploadFile(Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) {
//Do your magic!!!
return new ModelApiResponse();
}
}

View File

@@ -0,0 +1,31 @@
package controllers;
import java.io.InputStream;
import apimodels.ModelApiResponse;
import apimodels.Pet;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import javax.validation.constraints.*;
public interface PetApiControllerImpInterface {
void addPet(Pet body) ;
void deletePet(Long petId, String apiKey) ;
List<Pet> findPetsByStatus( @NotNull List<String> status) ;
List<Pet> findPetsByTags( @NotNull List<String> tags) ;
Pet getPetById(Long petId) ;
void updatePet(Pet body) ;
void updatePetWithForm(Long petId, String name, String status) ;
ModelApiResponse uploadFile(Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) ;
}

View File

@@ -0,0 +1,74 @@
package controllers;
import java.util.Map;
import apimodels.Order;
import play.mvc.Controller;
import play.mvc.Result;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject;
import java.io.IOException;
import swagger.SwaggerUtils;
import com.fasterxml.jackson.core.type.TypeReference;
import javax.validation.constraints.*;
import swagger.SwaggerUtils.ApiAction;
public class StoreApiController extends Controller {
private final StoreApiControllerImp imp;
private final ObjectMapper mapper;
@Inject
private StoreApiController(StoreApiControllerImp imp) {
this.imp = imp;
mapper = new ObjectMapper();
}
@ApiAction
public Result deleteOrder(String orderId) {
imp.deleteOrder(orderId);
return ok();
}
@ApiAction
public Result getInventory() {
Map<String, Integer> obj = imp.getInventory();
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result getOrderById( @Min(1) @Max(5)Long orderId) {
Order obj = imp.getOrderById(orderId);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result placeOrder() throws IOException {
JsonNode nodebody = request().body().asJson();
Order body;
body = mapper.readValue(nodebody.toString(), Order.class);
Order obj = imp.placeOrder(body);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
}

View File

@@ -0,0 +1,38 @@
package controllers;
import java.util.Map;
import apimodels.Order;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.io.FileInputStream;
import javax.validation.constraints.*;
public class StoreApiControllerImp implements StoreApiControllerImpInterface {
@Override
public void deleteOrder(String orderId) {
//Do your magic!!!
}
@Override
public Map<String, Integer> getInventory() {
//Do your magic!!!
return new HashMap<String, Integer>();
}
@Override
public Order getOrderById( @Min(1) @Max(5)Long orderId) {
//Do your magic!!!
return new Order();
}
@Override
public Order placeOrder(Order body) {
//Do your magic!!!
return new Order();
}
}

View File

@@ -0,0 +1,22 @@
package controllers;
import java.util.Map;
import apimodels.Order;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import javax.validation.constraints.*;
public interface StoreApiControllerImpInterface {
void deleteOrder(String orderId) ;
Map<String, Integer> getInventory() ;
Order getOrderById( @Min(1) @Max(5)Long orderId) ;
Order placeOrder(Order body) ;
}

View File

@@ -0,0 +1,130 @@
package controllers;
import java.util.List;
import apimodels.User;
import play.mvc.Controller;
import play.mvc.Result;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject;
import java.io.IOException;
import swagger.SwaggerUtils;
import com.fasterxml.jackson.core.type.TypeReference;
import javax.validation.constraints.*;
import swagger.SwaggerUtils.ApiAction;
public class UserApiController extends Controller {
private final UserApiControllerImp imp;
private final ObjectMapper mapper;
@Inject
private UserApiController(UserApiControllerImp imp) {
this.imp = imp;
mapper = new ObjectMapper();
}
@ApiAction
public Result createUser() throws IOException {
JsonNode nodebody = request().body().asJson();
User body;
body = mapper.readValue(nodebody.toString(), User.class);
imp.createUser(body);
return ok();
}
@ApiAction
public Result createUsersWithArrayInput() throws IOException {
JsonNode nodebody = request().body().asJson();
List<User> body;
body = mapper.readValue(nodebody.toString(), new TypeReference<List<List<User>>>(){});
imp.createUsersWithArrayInput(body);
return ok();
}
@ApiAction
public Result createUsersWithListInput() throws IOException {
JsonNode nodebody = request().body().asJson();
List<User> body;
body = mapper.readValue(nodebody.toString(), new TypeReference<List<List<User>>>(){});
imp.createUsersWithListInput(body);
return ok();
}
@ApiAction
public Result deleteUser(String username) {
imp.deleteUser(username);
return ok();
}
@ApiAction
public Result getUserByName(String username) {
User obj = imp.getUserByName(username);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result loginUser() {
String valueusername = request().getQueryString("username");
String username;
username = (String)valueusername;
String valuepassword = request().getQueryString("password");
String password;
password = (String)valuepassword;
String obj = imp.loginUser(username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
@ApiAction
public Result logoutUser() {
imp.logoutUser();
return ok();
}
@ApiAction
public Result updateUser(String username) throws IOException {
JsonNode nodebody = request().body().asJson();
User body;
body = mapper.readValue(nodebody.toString(), User.class);
imp.updateUser(username, body);
return ok();
}
}

View File

@@ -0,0 +1,62 @@
package controllers;
import java.util.List;
import apimodels.User;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.io.FileInputStream;
import javax.validation.constraints.*;
public class UserApiControllerImp implements UserApiControllerImpInterface {
@Override
public void createUser(User body) {
//Do your magic!!!
}
@Override
public void createUsersWithArrayInput(List<User> body) {
//Do your magic!!!
}
@Override
public void createUsersWithListInput(List<User> body) {
//Do your magic!!!
}
@Override
public void deleteUser(String username) {
//Do your magic!!!
}
@Override
public User getUserByName(String username) {
//Do your magic!!!
return new User();
}
@Override
public String loginUser( @NotNull String username, @NotNull String password) {
//Do your magic!!!
return new String();
}
@Override
public void logoutUser() {
//Do your magic!!!
}
@Override
public void updateUser(String username, User body) {
//Do your magic!!!
}
}

View File

@@ -0,0 +1,30 @@
package controllers;
import java.util.List;
import apimodels.User;
import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import javax.validation.constraints.*;
public interface UserApiControllerImpInterface {
void createUser(User body) ;
void createUsersWithArrayInput(List<User> body) ;
void createUsersWithListInput(List<User> body) ;
void deleteUser(String username) ;
User getUserByName(String username) ;
String loginUser( @NotNull String username, @NotNull String password) ;
void logoutUser() ;
void updateUser(String username, User body) ;
}