bug 6969: Fixed snapshots, templates, isos, routers, volumes, and system vms async commands to make use of the new job id/job status when listing objects with pending jobs.

This commit is contained in:
will 2010-12-01 16:50:40 -08:00
parent 4b20796467
commit cd5afb3d7e
34 changed files with 228 additions and 56 deletions

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
@ -85,6 +86,14 @@ public class AttachVolumeCmd extends BaseAsyncCmd {
public String getName() {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Volume;
}
public Long getInstanceId() {
return getId();
}
@Override
public long getAccountId() {
@ -107,6 +116,11 @@ public class AttachVolumeCmd extends BaseAsyncCmd {
@Override
public void execute(){
try {
Thread.sleep(2000);
} catch (Exception e) {
}
Volume result = _userVmService.attachVolumeToVM(this);
if (result != null) {
VolumeResponse response = _responseGenerator.createVolumeResponse(result);

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.StorageUnavailableException;
import com.cloud.template.VirtualMachineTemplate;
@ -99,6 +100,14 @@ public class CopyIsoCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "copying ISO: " + getId() + " from zone: " + getSourceZoneId() + " to zone: " + getDestinationZoneId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Iso;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.StorageUnavailableException;
import com.cloud.template.VirtualMachineTemplate;
@ -100,6 +101,14 @@ public class CopyTemplateCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "copying template: " + getId() + " from zone: " + getSourceZoneId() + " to zone: " + getDestinationZoneId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Template;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SnapshotResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.storage.Snapshot;
@ -100,7 +101,11 @@ public class CreateSnapshotCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "creating snapshot for volume: " + getVolumeId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Snapshot;
}
@Override
public void execute(){
try {

View File

@ -28,6 +28,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.StoragePoolResponse;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Volume;
@ -161,6 +162,10 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd {
public String getEventDescription() {
return "creating template: " + getTemplateName();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Template;
}
@Override
public void callCreate(){

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.storage.Volume;
@ -108,7 +109,11 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
public static String getResultObjectName() {
return "volume";
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Volume;
}
@Override
public long getAccountId() {
Account account = UserContext.current().getAccount();

View File

@ -26,6 +26,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.Account;
@ -91,6 +92,14 @@ public class DeleteIsoCmd extends BaseAsyncCmd {
return "Deleting iso " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Iso;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){
boolean result = _templateService.deleteIso(this);

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Snapshot;
import com.cloud.user.Account;
@ -80,6 +81,14 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "deleting snapshot: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Snapshot;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.Account;
@ -93,6 +94,14 @@ public class DeleteTemplateCmd extends BaseAsyncCmd {
return "Deleting template " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Template;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){
boolean result = _templateService.deleteTemplate(this);

View File

@ -26,6 +26,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
@ -77,6 +78,14 @@ public class DetachVolumeCmd extends BaseAsyncCmd {
public static String getResultObjectName() {
return "volume";
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Volume;
}
public Long getInstanceId() {
return getId();
}
@Override
public long getAccountId() {

View File

@ -26,6 +26,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ExtractResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.InternalErrorException;
import com.cloud.template.VirtualMachineTemplate;
@ -106,6 +107,14 @@ public class ExtractIsoCmd extends BaseAsyncCmd {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Iso;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){
try {

View File

@ -26,6 +26,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ExtractResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.InternalErrorException;
import com.cloud.template.VirtualMachineTemplate;
@ -106,6 +107,14 @@ public class ExtractTemplateCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "Extraction job";
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Template;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){

View File

@ -28,6 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ExtractResponse;
import com.cloud.async.AsyncJob;
import com.cloud.dc.DataCenter;
import com.cloud.event.EventTypes;
import com.cloud.storage.Upload;
@ -91,6 +92,14 @@ public class ExtractVolumeCmd extends BaseAsyncCmd {
public static String getStaticName() {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Volume;
}
public Long getInstanceId() {
return getId();
}
@Override
public long getAccountId() {

View File

@ -28,6 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJob;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.template.VirtualMachineTemplate.TemplateFilter;
import com.cloud.user.Account;
@ -130,6 +131,10 @@ public class ListIsosCmd extends BaseListCmd {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Iso;
}
@Override
public void execute(){
List<? extends VirtualMachineTemplate> isos = _mgr.listIsos(this);

View File

@ -29,6 +29,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.DomainRouterResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.async.AsyncJob;
import com.cloud.network.router.VirtualRouter;
@Implementation(description="List routers.", responseObject=DomainRouterResponse.class)
@ -102,6 +103,10 @@ public class ListRoutersCmd extends BaseListCmd {
public String getName() {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.DomainRouter;
}
@Override
public void execute(){

View File

@ -28,6 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SnapshotResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.Snapshot;
@Implementation(description="Lists all available snapshots for the account.", responseObject=SnapshotResponse.class)
@ -101,6 +102,10 @@ public class ListSnapshotsCmd extends BaseListCmd {
public String getName() {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Snapshot;
}
@Override
public void execute(){

View File

@ -28,6 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SystemVmResponse;
import com.cloud.async.AsyncJob;
import com.cloud.vm.VirtualMachine;
@Implementation(description="List system virtual machines.", responseObject=SystemVmResponse.class)
@ -102,6 +103,10 @@ public class ListSystemVMsCmd extends BaseListCmd {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.SystemVm;
}
@Override
public void execute(){
List<? extends VirtualMachine> systemVMs = _mgr.searchForSystemVm(this);

View File

@ -29,6 +29,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.Storage;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.template.VirtualMachineTemplate.TemplateFilter;
@ -111,6 +112,10 @@ public class ListTemplatesCmd extends BaseListCmd {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Template;
}
@Override
public void execute(){
List<? extends VirtualMachineTemplate> templates = _mgr.listTemplates(this);

View File

@ -28,6 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.Volume;
@Implementation(description="Lists all volumes.", responseObject=VolumeResponse.class)
@ -116,6 +117,10 @@ public class ListVolumesCmd extends BaseListCmd {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Volume;
}
@Override
public void execute(){
List<? extends Volume> volumes = _mgr.searchForVolumes(this);

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.DomainRouterResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.network.router.VirtualRouter;
import com.cloud.user.Account;
@ -79,6 +80,14 @@ public class RebootRouterCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "rebooting router: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.DomainRouter;
}
public Long getInstanceId() {
return getId();
}
@Override

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SystemVmResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -82,6 +83,14 @@ public class RebootSystemVmCmd extends BaseAsyncCmd {
return "rebooting system vm: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.SystemVm;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){
VirtualMachine result = _mgr.rebootSystemVM(this);

View File

@ -28,6 +28,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.TemplateResponse;
import com.cloud.async.AsyncJob;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.template.VirtualMachineTemplate;
@ -158,6 +159,10 @@ public class RegisterTemplateCmd extends BaseCmd {
public String getName() {
return s_name;
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.Template;
}
@Override
public void execute(){

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.DomainRouterResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InsufficientCapacityException;
@ -89,6 +90,14 @@ public class StartRouterCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "starting router: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.DomainRouter;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException{

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SystemVmResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -85,6 +86,14 @@ public class StartSystemVMCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "starting system vm: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.SystemVm;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.DomainRouterResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.ResourceUnavailableException;
@ -83,6 +84,14 @@ public class StopRouterCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "stopping router: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.DomainRouter;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute() throws ConcurrentOperationException, ResourceUnavailableException{

View File

@ -27,6 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SystemVmResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -81,6 +82,14 @@ public class StopSystemVmCmd extends BaseAsyncCmd {
public String getEventDescription() {
return "stopping system vm: " + getId();
}
public AsyncJob.Type getInstanceType() {
return AsyncJob.Type.SystemVm;
}
public Long getInstanceId() {
return getId();
}
@Override
public void execute(){

View File

@ -102,6 +102,10 @@ public class DomainRouterResponse extends BaseResponse {
@SerializedName(ApiConstants.DOMAIN) @Param(description="the domain associated with the router")
private String domainName;
public Long getObjectId() {
return getId();
}
public Long getId() {
return id;

View File

@ -61,6 +61,10 @@ public class SnapshotResponse extends BaseResponse {
@SerializedName("intervaltype") @Param(description="valid types are hourly, daily, weekly, monthy, template, and none.")
private String intervalType;
public Long getObjectId() {
return getId();
}
public Long getId() {
return id;

View File

@ -94,6 +94,10 @@ public class SystemVmResponse extends BaseResponse {
@SerializedName("activeviewersessions") @Param(description="the number of active console sessions for the console proxy system vm")
private Integer activeViewerSessions;
public Long getObjectId() {
return getId();
}
public Long getId() {
return id;

View File

@ -107,6 +107,10 @@ public class TemplateResponse extends BaseResponse {
@SerializedName("isextractable") @Param(description="true if the template is extractable, false otherwise")
private Boolean extractable;
public Long getObjectId() {
return getId();
}
public Long getZoneId() {
return zoneId;
}

View File

@ -119,6 +119,10 @@ public class VolumeResponse extends BaseResponse {
@SerializedName("serviceofferingdisplaytext") @Param(description="the display text of the service offering for root disk")
private String serviceOfferingDisplayText;
public Long getObjectId() {
return getId();
}
public Boolean getDestroyed() {
return destroyed;

View File

@ -23,10 +23,13 @@ public interface AsyncJob {
public enum Type {
None,
VirtualMachine,
Router,
DomainRouter,
Volume,
ConsoleProxy,
Snapshot
Snapshot,
Template,
Iso,
SystemVm
}
Long getId();

View File

@ -389,11 +389,6 @@ public class ApiResponseHelper implements ResponseGenerator {
snapshotResponse.setCreated(snapshot.getCreated());
snapshotResponse.setName(snapshot.getName());
snapshotResponse.setIntervalType(ApiDBUtils.getSnapshotIntervalTypes(snapshot.getId()));
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("snapshot", snapshot.getId());
if (asyncJob != null) {
snapshotResponse.setJobId(asyncJob.getId());
snapshotResponse.setJobStatus(asyncJob.getStatus());
}
snapshotResponse.setObjectName("snapshot");
return snapshotResponse;
}
@ -433,12 +428,6 @@ public class ApiResponseHelper implements ResponseGenerator {
}
userVmResponse.setId(userVm.getId());
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("vm_instance", userVm.getId());
if (asyncJob != null) {
userVmResponse.setJobId(asyncJob.getId());
userVmResponse.setJobStatus(asyncJob.getStatus());
}
userVmResponse.setName(userVm.getHostName());
userVmResponse.setCreated(userVm.getCreated());
userVmResponse.setIpAddress(userVm.getPrivateIpAddress());
@ -564,12 +553,6 @@ public class ApiResponseHelper implements ResponseGenerator {
// the moment
}
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob(instanceType, vm.getId());
if (asyncJob != null) {
vmResponse.setJobId(asyncJob.getId());
vmResponse.setJobStatus(asyncJob.getStatus());
}
vmResponse.setZoneId(vm.getDataCenterId());
vmResponse.setZoneName(ApiDBUtils.findZoneById(vm.getDataCenterId()).getName());
vmResponse.setDns1(vm.getDns1());
@ -888,12 +871,6 @@ public class ApiResponseHelper implements ResponseGenerator {
VolumeResponse volResponse = new VolumeResponse();
volResponse.setId(volume.getId());
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("volume", volume.getId());
if (asyncJob != null) {
volResponse.setJobId(asyncJob.getId());
volResponse.setJobStatus(asyncJob.getStatus());
}
if (volume.getName() != null) {
volResponse.setName(volume.getName());
} else {
@ -1125,12 +1102,6 @@ public class ApiResponseHelper implements ResponseGenerator {
}
userVmResponse.setId(userVm.getId());
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("vm_instance", userVm.getId());
if (asyncJob != null) {
userVmResponse.setJobId(asyncJob.getId());
userVmResponse.setJobStatus(asyncJob.getStatus());
}
userVmResponse.setName(userVm.getHostName());
userVmResponse.setCreated(userVm.getCreated());
@ -1338,12 +1309,6 @@ public class ApiResponseHelper implements ResponseGenerator {
// the moment
}
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob(instanceType, vm.getId());
if (asyncJob != null) {
vmResponse.setJobId(asyncJob.getId());
vmResponse.setJobStatus(asyncJob.getStatus());
}
// for console proxies, add the active sessions
if (systemVM instanceof ConsoleProxyVO) {
ConsoleProxyVO proxy = (ConsoleProxyVO) systemVM;
@ -1541,12 +1506,6 @@ public class ApiResponseHelper implements ResponseGenerator {
templateResponse.setSize(templateSize);
}
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("vm_template", template.getId());
if (asyncJob != null) {
templateResponse.setJobId(asyncJob.getId());
templateResponse.setJobStatus(asyncJob.getStatus());
}
templateResponse.setObjectName("template");
responses.add(templateResponse);
}
@ -2083,12 +2042,6 @@ public class ApiResponseHelper implements ResponseGenerator {
isoResponse.setSize(isoSize);
}
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("vm_template", iso.getId());
if(asyncJob != null) {
isoResponse.setJobId(asyncJob.getId());
isoResponse.setJobStatus(asyncJob.getStatus());
}
isoResponse.setObjectName("iso");
isoResponses.add(isoResponse);
}

View File

@ -380,9 +380,6 @@ public class ApiServer implements HttpRequestHandler {
}
BaseAsyncCmd asyncCmd = (BaseAsyncCmd)cmdObj;
if (objectId != null) {
objectId = asyncCmd.getInstanceId();
}
if (userId != null) {
params.put("ctxUserId", userId.toString());
@ -400,7 +397,7 @@ public class ApiServer implements HttpRequestHandler {
}
AsyncJobVO job = new AsyncJobVO();
job.setInstanceId(asyncCmd.getInstanceId());
job.setInstanceId((objectId == null) ? asyncCmd.getInstanceId() : objectId);
job.setInstanceType(asyncCmd.getInstanceType());
job.setUserId(userId);
if (account != null) {
@ -439,7 +436,7 @@ public class ApiServer implements HttpRequestHandler {
return;
}
// Using maps might possibly be more efficient if the set is large enough but for now, we'll just n squared
// Using maps might possibly be more efficient if the set is large enough but for now, we'll just do a
// comparison of two lists. Either way, there shouldn't be too many async jobs active for the account.
for (AsyncJob job : jobs) {
if (job.getInstanceId() == null) continue;