use of org.ovirt.engine.core.common.job.Step in project ovirt-engine by oVirt.
the class GlusterAsyncTaskStatusQueryBase method setStartAndStopTime.
private GlusterVolumeTaskStatusEntity setStartAndStopTime(GlusterVolumeTaskStatusEntity status) {
if (status == null) {
return null;
}
GlusterAsyncTask asyncTask = volume.getAsyncTask();
if (asyncTask != null && asyncTask.getTaskId() != null) {
List<Step> stepsList = stepDao.getStepsByExternalId(asyncTask.getTaskId());
if (stepsList != null && !stepsList.isEmpty()) {
status.setStartTime(stepsList.get(0).getStartTime());
status.setStopTime(stepsList.get(0).getEndTime());
}
}
return status;
}
use of org.ovirt.engine.core.common.job.Step in project ovirt-engine by oVirt.
the class GlusterAsyncTaskStatusQueryBase method updateLatestStatus.
private void updateLatestStatus(GlusterVolumeTaskStatusEntity status) {
GlusterAsyncTask asyncTask = volume.getAsyncTask();
if (asyncTask != null && asyncTask.getTaskId() != null) {
GlusterTaskParameters taskParameters = new GlusterTaskParameters();
taskParameters.setVolumeName(volume.getName());
asyncTask.setTaskParameters(taskParameters);
List<Step> stepsList = stepDao.getStepsByExternalId(asyncTask.getTaskId());
// if step has already ended, do not update status.
if (stepsList != null && !stepsList.isEmpty() && stepsList.get(0).getEndTime() != null) {
asyncTask.setStatus(status.getStatusSummary().getStatus());
asyncTask.setMessage(glusterTaskUtils.getSummaryMessage(status.getStatusSummary()));
glusterTaskUtils.updateSteps(clusterDao.get(clusterId), asyncTask, stepsList);
// release the volume lock if the task is completed
if (glusterTaskUtils.hasTaskCompleted(asyncTask)) {
glusterTaskUtils.releaseLock(volume.getId());
}
}
}
}
Aggregations