package com.sudosaints.excusepro.util; import android.content.Context; import com.sudosaints.excusepro.R; import com.sudosaints.excusepro.exception.CommunicationException; import com.sudosaints.excusepro.util.ApiRequest.RequestName; public class ApiRequestHelper { private Context context; HttpHelper httpHelper; ResponseHelper responseHelper; Logger logger; public ApiRequestHelper(Context context) { super(); this.context = context; httpHelper = new HttpHelper(context); responseHelper = new ResponseHelper(context); logger = new Logger(context); } public ApiResponse getCategories() { ApiResponse apiResponse = new ApiResponse(); ApiRequest apiRequest = new ApiRequest(); apiRequest.setRequestName(RequestName.GET_CATEGORIES); apiRequest.setParam("apiKey", context.getResources().getString(R.string.api_key)); ServerResponse serverResponse = null; try { serverResponse = httpHelper.sendRequest(apiRequest); apiResponse = responseHelper.getApiResponse(serverResponse); } catch (CommunicationException e) { // TODO Auto-generated catch block e.printStackTrace(); return apiResponse.setError(e.getApiError()); } return apiResponse; } public ApiResponse getExcuses(Long categoryId) { ApiResponse apiResponse = new ApiResponse(); ApiRequest apiRequest = new ApiRequest(); apiRequest.setRequestName(RequestName.GET_EXCUSES); apiRequest.setParam("apiKey", context.getResources().getString(R.string.api_key)); apiRequest.setParam("categoryId", String.valueOf(categoryId)); ServerResponse serverResponse = null; try { serverResponse = httpHelper.sendRequest(apiRequest); apiResponse = responseHelper.getApiResponse(serverResponse); } catch (CommunicationException e) { // TODO Auto-generated catch block e.printStackTrace(); return apiResponse.setError(e.getApiError()); } return apiResponse; } private ApiResponse performApiRequest(ApiRequest apiRequest) { ApiResponse apiResponse = new ApiResponse().setSuccess(false); ServerResponse response = null; try { response = httpHelper.sendRequest(apiRequest, true); } catch (CommunicationException e) { e.printStackTrace(); return apiResponse.setError(e.getApiError()); } apiResponse = responseHelper.getApiResponse(response); return apiResponse; } }