use of org.dcache.srm.SRMFileUnvailableException in project dcache by dCache.
the class PinCompanion method fail.
private void fail(int rc, String error) {
switch(rc) {
case FILE_NOT_FOUND:
setException(new SRMInvalidPathException("No such file."));
break;
case FILE_NOT_IN_REPOSITORY:
_log.warn("Pinning failed for {} ({})", _path, error);
setException(new SRMFileUnvailableException(error));
break;
case PERMISSION_DENIED:
_log.warn("Pinning failed for {} ({})", _path, error);
setException(new SRMAuthorizationException(error));
break;
case TIMEOUT:
_log.info("Pinning failed: {}", error);
setException(new SRMInternalErrorException("Pin operation timed out"));
break;
default:
_log.error("Pinning failed for {} [rc={},msg={}].", _path, rc, error);
String reason = String.format("Failed to pin file [rc=%d,msg=%s].", rc, error);
setException(new SRMException(reason));
break;
}
_state = new FailedState();
}
use of org.dcache.srm.SRMFileUnvailableException in project dcache by dCache.
the class TStatusCodes method checkSuccess.
public static void checkSuccess(TReturnStatus returnStatus, TStatusCode... success) throws SRMException {
TStatusCode statusCode = returnStatus.getStatusCode();
String explanation = returnStatus.getExplanation();
if (asList(success).contains(statusCode)) {
return;
}
if (explanation == null) {
explanation = "Operation failed with " + returnStatus.getStatusCode();
}
if (statusCode == TStatusCode.SRM_FAILURE) {
throw new SRMException(explanation);
} else if (statusCode == TStatusCode.SRM_PARTIAL_SUCCESS) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_AUTHENTICATION_FAILURE) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_AUTHORIZATION_FAILURE) {
throw new SRMAuthorizationException(explanation);
} else if (statusCode == TStatusCode.SRM_INVALID_REQUEST) {
throw new SRMInvalidRequestException(explanation);
} else if (statusCode == TStatusCode.SRM_INVALID_PATH) {
throw new SRMInvalidPathException(explanation);
} else if (statusCode == TStatusCode.SRM_FILE_LIFETIME_EXPIRED) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_SPACE_LIFETIME_EXPIRED) {
throw new SRMSpaceLifetimeExpiredException(explanation);
} else if (statusCode == TStatusCode.SRM_EXCEED_ALLOCATION) {
throw new SRMExceedAllocationException(explanation);
} else if (statusCode == TStatusCode.SRM_NO_USER_SPACE) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_NO_FREE_SPACE) {
throw new SRMNoFreeSpaceException(explanation);
} else if (statusCode == TStatusCode.SRM_DUPLICATION_ERROR) {
throw new SRMDuplicationException(explanation);
} else if (statusCode == TStatusCode.SRM_NON_EMPTY_DIRECTORY) {
throw new SRMNonEmptyDirectoryException(explanation);
} else if (statusCode == TStatusCode.SRM_TOO_MANY_RESULTS) {
throw new SRMTooManyResultsException(explanation);
} else if (statusCode == TStatusCode.SRM_INTERNAL_ERROR) {
throw new SRMInternalErrorException(explanation);
} else if (statusCode == TStatusCode.SRM_FATAL_INTERNAL_ERROR) {
throw new SRMInternalErrorException(explanation);
} else if (statusCode == TStatusCode.SRM_NOT_SUPPORTED) {
throw new SRMNotSupportedException(explanation);
} else if (statusCode == TStatusCode.SRM_REQUEST_QUEUED) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_REQUEST_INPROGRESS) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_ABORTED) {
throw new SRMAbortedException(explanation);
} else if (statusCode == TStatusCode.SRM_RELEASED) {
throw new SRMReleasedException(explanation);
} else if (statusCode == TStatusCode.SRM_FILE_PINNED) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_FILE_IN_CACHE) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_SPACE_AVAILABLE) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_LOWER_SPACE_GRANTED) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_REQUEST_TIMED_OUT) {
throw new SRMRequestTimedOutException(explanation);
} else if (statusCode == TStatusCode.SRM_LAST_COPY) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_FILE_BUSY) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_FILE_LOST) {
throw new SRMOtherException(statusCode, explanation);
} else if (statusCode == TStatusCode.SRM_FILE_UNAVAILABLE) {
throw new SRMFileUnvailableException(explanation);
} else if (statusCode == TStatusCode.SRM_CUSTOM_STATUS) {
throw new SRMOtherException(statusCode, explanation);
} else {
throw new SRMOtherException(statusCode, explanation);
}
}
Aggregations