Search in sources :

Example 1 with Upload

use of com.cloud.storage.Upload in project CloudStack-archive by CloudStack-extras.

the class ExtractVolumeCmd method execute.

@Override
public void execute() {
    try {
        UserContext.current().setEventDetails("Volume Id: " + getId());
        Long uploadId = _mgr.extractVolume(this);
        if (uploadId != null) {
            Upload uploadInfo = _entityMgr.findById(Upload.class, uploadId);
            ExtractResponse response = new ExtractResponse();
            response.setResponseName(getCommandName());
            response.setObjectName("volume");
            response.setIdentityTableName("volumes");
            response.setId(id);
            response.setName(_entityMgr.findById(Volume.class, id).getName());
            response.setZoneId(zoneId);
            response.setZoneName(_entityMgr.findById(DataCenter.class, zoneId).getName());
            response.setMode(mode);
            response.setUploadId(uploadId);
            response.setState(uploadInfo.getUploadState().toString());
            response.setAccountId(getEntityOwnerId());
            response.setUrl(uploadInfo.getUploadUrl());
            this.setResponseObject(response);
        } else {
            throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to extract volume");
        }
    } catch (URISyntaxException ex) {
        s_logger.info(ex);
        throw new ServerApiException(BaseCmd.PARAM_ERROR, ex.getMessage());
    }
}
Also used : ExtractResponse(com.cloud.api.response.ExtractResponse) ServerApiException(com.cloud.api.ServerApiException) Upload(com.cloud.storage.Upload) URISyntaxException(java.net.URISyntaxException)

Aggregations

ServerApiException (com.cloud.api.ServerApiException)1 ExtractResponse (com.cloud.api.response.ExtractResponse)1 Upload (com.cloud.storage.Upload)1 URISyntaxException (java.net.URISyntaxException)1