package org.openstack.atlas.api.resources;
import org.openstack.atlas.docs.loadbalancers.api.v1.faults.BadRequest;
import org.openstack.atlas.service.domain.operations.OperationResponse;
import org.openstack.atlas.api.resources.providers.CommonDependencyProvider;
import org.openstack.atlas.api.helpers.ResponseFactory;
import org.openstack.atlas.service.domain.operations.OperationResponse.ErrorReason;
import org.openstack.atlas.api.faults.HttpResponseBuilder;
import javax.ws.rs.*;
import javax.ws.rs.core.Response;
import java.util.*;
public class ThrowResource extends CommonDependencyProvider{
@GET
@Path("badRequest")
public Response getBadRequest() {
List<String> validationMessages = new ArrayList<String>();
validationMessages.add("Example Message1");
validationMessages.add("Example Message2");
BadRequest badRequest = HttpResponseBuilder.buildBadRequestResponse("Validation fault", validationMessages);
return Response.status(400).entity(badRequest).build();
}
@GET
@Path("loadBalancerFault")
public Response getLoadBalancerFault() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.UNKNOWN);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("ItemNotFound")
public Response getItemNotFound() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.ENTITY_NOT_FOUND);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("OverLimit")
public Response getOverLimit() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.OVER_LIMIT);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("Unauthorized")
public Response getUnauthorized() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.UNAUTHORIZED);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("OutOfVirtualIps")
public Response getOutOfVirtualIps() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.OUT_OF_VIPS);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("ImmutableEntity")
public Response getImmutableEntity() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.IMMUTABLE_ENTITY);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("UnprocessableEntity")
public Response getUnprocessableEntity() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.UNPROCESSABLE_ENTITY);
return ResponseFactory.getErrorResponse(opResp);
}
@GET
@Path("ServiceUnavailable")
public Response getServiceUnavailable() {
OperationResponse opResp = new OperationResponse();
opResp.setErrorReason(ErrorReason.SERVICE_UNAVAILABLE);
return ResponseFactory.getErrorResponse(opResp);
}
}