72 lines
2.3 KiB
Java
72 lines
2.3 KiB
Java
package tools;
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
import org.ccalm.weather.models.ErrorResponseModel;
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.web.bind.annotation.ResponseStatus;
|
|
|
|
import java.util.List;
|
|
|
|
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
|
|
public class CustomException extends Exception {
|
|
private static final Logger logger = LogManager.getLogger(CustomException.class);
|
|
|
|
private ErrorResponseModel error;
|
|
|
|
public CustomException(int errorCode, String errorMessage, String marker) {
|
|
super(errorMessage);
|
|
error = new ErrorResponseModel(errorCode, errorMessage, marker);
|
|
}
|
|
|
|
public CustomException(int errorCode, String errorMessage, String errorSetting, String marker) {
|
|
super(errorMessage);
|
|
error = new ErrorResponseModel(errorCode, errorMessage, errorSetting, marker);
|
|
}
|
|
|
|
public CustomException(int errorCode, List<String> errorMessages, String marker) {
|
|
super(String.join(" ", errorMessages));
|
|
error = new ErrorResponseModel(errorCode, errorMessages, marker);
|
|
}
|
|
|
|
public CustomException(int errorCode, List<String> errorMessages, List<String> errorSettings, String marker) {
|
|
super(String.join(" ", errorMessages));
|
|
error = new ErrorResponseModel(errorCode, errorMessages, errorSettings, marker);
|
|
}
|
|
|
|
public int getErrorCode() {
|
|
return error.getError_code();
|
|
}
|
|
|
|
public String getErrorMarker() {
|
|
return error.getError_marker();
|
|
}
|
|
|
|
public List<String> getErrorMessages() {
|
|
return error.getError_message();
|
|
}
|
|
|
|
public List<String> getErrorSettings() {
|
|
return error.getError_setting();
|
|
}
|
|
|
|
public JSONObject getJson() {
|
|
JSONObject json = new JSONObject();
|
|
try {
|
|
json.put("error_code", this.getErrorCode());
|
|
json.put("error_message", this.getErrorMessages());
|
|
json.put("error_setting", this.getErrorSettings());
|
|
json.put("error_marker", this.getErrorMarker());
|
|
} catch (JSONException e) {
|
|
logger.error("Error", e);
|
|
}
|
|
return json;
|
|
}
|
|
|
|
public ErrorResponseModel getErrorResponseModel() {
|
|
return error;
|
|
}
|
|
}
|