Skip to content

Commit 3c7c6a6

Browse files
dependency fix
1 parent c1044ed commit 3c7c6a6

3 files changed

Lines changed: 11 additions & 7 deletions

File tree

‎api/src/main/java/org/apache/cloudstack/api/response/AsyncJobResponse.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,10 @@ public void setCancellable(Boolean cancellable) {
211211
this.cancellable = cancellable;
212212
}
213213

214+
public boolean getCancellable() {
215+
return Boolean.TRUE.equals(cancellable);
216+
}
217+
214218
public void setJobInstanceName(String jobInstanceName) {
215219
this.jobInstanceName = jobInstanceName;
216220
}

‎server/src/main/java/com/cloud/api/ApiDBUtils.java‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
9191
import org.apache.cloudstack.framework.jobs.AsyncJob;
9292
import org.apache.cloudstack.framework.jobs.AsyncJobManager;
93+
import org.apache.cloudstack.jobs.JobInfo;
9394
import org.apache.cloudstack.framework.jobs.dao.AsyncJobDao;
9495
import org.apache.cloudstack.resourcedetail.SnapshotPolicyDetailVO;
9596
import org.apache.cloudstack.resourcedetail.dao.DiskOfferingDetailsDao;
@@ -2187,7 +2188,11 @@ public static AccountJoinVO findAccountViewById(Long accountId) {
21872188
}
21882189

21892190
public static AsyncJobResponse newAsyncJobResponse(AsyncJobJoinVO ve) {
2190-
return s_jobJoinDao.newAsyncJobResponse(ve);
2191+
final AsyncJobResponse response = s_jobJoinDao.newAsyncJobResponse(ve);
2192+
if (!response.getCancellable() && ve.getStatus() == JobInfo.Status.IN_PROGRESS.value() && s_asyncMgr.hasOnlyQueuedWork(ve.getId())) {
2193+
response.setCancellable(true);
2194+
}
2195+
return response;
21912196
}
21922197

21932198
public static AsyncJobJoinVO newAsyncJobView(AsyncJob e) {

‎server/src/main/java/com/cloud/api/query/dao/AsyncJobJoinDaoImpl.java‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.apache.cloudstack.api.response.ExceptionResponse;
3131
import org.apache.cloudstack.jobs.JobInfo;
3232
import org.apache.cloudstack.framework.jobs.AsyncJob;
33-
import org.apache.cloudstack.framework.jobs.AsyncJobManager;
3433
import org.apache.commons.collections.CollectionUtils;
3534
import org.springframework.stereotype.Component;
3635

@@ -69,9 +68,6 @@ private String managementServerName(final Long msid) {
6968
return managementServer != null ? managementServer.getName() : null;
7069
}
7170

72-
@Inject
73-
private AsyncJobManager asyncJobManager;
74-
7571
private static final Map<String, Boolean> cancellableCommands = new ConcurrentHashMap<>();
7672

7773
/** The same annotation cancelAsyncJob checks; a command class that cannot be loaded is reported as not cancellable. */
@@ -99,8 +95,7 @@ public AsyncJobResponse newAsyncJobResponse(final AsyncJobJoinVO job) {
9995
jobResponse.setDomainPath(ApiResponseHelper.getPrettyDomainPath(job.getDomainPath()));
10096
jobResponse.setUserId(job.getUserUuid());
10197
jobResponse.setCmd(job.getCmd());
102-
jobResponse.setCancellable(isCancellableCommand(job.getCmd())
103-
|| (job.getStatus() == JobInfo.Status.IN_PROGRESS.value() && asyncJobManager.hasOnlyQueuedWork(job.getId())));
98+
jobResponse.setCancellable(isCancellableCommand(job.getCmd()));
10499
jobResponse.setCreated(job.getCreated());
105100
jobResponse.setRemoved(job.getRemoved());
106101
jobResponse.setId(job.getUuid());

0 commit comments

Comments
 (0)