use of org.codice.ddf.catalog.resource.download.DownloadToLocalSiteException in project ddf by codice.
the class ResourceDownload method copyToLocalSite.
@Override
public void copyToLocalSite(String sourceId, String metacardId) throws MBeanException {
LOGGER.debug("Downloading resource associated with metacard id [{}] from source [{}] to the local site.", metacardId, sourceId);
ResourceRequest resourceRequest = new ResourceRequestById(metacardId);
if (!resourceCacheMBean.isCacheEnabled()) {
String message = "Caching of resources is not enabled.";
LOGGER.info(message);
throw new MBeanException(new DownloadToLocalSiteException(Status.BAD_REQUEST, message), message);
}
try {
LOGGER.debug("Attempting to download the resource associated with metacard [{}] from source [{}] to the local site.", metacardId, sourceId);
ResourceResponse resourceResponse = catalogFramework.getResource(resourceRequest, sourceId);
if (resourceResponse == null) {
String message = String.format(ERROR_MESSAGE_TEMPLATE, metacardId, sourceId);
LOGGER.debug(message);
throw new MBeanException(new DownloadToLocalSiteException(Status.INTERNAL_SERVER_ERROR, message), message);
}
} catch (IOException | ResourceNotSupportedException e) {
String message = String.format(ERROR_MESSAGE_TEMPLATE, metacardId, sourceId);
LOGGER.debug(message, e);
throw new MBeanException(new DownloadToLocalSiteException(Status.INTERNAL_SERVER_ERROR, message), message);
} catch (ResourceNotFoundException e) {
String message = String.format(ERROR_MESSAGE_TEMPLATE, metacardId, sourceId) + " The resource could not be found.";
LOGGER.debug(message, e);
throw new MBeanException(new DownloadToLocalSiteException(Status.NOT_FOUND, message), message);
}
}
use of org.codice.ddf.catalog.resource.download.DownloadToLocalSiteException in project ddf by codice.
the class ResourceDownloadActionEndpointTest method getDownloadToLocalSiteExceptionWrappedInMBeanException.
private MBeanException getDownloadToLocalSiteExceptionWrappedInMBeanException() {
String message = "exception message";
DownloadToLocalSiteException downloadToCacheException = new DownloadToLocalSiteException(Status.INTERNAL_SERVER_ERROR, message);
MBeanException mBeanException = new MBeanException(downloadToCacheException, message);
return mBeanException;
}
Aggregations