package uk.ac.ic.wlgitbridge.snapshot.push.exception;
import com.google.gson.JsonObject;
/**
* Created by Winston on 17/11/14.
*/
public class SnapshotPostExceptionBuilder {
private static final String CODE_ERROR_OUT_OF_DATE = "outOfDate";
private static final String CODE_ERROR_INVALID_FILES = "invalidFiles";
private static final String CODE_ERROR_INVALID_PROJECT = "invalidProject";
private static final String CODE_ERROR_UNKNOWN = "error";
public SnapshotPostException build(String errorCode, JsonObject json) throws UnexpectedPostbackException {
if (errorCode.equals(CODE_ERROR_OUT_OF_DATE)) {
return new OutOfDateException(json);
} else if (errorCode.equals(CODE_ERROR_INVALID_FILES)) {
return new InvalidFilesException(json);
} else if (errorCode.equals(CODE_ERROR_INVALID_PROJECT)) {
return new InvalidProjectException(json);
} else if (errorCode.equals(CODE_ERROR_UNKNOWN)) {
return new UnexpectedErrorException(json);
} else {
throw new UnexpectedPostbackException();
}
}
}