From c5d78a726e3a7e3c9f8b4be011b1b30bf42fc714 Mon Sep 17 00:00:00 2001 From: alena Date: Mon, 15 Nov 2010 19:08:30 -0800 Subject: [PATCH] Modified exception handing in API. Following exceptions are supported now (location - BaseCmd.java): * MALFORMED_PARAMETER_ERROR - when type of the request parameter is invalid (String instead of Long for id for example) * PARAM_ERROR - when invalid parameter value is specified in api request. For example, id of non existing vm for StartVmCmd * ACCOUNT_RESOURCE_LIMIT_ERROR - when user tries to exceed his resource limits by executing the api command. * INSUFFICIENT_CAPACITY_ERROR - when resource fails to create/start due to insufficient capacity. * RESOURCE_UNAVAILABLE_ERROR - when user tries to create a vm when storage is not available. * RESOURCE_IN_USE_ERROR - when user tries to delete/modify resource while it's in use. For example, when we try to delete a network group when it contains ingress rules. * NETWORK_RULE_CONFLICT_ERROR - when LB/PF rule to add conflicts with existing rule * ACCOUNT_ERROR - when user is not authorized to execute operation on the resource. * INTERNAL_ERROR --- .../cloud/agent/manager/AgentManagerImpl.java | 6 +- server/src/com/cloud/api/ApiDispatcher.java | 112 +++++++----------- .../src/com/cloud/api/BaseAsyncCreateCmd.java | 10 +- server/src/com/cloud/api/BaseCmd.java | 53 ++------- .../com/cloud/api/commands/AddHostCmd.java | 7 +- .../api/commands/AddSecondaryStorageCmd.java | 7 +- .../com/cloud/api/commands/AddVpnUserCmd.java | 44 +++---- .../commands/AssignToLoadBalancerRuleCmd.java | 9 +- .../api/commands/AssociateIPAddrCmd.java | 9 +- .../com/cloud/api/commands/AttachIsoCmd.java | 7 +- .../cloud/api/commands/AttachVolumeCmd.java | 7 +- .../AuthorizeNetworkGroupIngressCmd.java | 11 +- .../api/commands/CancelMaintenanceCmd.java | 7 +- .../CancelPrimaryStorageMaintenanceCmd.java | 7 +- .../com/cloud/api/commands/CopyIsoCmd.java | 9 +- .../cloud/api/commands/CopyTemplateCmd.java | 9 +- .../com/cloud/api/commands/CreateCfgCmd.java | 7 +- .../api/commands/CreateDiskOfferingCmd.java | 7 +- .../cloud/api/commands/CreateDomainCmd.java | 7 +- .../commands/CreateIpForwardingRuleCmd.java | 13 +- .../commands/CreateLoadBalancerRuleCmd.java | 7 +- .../api/commands/CreateNetworkGroupCmd.java | 7 +- .../com/cloud/api/commands/CreatePodCmd.java | 7 +- .../commands/CreatePortForwardingRuleCmd.java | 11 +- .../commands/CreateRemoteAccessVpnCmd.java | 58 ++++----- .../commands/CreateServiceOfferingCmd.java | 7 +- .../cloud/api/commands/CreateSnapshotCmd.java | 9 +- .../commands/CreateSnapshotInternalCmd.java | 9 +- .../api/commands/CreateSnapshotPolicyCmd.java | 7 +- .../api/commands/CreateStoragePoolCmd.java | 11 +- .../cloud/api/commands/CreateTemplateCmd.java | 10 +- .../com/cloud/api/commands/CreateUserCmd.java | 7 +- .../cloud/api/commands/CreateVMGroupCmd.java | 7 +- .../api/commands/CreateVlanIpRangeCmd.java | 25 ++-- .../cloud/api/commands/CreateVolumeCmd.java | 25 ++-- .../com/cloud/api/commands/CreateZoneCmd.java | 7 +- .../api/commands/DeleteDiskOfferingCmd.java | 7 +- .../cloud/api/commands/DeleteDomainCmd.java | 7 +- .../com/cloud/api/commands/DeleteHostCmd.java | 7 +- .../commands/DeleteIpForwardingRuleCmd.java | 7 +- .../com/cloud/api/commands/DeleteIsoCmd.java | 7 +- .../commands/DeleteLoadBalancerRuleCmd.java | 7 +- .../api/commands/DeleteNetworkGroupCmd.java | 9 +- .../com/cloud/api/commands/DeletePodCmd.java | 7 +- .../com/cloud/api/commands/DeletePoolCmd.java | 7 +- .../commands/DeletePortForwardingRuleCmd.java | 7 +- .../commands/DeletePreallocatedLunCmd.java | 7 +- .../commands/DeleteRemoteAccessVpnCmd.java | 24 ++-- .../commands/DeleteServiceOfferingCmd.java | 7 +- .../cloud/api/commands/DeleteSnapshotCmd.java | 7 +- .../commands/DeleteSnapshotPoliciesCmd.java | 7 +- .../cloud/api/commands/DeleteTemplateCmd.java | 7 +- .../com/cloud/api/commands/DeleteUserCmd.java | 7 +- .../cloud/api/commands/DeleteVMGroupCmd.java | 7 +- .../api/commands/DeleteVlanIpRangeCmd.java | 7 +- .../cloud/api/commands/DeleteVolumeCmd.java | 7 +- .../com/cloud/api/commands/DeleteZoneCmd.java | 7 +- .../com/cloud/api/commands/DeployVMCmd.java | 17 ++- .../com/cloud/api/commands/DeployVm2Cmd.java | 53 +++++---- .../api/commands/DestroyConsoleProxyCmd.java | 7 +- .../com/cloud/api/commands/DestroyVMCmd.java | 7 +- .../com/cloud/api/commands/DestroyVm2Cmd.java | 21 +++- .../com/cloud/api/commands/DetachIsoCmd.java | 7 +- .../cloud/api/commands/DetachVolumeCmd.java | 7 +- .../cloud/api/commands/DisableAccountCmd.java | 7 +- .../cloud/api/commands/DisableUserCmd.java | 7 +- .../api/commands/DisassociateIPAddrCmd.java | 7 +- .../cloud/api/commands/EnableAccountCmd.java | 7 +- .../com/cloud/api/commands/EnableUserCmd.java | 7 +- .../com/cloud/api/commands/ExtractIsoCmd.java | 8 +- .../api/commands/ExtractTemplateCmd.java | 8 +- .../cloud/api/commands/ExtractVolumeCmd.java | 8 +- .../api/commands/GetCloudIdentifierCmd.java | 15 +-- .../cloud/api/commands/ListAccountsCmd.java | 9 +- .../com/cloud/api/commands/ListAlertsCmd.java | 8 +- .../cloud/api/commands/ListAsyncJobsCmd.java | 8 +- .../api/commands/ListCapabilitiesCmd.java | 8 +- .../cloud/api/commands/ListCapacityCmd.java | 8 +- .../com/cloud/api/commands/ListCfgsByCmd.java | 8 +- .../cloud/api/commands/ListClustersCmd.java | 8 +- .../api/commands/ListDiskOfferingsCmd.java | 8 +- .../api/commands/ListDomainChildrenCmd.java | 8 +- .../cloud/api/commands/ListDomainsCmd.java | 8 +- .../com/cloud/api/commands/ListEventsCmd.java | 8 +- .../commands/ListGuestOsCategoriesCmd.java | 8 +- .../cloud/api/commands/ListGuestOsCmd.java | 8 +- .../com/cloud/api/commands/ListHostsCmd.java | 8 +- .../api/commands/ListHypervisorsCmd.java | 8 +- .../com/cloud/api/commands/ListIsosCmd.java | 8 +- .../ListLoadBalancerRuleInstancesCmd.java | 8 +- .../commands/ListLoadBalancerRulesCmd.java | 8 +- .../api/commands/ListNetworkGroupsCmd.java | 8 +- .../com/cloud/api/commands/ListPodsByCmd.java | 8 +- .../commands/ListPortForwardingRulesCmd.java | 8 +- .../api/commands/ListPreallocatedLunsCmd.java | 8 +- .../commands/ListPublicIpAddressesCmd.java | 8 +- .../ListRecurringSnapshotScheduleCmd.java | 8 +- .../api/commands/ListRemoteAccessVpnsCmd.java | 8 +- .../api/commands/ListResourceLimitsCmd.java | 8 +- .../cloud/api/commands/ListRoutersCmd.java | 8 +- .../api/commands/ListServiceOfferingsCmd.java | 8 +- .../api/commands/ListSnapshotPoliciesCmd.java | 8 +- .../cloud/api/commands/ListSnapshotsCmd.java | 8 +- .../api/commands/ListStoragePoolsCmd.java | 8 +- .../cloud/api/commands/ListSystemVMsCmd.java | 8 +- .../ListTemplateOrIsoPermissionsCmd.java | 8 +- .../cloud/api/commands/ListTemplatesCmd.java | 8 +- .../com/cloud/api/commands/ListUsersCmd.java | 8 +- .../cloud/api/commands/ListVMGroupsCmd.java | 8 +- .../com/cloud/api/commands/ListVMsCmd.java | 8 +- .../api/commands/ListVlanIpRangesCmd.java | 8 +- .../cloud/api/commands/ListVolumesCmd.java | 8 +- .../cloud/api/commands/ListVpnUsersCmd.java | 8 +- .../cloud/api/commands/ListZonesByCmd.java | 8 +- .../cloud/api/commands/LockAccountCmd.java | 7 +- .../com/cloud/api/commands/LockUserCmd.java | 7 +- .../commands/PrepareForMaintenanceCmd.java | 7 +- ...reparePrimaryStorageForMaintenanceCmd.java | 7 +- .../api/commands/QueryAsyncJobResultCmd.java | 8 +- .../cloud/api/commands/RebootRouterCmd.java | 7 +- .../cloud/api/commands/RebootSystemVmCmd.java | 7 +- .../com/cloud/api/commands/RebootVMCmd.java | 8 +- .../cloud/api/commands/ReconnectHostCmd.java | 9 +- .../com/cloud/api/commands/RecoverVMCmd.java | 10 +- .../com/cloud/api/commands/RegisterCmd.java | 8 +- .../cloud/api/commands/RegisterIsoCmd.java | 10 +- .../commands/RegisterPreallocatedLunCmd.java | 7 +- .../api/commands/RegisterTemplateCmd.java | 10 +- .../RemoveFromLoadBalancerRuleCmd.java | 7 +- .../cloud/api/commands/RemoveVpnUserCmd.java | 24 ++-- .../api/commands/ResetVMPasswordCmd.java | 7 +- .../RevokeNetworkGroupIngressCmd.java | 7 +- .../cloud/api/commands/StartRouter2Cmd.java | 26 ++-- .../cloud/api/commands/StartRouterCmd.java | 7 +- .../cloud/api/commands/StartSystemVMCmd.java | 7 +- .../cloud/api/commands/StartSystemVm2Cmd.java | 7 +- .../com/cloud/api/commands/StartVMCmd.java | 12 +- .../com/cloud/api/commands/StartVm2Cmd.java | 7 +- .../cloud/api/commands/StopRouter2Cmd.java | 26 ++-- .../com/cloud/api/commands/StopRouterCmd.java | 7 +- .../cloud/api/commands/StopSystemVm2Cmd.java | 7 +- .../cloud/api/commands/StopSystemVmCmd.java | 7 +- .../src/com/cloud/api/commands/StopVMCmd.java | 8 +- .../com/cloud/api/commands/StopVm2Cmd.java | 18 +-- .../cloud/api/commands/UpdateAccountCmd.java | 7 +- .../com/cloud/api/commands/UpdateCfgCmd.java | 7 +- .../api/commands/UpdateDiskOfferingCmd.java | 7 +- .../cloud/api/commands/UpdateDomainCmd.java | 7 +- .../com/cloud/api/commands/UpdateHostCmd.java | 7 +- .../com/cloud/api/commands/UpdateIsoCmd.java | 8 +- .../api/commands/UpdateIsoPermissionsCmd.java | 8 +- .../commands/UpdateLoadBalancerRuleCmd.java | 7 +- .../com/cloud/api/commands/UpdatePodCmd.java | 7 +- .../commands/UpdatePortForwardingRuleCmd.java | 7 +- .../api/commands/UpdateResourceLimitCmd.java | 7 +- .../commands/UpdateServiceOfferingCmd.java | 7 +- .../api/commands/UpdateStoragePoolCmd.java | 7 +- .../cloud/api/commands/UpdateTemplateCmd.java | 8 +- .../UpdateTemplateOrIsoPermissionsCmd.java | 9 +- .../UpdateTemplatePermissionsCmd.java | 8 +- .../com/cloud/api/commands/UpdateUserCmd.java | 7 +- .../com/cloud/api/commands/UpdateVMCmd.java | 8 +- .../cloud/api/commands/UpdateVMGroupCmd.java | 7 +- .../com/cloud/api/commands/UpdateZoneCmd.java | 7 +- .../cloud/api/commands/UpgradeRouterCmd.java | 7 +- .../com/cloud/api/commands/UpgradeVMCmd.java | 8 +- .../commands/UploadCustomCertificateCmd.java | 7 +- .../api/response/ApiResponseSerializer.java | 26 ++-- .../async/executor/DestroyVMExecutor.java | 2 +- .../kvm/discoverer/KvmServerDiscoverer.java | 1 - .../com/cloud/network/NetworkManagerImpl.java | 4 +- .../security/NetworkGroupManagerImpl.java | 24 ++-- .../cloud/server/ManagementServerImpl.java | 38 +++--- .../com/cloud/storage/StorageManagerImpl.java | 24 ++-- .../storage/snapshot/SnapshotManagerImpl.java | 4 +- .../cloud/template/TemplateManagerImpl.java | 2 +- .../src/com/cloud/vm/UserVmManagerImpl.java | 22 ++-- 177 files changed, 518 insertions(+), 1344 deletions(-) diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 8833a098705..eb4911f9066 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -1395,7 +1395,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory { HostVO host = _hostDao.findById(hostId); if (host == null) { - throw new ServerApiException(BaseCmd.PARAM_ERROR, "Host with id " + hostId.toString() + " doesn't exist"); + throw new InvalidParameterValueException("Host with id " + hostId.toString() + " doesn't exist"); } boolean result = reconnect(hostId); @@ -1463,12 +1463,12 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory { //verify input parameters HostVO host = _hostDao.findById(hostId); if (host == null || host.getRemoved() != null) { - throw new ServerApiException(BaseCmd.PARAM_ERROR, "Host with id " + hostId.toString() + " doesn't exist"); + throw new InvalidParameterValueException("Host with id " + hostId.toString() + " doesn't exist"); } boolean success = cancelMaintenance(hostId); if (!success) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Internal error cancelling maintenance."); + throw new CloudRuntimeException("Internal error cancelling maintenance."); } return host; } diff --git a/server/src/com/cloud/api/ApiDispatcher.java b/server/src/com/cloud/api/ApiDispatcher.java index 8f8f4b3355d..9a6d1cf5e0c 100644 --- a/server/src/com/cloud/api/ApiDispatcher.java +++ b/server/src/com/cloud/api/ApiDispatcher.java @@ -28,8 +28,7 @@ import java.util.StringTokenizer; import org.apache.log4j.Logger; import com.cloud.api.BaseCmd.CommandType; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; +import com.cloud.exception.AccountLimitException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; @@ -66,76 +65,57 @@ public class ApiDispatcher { try { cmd.callCreate(); - } catch (InvalidParameterValueException e1) { - throw new ServerApiException(BaseCmd.PARAM_ERROR, e1.getMessage()); - } catch (IllegalArgumentException e2) { - throw new ServerApiException(BaseCmd.PARAM_ERROR, e2.getMessage()); - } catch (PermissionDeniedException e3) { - throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, e3.getMessage()); - } catch (InsufficientAddressCapacityException e4) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e4.getMessage()); - } catch (InsufficientCapacityException e5) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e5.getMessage()); - } catch (ConcurrentOperationException e6) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e6); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e6.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); - } catch (ResourceUnavailableException e7) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e7); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e7.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); - } catch (ResourceAllocationException e8) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e8); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e8.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); - } catch (CloudRuntimeException e9) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e9); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e9.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); + } catch (Throwable t) { + if (t instanceof InvalidParameterValueException || t instanceof IllegalArgumentException) { + throw new ServerApiException(BaseCmd.PARAM_ERROR, t.getMessage()); + }else if (t instanceof PermissionDeniedException) { + throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, t.getMessage()); + }else if (t instanceof AccountLimitException) { + throw new ServerApiException(BaseCmd.ACCOUNT_RESOURCE_LIMIT_ERROR, t.getMessage()); + }else if (t instanceof InsufficientCapacityException) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, t.getMessage()); + }else if (t instanceof ResourceAllocationException) { + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, t.getMessage()); + }else if (t instanceof ResourceUnavailableException) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, t.getMessage()); + }else if (t instanceof ServerApiException) { + throw new ServerApiException(((ServerApiException) t).getErrorCode(), ((ServerApiException) t).getDescription()); + }else { + s_logger.error("Exception while executing " + cmd.getName() + ":", t); + if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, t.getMessage()); + else + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); + } } } public void dispatch(BaseCmd cmd, Map params) { setupParameters(cmd, params); - try { cmd.execute(); - } catch (InvalidParameterValueException e1) { - throw new ServerApiException(BaseCmd.PARAM_ERROR, e1.getMessage()); - } catch (IllegalArgumentException e2) { - throw new ServerApiException(BaseCmd.PARAM_ERROR, e2.getMessage()); - } catch (PermissionDeniedException e3) { - throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, e3.getMessage()); - } catch (InsufficientAddressCapacityException e4) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e4.getMessage()); - } catch (InsufficientCapacityException e5) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e5.getMessage()); - } catch (ConcurrentOperationException e6) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e6); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e6.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); - } catch (ResourceUnavailableException e7) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e7); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e7.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); - } catch (CloudRuntimeException e8) { - s_logger.error("Exception while executing " + cmd.getName() + ":", e8); - if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e8.getMessage()); - else - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); + } catch (Throwable t) { + if (t instanceof InvalidParameterValueException || t instanceof IllegalArgumentException) { + throw new ServerApiException(BaseCmd.PARAM_ERROR, t.getMessage()); + }else if (t instanceof PermissionDeniedException) { + throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, t.getMessage()); + }else if (t instanceof AccountLimitException) { + throw new ServerApiException(BaseCmd.ACCOUNT_RESOURCE_LIMIT_ERROR, t.getMessage()); + }else if (t instanceof InsufficientCapacityException) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, t.getMessage()); + }else if (t instanceof ResourceAllocationException) { + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, t.getMessage()); + }else if (t instanceof ResourceUnavailableException) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, t.getMessage()); + }else if (t instanceof ServerApiException) { + throw new ServerApiException(((ServerApiException) t).getErrorCode(), ((ServerApiException) t).getDescription()); + } else { + s_logger.error("Exception while executing " + cmd.getName() + ":", t); + if (UserContext.current().getAccount() == null || UserContext.current().getAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, t.getMessage()); + else + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, BaseCmd.USER_ERROR_MESSAGE); + } } } @@ -225,7 +205,7 @@ public class ApiDispatcher { listParam.add(Long.valueOf(token)); break; case STRING: - listParam.add(token.toString()); + listParam.add(token); break; } } diff --git a/server/src/com/cloud/api/BaseAsyncCreateCmd.java b/server/src/com/cloud/api/BaseAsyncCreateCmd.java index 6739fd08599..279ae715786 100644 --- a/server/src/com/cloud/api/BaseAsyncCreateCmd.java +++ b/server/src/com/cloud/api/BaseAsyncCreateCmd.java @@ -2,20 +2,12 @@ package com.cloud.api; import com.cloud.api.response.ApiResponseSerializer; import com.cloud.api.response.CreateCmdResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.NetworkRuleConflictException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; public abstract class BaseAsyncCreateCmd extends BaseAsyncCmd { @Parameter(name="id", type=CommandType.LONG) private Long id; - public abstract void callCreate() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ResourceUnavailableException, ConcurrentOperationException, ResourceAllocationException; + public abstract void callCreate(); public Long getId() { return id; diff --git a/server/src/com/cloud/api/BaseCmd.java b/server/src/com/cloud/api/BaseCmd.java index 9b062d472b8..fc1fd321c01 100755 --- a/server/src/com/cloud/api/BaseCmd.java +++ b/server/src/com/cloud/api/BaseCmd.java @@ -31,12 +31,6 @@ import com.cloud.agent.AgentManager; import com.cloud.async.AsyncJobManager; import com.cloud.configuration.ConfigurationService; import com.cloud.consoleproxy.ConsoleProxyManager; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.DomainRouterService; import com.cloud.network.NetworkManager; import com.cloud.network.security.NetworkGroupManager; @@ -66,46 +60,19 @@ public abstract class BaseCmd { // FIXME: Extract these out into a separate file // Client error codes public static final int MALFORMED_PARAMETER_ERROR = 430; - public static final int VM_INVALID_PARAM_ERROR = 431; - public static final int NET_INVALID_PARAM_ERROR = 432; - public static final int VM_ALLOCATION_ERROR = 433; - public static final int IP_ALLOCATION_ERROR = 434; - public static final int SNAPSHOT_INVALID_PARAM_ERROR = 435; - public static final int PARAM_ERROR = 436; - + public static final int PARAM_ERROR = 431; + public static final int UNSUPPORTED_ACTION_ERROR = 432; + // Server error codes public static final int INTERNAL_ERROR = 530; public static final int ACCOUNT_ERROR = 531; - public static final int UNSUPPORTED_ACTION_ERROR = 532; + public static final int ACCOUNT_RESOURCE_LIMIT_ERROR= 532; + public static final int INSUFFICIENT_CAPACITY_ERROR = 533; + public static final int RESOURCE_UNAVAILABLE_ERROR = 534; + public static final int RESOURCE_ALLOCATION_ERROR = 534; + public static final int RESOURCE_IN_USE_ERROR = 536; + public static final int NETWORK_RULE_CONFLICT_ERROR = 537; - public static final int VM_DEPLOY_ERROR = 540; - public static final int VM_DESTROY_ERROR = 541; - public static final int VM_REBOOT_ERROR = 542; - public static final int VM_START_ERROR = 543; - public static final int VM_STOP_ERROR = 544; - public static final int VM_RESET_PASSWORD_ERROR = 545; - public static final int VM_CHANGE_SERVICE_ERROR = 546; - public static final int VM_LIST_ERROR = 547; - public static final int VM_RECOVER_ERROR = 548; - public static final int SNAPSHOT_LIST_ERROR = 549; - public static final int CREATE_VOLUME_FROM_SNAPSHOT_ERROR = 550; - public static final int VM_INSUFFICIENT_CAPACITY = 551; - public static final int CREATE_PRIVATE_TEMPLATE_ERROR = 552; - public static final int VM_HOST_LICENSE_EXPIRED = 553; - - public static final int NET_IP_ASSOC_ERROR = 560; - public static final int NET_IP_DIASSOC_ERROR = 561; - public static final int NET_CREATE_IPFW_RULE_ERROR = 562; - public static final int NET_DELETE_IPFW_RULE_ERROR = 563; - public static final int NET_CONFLICT_IPFW_RULE_ERROR = 564; - public static final int NET_CREATE_LB_RULE_ERROR = 566; - public static final int NET_DELETE_LB_RULE_ERROR = 567; - public static final int NET_CONFLICT_LB_RULE_ERROR = 568; - public static final int NET_LIST_ERROR = 570; - public static final int CUSTOM_CERT_UPDATE_ERROR = 571; - public static final int PREPARE_STORAGE_MAINTENANCE_ERROR = 572; - public static final int CANCEL_STORAGE_MAINTENANCE_ERROR = 573; - public static final int STORAGE_RESOURCE_IN_USE = 580; public static final DateFormat INPUT_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); private static final DateFormat _outputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); @@ -148,7 +115,7 @@ public abstract class BaseCmd { _routerMgr = locator.getManager(DomainRouterService.class); } - public abstract void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ResourceUnavailableException, ConcurrentOperationException; + public abstract void execute(); public String getResponseType() { if (responseType == null) { diff --git a/server/src/com/cloud/api/commands/AddHostCmd.java b/server/src/com/cloud/api/commands/AddHostCmd.java index d9da0e91659..1d3b3952ca8 100644 --- a/server/src/com/cloud/api/commands/AddHostCmd.java +++ b/server/src/com/cloud/api/commands/AddHostCmd.java @@ -30,12 +30,7 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.DiscoveryException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; @Implementation(description="Adds a new host.", responseObject=HostResponse.class) @@ -112,7 +107,7 @@ public class AddHostCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { List result = _agentMgr.discoverHosts(this); ListResponse response = new ListResponse(); diff --git a/server/src/com/cloud/api/commands/AddSecondaryStorageCmd.java b/server/src/com/cloud/api/commands/AddSecondaryStorageCmd.java index 9eebcea5e0f..47715e3527a 100644 --- a/server/src/com/cloud/api/commands/AddSecondaryStorageCmd.java +++ b/server/src/com/cloud/api/commands/AddSecondaryStorageCmd.java @@ -29,12 +29,7 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; -import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.DiscoveryException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; @Implementation(description="Adds secondary storage.", responseObject=HostResponse.class) @@ -74,7 +69,7 @@ public class AddSecondaryStorageCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { List result = _agentMgr.discoverHosts(this); HostResponse hostResponse = null; diff --git a/server/src/com/cloud/api/commands/AddVpnUserCmd.java b/server/src/com/cloud/api/commands/AddVpnUserCmd.java index 636f1694299..877e8e80c49 100644 --- a/server/src/com/cloud/api/commands/AddVpnUserCmd.java +++ b/server/src/com/cloud/api/commands/AddVpnUserCmd.java @@ -29,10 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.VpnUsersResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.VpnUserVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -127,25 +123,29 @@ public class AddVpnUserCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ - VpnUserVO vpnUser = _networkMgr.addVpnUser(this); - if (vpnUser != null) { - VpnUsersResponse vpnResponse = new VpnUsersResponse(); - vpnResponse.setId(vpnUser.getId()); - vpnResponse.setUserName(vpnUser.getUsername()); - vpnResponse.setAccountName(vpnUser.getAccountName()); - - Account accountTemp = ApiDBUtils.findAccountById(vpnUser.getAccountId()); - if (accountTemp != null) { - vpnResponse.setDomainId(accountTemp.getDomainId()); - vpnResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName()); + public void execute(){ + try { + VpnUserVO vpnUser = _networkMgr.addVpnUser(this); + if (vpnUser != null) { + VpnUsersResponse vpnResponse = new VpnUsersResponse(); + vpnResponse.setId(vpnUser.getId()); + vpnResponse.setUserName(vpnUser.getUsername()); + vpnResponse.setAccountName(vpnUser.getAccountName()); + + Account accountTemp = ApiDBUtils.findAccountById(vpnUser.getAccountId()); + if (accountTemp != null) { + vpnResponse.setDomainId(accountTemp.getDomainId()); + vpnResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName()); + } + + vpnResponse.setResponseName(getName()); + vpnResponse.setObjectName("vpnuser"); + this.setResponseObject(vpnResponse); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add vpn user"); } - - vpnResponse.setResponseName(getName()); - vpnResponse.setObjectName("vpnuser"); - this.setResponseObject(vpnResponse); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add vpn user"); + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java b/server/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java index 953a3d70000..0521475396f 100644 --- a/server/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java +++ b/server/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java @@ -30,12 +30,7 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.NetworkRuleConflictException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.LoadBalancerVO; import com.cloud.user.Account; @@ -103,7 +98,7 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { boolean result = _networkMgr.assignToLoadBalancer(this); if (result) { @@ -113,7 +108,7 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to assign load balancer rule"); } } catch (NetworkRuleConflictException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/AssociateIPAddrCmd.java b/server/src/com/cloud/api/commands/AssociateIPAddrCmd.java index 9cdbe3794ef..69669c213fc 100644 --- a/server/src/com/cloud/api/commands/AssociateIPAddrCmd.java +++ b/server/src/com/cloud/api/commands/AssociateIPAddrCmd.java @@ -28,9 +28,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.IPAddressResponse; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.network.IPAddressVO; @@ -84,7 +81,7 @@ public class AssociateIPAddrCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { IPAddressVO result = _networkMgr.associateIP(this); if (result != null) { @@ -95,7 +92,11 @@ public class AssociateIPAddrCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to assign ip address"); } } catch (ResourceAllocationException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); + } catch (ConcurrentOperationException ex) { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } catch (InsufficientAddressCapacityException ex) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/AttachIsoCmd.java b/server/src/com/cloud/api/commands/AttachIsoCmd.java index 30a9144fa32..fdfd7f2397c 100755 --- a/server/src/com/cloud/api/commands/AttachIsoCmd.java +++ b/server/src/com/cloud/api/commands/AttachIsoCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -97,7 +92,7 @@ public class AttachIsoCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _templateMgr.attachIso(this); if (result) { UserVm userVm = ApiDBUtils.findUserVmById(virtualMachineId); diff --git a/server/src/com/cloud/api/commands/AttachVolumeCmd.java b/server/src/com/cloud/api/commands/AttachVolumeCmd.java index c0aaaa270cb..bd5de085343 100755 --- a/server/src/com/cloud/api/commands/AttachVolumeCmd.java +++ b/server/src/com/cloud/api/commands/AttachVolumeCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.VolumeResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.Volume; import com.cloud.storage.VolumeVO; import com.cloud.user.Account; @@ -114,7 +109,7 @@ public class AttachVolumeCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Volume result = _userVmService.attachVolumeToVM(this); if (result != null) { VolumeResponse response = ApiResponseHelper.createVolumeResponse((VolumeVO)result); diff --git a/server/src/com/cloud/api/commands/AuthorizeNetworkGroupIngressCmd.java b/server/src/com/cloud/api/commands/AuthorizeNetworkGroupIngressCmd.java index 379853f0731..12a35d84133 100644 --- a/server/src/com/cloud/api/commands/AuthorizeNetworkGroupIngressCmd.java +++ b/server/src/com/cloud/api/commands/AuthorizeNetworkGroupIngressCmd.java @@ -37,11 +37,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.IngressRuleResponse; import com.cloud.api.response.ListResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.security.IngressRuleVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -83,7 +78,7 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd { //FIXME - add description @Parameter(name=ApiConstants.CIDR_LIST, type=CommandType.LIST, collectionType=CommandType.STRING) - private List cidrList; + private List cidrList; //FIXME - add description @Parameter(name=ApiConstants.USER_NETWORK_GROUP_LIST, type=CommandType.MAP) @@ -106,7 +101,7 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd { return accountName; } - public List getCidrList() { + public List getCidrList() { return cidrList; } @@ -213,7 +208,7 @@ public class AuthorizeNetworkGroupIngressCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List ingressRules = _networkGroupMgr.authorizeNetworkGroupIngress(this); ListResponse response = new ListResponse(); if ((ingressRules != null) && !ingressRules.isEmpty()) { diff --git a/server/src/com/cloud/api/commands/CancelMaintenanceCmd.java b/server/src/com/cloud/api/commands/CancelMaintenanceCmd.java index 72fdebfbb4c..d991c2dc817 100644 --- a/server/src/com/cloud/api/commands/CancelMaintenanceCmd.java +++ b/server/src/com/cloud/api/commands/CancelMaintenanceCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -95,7 +90,7 @@ public class CancelMaintenanceCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ HostVO result = _agentMgr.cancelMaintenance(this); if (result != null) { HostResponse response = ApiResponseHelper.createHostResponse(result); diff --git a/server/src/com/cloud/api/commands/CancelPrimaryStorageMaintenanceCmd.java b/server/src/com/cloud/api/commands/CancelPrimaryStorageMaintenanceCmd.java index f4c2da21bb8..a2a27311a0d 100644 --- a/server/src/com/cloud/api/commands/CancelPrimaryStorageMaintenanceCmd.java +++ b/server/src/com/cloud/api/commands/CancelPrimaryStorageMaintenanceCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.StoragePoolResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.StoragePoolVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -95,7 +90,7 @@ public class CancelPrimaryStorageMaintenanceCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ StoragePoolVO result = _storageMgr.cancelPrimaryStorageForMaintenance(this); if (result != null) { StoragePoolResponse response = ApiResponseHelper.createStoragePoolResponse(result); diff --git a/server/src/com/cloud/api/commands/CopyIsoCmd.java b/server/src/com/cloud/api/commands/CopyIsoCmd.java index 84eaa7ba46a..805ee8201c1 100644 --- a/server/src/com/cloud/api/commands/CopyIsoCmd.java +++ b/server/src/com/cloud/api/commands/CopyIsoCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.TemplateResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.StorageUnavailableException; import com.cloud.storage.GuestOS; import com.cloud.storage.VMTemplateHostVO; @@ -111,7 +106,7 @@ public class CopyIsoCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { VMTemplateVO iso = _templateMgr.copyIso(this); TemplateResponse isoResponse = new TemplateResponse(); @@ -184,7 +179,7 @@ public class CopyIsoCmd extends BaseAsyncCmd { isoResponse.setObjectName("iso"); this.setResponseObject(isoResponse); } catch (StorageUnavailableException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/CopyTemplateCmd.java b/server/src/com/cloud/api/commands/CopyTemplateCmd.java index f09881ac7e5..46bb1873e06 100644 --- a/server/src/com/cloud/api/commands/CopyTemplateCmd.java +++ b/server/src/com/cloud/api/commands/CopyTemplateCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.TemplateResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.StorageUnavailableException; import com.cloud.storage.GuestOS; import com.cloud.storage.VMTemplateHostVO; @@ -112,7 +107,7 @@ public class CopyTemplateCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { VMTemplateVO template = _templateMgr.copyTemplate(this); TemplateResponse templateResponse = new TemplateResponse(); @@ -188,7 +183,7 @@ public class CopyTemplateCmd extends BaseAsyncCmd { this.setResponseObject(templateResponse); } catch (StorageUnavailableException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/CreateCfgCmd.java b/server/src/com/cloud/api/commands/CreateCfgCmd.java index 96130797c71..ad6beb3489e 100644 --- a/server/src/com/cloud/api/commands/CreateCfgCmd.java +++ b/server/src/com/cloud/api/commands/CreateCfgCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.ConfigurationResponse; import com.cloud.configuration.Configuration; import com.cloud.configuration.ConfigurationVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Adds configuration value", responseObject=ConfigurationResponse.class) public class CreateCfgCmd extends BaseCmd { @@ -101,7 +96,7 @@ public class CreateCfgCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Configuration cfg = _configService.addConfig(this); if (cfg != null) { ConfigurationResponse response = ApiResponseHelper.createConfigurationResponse((ConfigurationVO)cfg); diff --git a/server/src/com/cloud/api/commands/CreateDiskOfferingCmd.java b/server/src/com/cloud/api/commands/CreateDiskOfferingCmd.java index fe30e60be88..56009608f9c 100755 --- a/server/src/com/cloud/api/commands/CreateDiskOfferingCmd.java +++ b/server/src/com/cloud/api/commands/CreateDiskOfferingCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DiskOfferingResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.offering.DiskOffering; import com.cloud.storage.DiskOfferingVO; @@ -92,7 +87,7 @@ public class CreateDiskOfferingCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DiskOffering offering = _configService.createDiskOffering(this); if (offering != null) { DiskOfferingResponse response = ApiResponseHelper.createDiskOfferingResponse((DiskOfferingVO)offering); diff --git a/server/src/com/cloud/api/commands/CreateDomainCmd.java b/server/src/com/cloud/api/commands/CreateDomainCmd.java index b2d177fc472..6c91530a885 100644 --- a/server/src/com/cloud/api/commands/CreateDomainCmd.java +++ b/server/src/com/cloud/api/commands/CreateDomainCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainResponse; import com.cloud.domain.DomainVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Creates a domain", responseObject=DomainResponse.class) public class CreateDomainCmd extends BaseCmd { @@ -73,7 +68,7 @@ public class CreateDomainCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DomainVO domain = _mgr.createDomain(this); if (domain != null) { DomainResponse response = ApiResponseHelper.createDomainResponse(domain); diff --git a/server/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java b/server/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java index d1ee038ed48..ec5809d5c1e 100644 --- a/server/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java +++ b/server/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java @@ -29,13 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.FirewallRuleResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.FirewallRuleVO; import com.cloud.user.Account; @@ -79,20 +72,20 @@ public class CreateIpForwardingRuleCmd extends BaseAsyncCreateCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ FirewallRuleVO result = _networkMgr.createIpForwardingRuleOnDomr(this.getId()); if (result != null) { FirewallRuleResponse fwResponse = ApiResponseHelper.createFirewallRuleResponse(result); fwResponse.setResponseName(getName()); this.setResponseObject(fwResponse); } else { - throw new ServerApiException(NET_CREATE_IPFW_RULE_ERROR, "Error in creating ip forwarding rule on the domr"); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Error in creating ip forwarding rule on the domr"); } } @Override - public void callCreate() throws ServerApiException,InvalidParameterValueException, PermissionDeniedException,InsufficientAddressCapacityException,InsufficientCapacityException, ResourceUnavailableException,ConcurrentOperationException, ResourceAllocationException{ + public void callCreate(){ FirewallRuleVO rule = _networkMgr.createIpForwardingRuleInDb(ipAddress,virtualMachineId); if (rule != null){ this.setId(rule.getId()); diff --git a/server/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java b/server/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java index 60fd10d2f0d..7a7c1f235ac 100644 --- a/server/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java +++ b/server/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.LoadBalancerResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.LoadBalancerVO; @Implementation(description="Creates a load balancer rule", responseObject=LoadBalancerResponse.class) @@ -101,7 +96,7 @@ public class CreateLoadBalancerRuleCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ LoadBalancerVO result = _networkMgr.createLoadBalancerRule(this); if (result != null) { LoadBalancerResponse response = ApiResponseHelper.createLoadBalancerResponse(result); diff --git a/server/src/com/cloud/api/commands/CreateNetworkGroupCmd.java b/server/src/com/cloud/api/commands/CreateNetworkGroupCmd.java index 711283694ad..b5a72f8b810 100644 --- a/server/src/com/cloud/api/commands/CreateNetworkGroupCmd.java +++ b/server/src/com/cloud/api/commands/CreateNetworkGroupCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.NetworkGroupResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.security.NetworkGroupVO; //TODO - add description to implementation @@ -87,7 +82,7 @@ public class CreateNetworkGroupCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ NetworkGroupVO group = _networkGroupMgr.createNetworkGroup(this); if (group != null) { NetworkGroupResponse response = new NetworkGroupResponse(); diff --git a/server/src/com/cloud/api/commands/CreatePodCmd.java b/server/src/com/cloud/api/commands/CreatePodCmd.java index 773bf6b7333..dc9823a2356 100644 --- a/server/src/com/cloud/api/commands/CreatePodCmd.java +++ b/server/src/com/cloud/api/commands/CreatePodCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.PodResponse; import com.cloud.dc.HostPodVO; import com.cloud.dc.Pod; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Creates a new Pod.", responseObject=PodResponse.class) public class CreatePodCmd extends BaseCmd { @@ -102,7 +97,7 @@ public class CreatePodCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Pod result = _configService.createPod(this); if (result != null) { PodResponse response = ApiResponseHelper.createPodResponse((HostPodVO)result); diff --git a/server/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java b/server/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java index bca70fac71d..5d289738faf 100644 --- a/server/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java +++ b/server/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java @@ -27,12 +27,7 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.FirewallRuleResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.NetworkRuleConflictException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.FirewallRuleVO; @Implementation(description="Creates a port forwarding rule", responseObject=FirewallRuleResponse.class) @@ -96,7 +91,7 @@ public class CreatePortForwardingRuleCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { FirewallRuleVO result = _networkMgr.createPortForwardingRule(this); if (result != null) { @@ -104,10 +99,10 @@ public class CreatePortForwardingRuleCmd extends BaseCmd { fwResponse.setResponseName(getName()); this.setResponseObject(fwResponse); } else { - throw new ServerApiException(NET_CREATE_IPFW_RULE_ERROR, "An existing rule for ipAddress / port / protocol of " + ipAddress + " / " + publicPort + " / " + protocol + " exits."); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "An existing rule for ipAddress / port / protocol of " + ipAddress + " / " + publicPort + " / " + protocol + " exits."); } } catch (NetworkRuleConflictException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } } diff --git a/server/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java b/server/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java index 4d3ddd665e6..724882ce58c 100644 --- a/server/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java +++ b/server/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java @@ -29,10 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.RemoteAccessVpnResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.RemoteAccessVpnVO; import com.cloud.user.Account; @@ -137,35 +133,41 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd { } @Override - public void callCreate() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ResourceUnavailableException, ConcurrentOperationException{ - RemoteAccessVpnVO vpn = _networkMgr.createRemoteAccessVpn(this); - if (vpn != null) { - this.setId(vpn.getId()); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create remote access vpn"); - } + public void callCreate(){ + try { + RemoteAccessVpnVO vpn = _networkMgr.createRemoteAccessVpn(this); + if (vpn != null) { + this.setId(vpn.getId()); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create remote access vpn"); + } + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { - RemoteAccessVpnVO result = _networkMgr.startRemoteAccessVpn(this); - if (result != null) { - RemoteAccessVpnResponse response = new RemoteAccessVpnResponse(); - response.setId(result.getId()); - response.setPublicIp(result.getVpnServerAddress()); - response.setIpRange(result.getIpRange()); - response.setAccountName(result.getAccountName()); - response.setDomainId(result.getDomainId()); - response.setDomainName(ApiDBUtils.findDomainById(result.getDomainId()).getName()); - response.setObjectName("remoteaccessvpn"); - response.setResponseName(getName()); - response.setPresharedKey(result.getIpsecPresharedKey()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create remote access vpn"); - } + RemoteAccessVpnVO result = _networkMgr.startRemoteAccessVpn(this); + if (result != null) { + RemoteAccessVpnResponse response = new RemoteAccessVpnResponse(); + response.setId(result.getId()); + response.setPublicIp(result.getVpnServerAddress()); + response.setIpRange(result.getIpRange()); + response.setAccountName(result.getAccountName()); + response.setDomainId(result.getDomainId()); + response.setDomainName(ApiDBUtils.findDomainById(result.getDomainId()).getName()); + response.setObjectName("remoteaccessvpn"); + response.setResponseName(getName()); + response.setPresharedKey(result.getIpsecPresharedKey()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create remote access vpn"); + } } catch (ResourceUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); + } catch (ConcurrentOperationException ex) { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); } } diff --git a/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java b/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java index 863cfc2270c..8f1bad68d65 100644 --- a/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java +++ b/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.ServiceOfferingResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.offering.ServiceOffering; import com.cloud.service.ServiceOfferingVO; @@ -121,7 +116,7 @@ public class CreateServiceOfferingCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ ServiceOffering result = _configService.createServiceOffering(this); if (result != null) { ServiceOfferingResponse response = ApiResponseHelper.createServiceOfferingResponse((ServiceOfferingVO)result); diff --git a/server/src/com/cloud/api/commands/CreateSnapshotCmd.java b/server/src/com/cloud/api/commands/CreateSnapshotCmd.java index 8c236ad1b22..cedba87003d 100644 --- a/server/src/com/cloud/api/commands/CreateSnapshotCmd.java +++ b/server/src/com/cloud/api/commands/CreateSnapshotCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SnapshotResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.storage.SnapshotVO; import com.cloud.storage.VolumeVO; @@ -109,7 +104,7 @@ public class CreateSnapshotCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { SnapshotVO snapshot = _snapshotMgr.createSnapshot(this); if (snapshot != null) { @@ -120,7 +115,7 @@ public class CreateSnapshotCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create snapshot due to an internal error creating snapshot for volume " + volumeId); } } catch (ResourceAllocationException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/CreateSnapshotInternalCmd.java b/server/src/com/cloud/api/commands/CreateSnapshotInternalCmd.java index cb157cfc2ed..c8e4af88d3f 100644 --- a/server/src/com/cloud/api/commands/CreateSnapshotInternalCmd.java +++ b/server/src/com/cloud/api/commands/CreateSnapshotInternalCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SnapshotResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.storage.Snapshot.SnapshotType; import com.cloud.storage.SnapshotVO; @@ -101,7 +96,7 @@ public class CreateSnapshotInternalCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { SnapshotVO snapshot = _snapshotMgr.createSnapshotInternal(this); if (snapshot != null) { @@ -130,7 +125,7 @@ public class CreateSnapshotInternalCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create snapshot"); } } catch (ResourceAllocationException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java b/server/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java index 64c0330492d..24a8246d40d 100644 --- a/server/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java +++ b/server/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SnapshotPolicyResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.SnapshotPolicyVO; @Implementation(description="Creates a snapshot policy for the account.", responseObject=SnapshotPolicyResponse.class) @@ -114,7 +109,7 @@ public class CreateSnapshotPolicyCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ SnapshotPolicyVO result = _snapshotMgr.createPolicy(this); if (result != null) { SnapshotPolicyResponse response = ApiResponseHelper.createSnapshotPolicyResponse(result); diff --git a/server/src/com/cloud/api/commands/CreateStoragePoolCmd.java b/server/src/com/cloud/api/commands/CreateStoragePoolCmd.java index 665b01aa0fd..2b5aadc0473 100644 --- a/server/src/com/cloud/api/commands/CreateStoragePoolCmd.java +++ b/server/src/com/cloud/api/commands/CreateStoragePoolCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.StoragePoolResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceInUseException; import com.cloud.storage.StoragePoolVO; @@ -113,7 +108,7 @@ public class CreateStoragePoolCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { StoragePoolVO result = _storageMgr.createPool(this); if (result != null) { @@ -124,9 +119,9 @@ public class CreateStoragePoolCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add storage pool"); } } catch (ResourceAllocationException ex1) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex1.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex1.getMessage()); }catch (ResourceInUseException ex2) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex2.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_IN_USE_ERROR, ex2.getMessage()); } catch (UnknownHostException ex3) { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex3.getMessage()); } diff --git a/server/src/com/cloud/api/commands/CreateTemplateCmd.java b/server/src/com/cloud/api/commands/CreateTemplateCmd.java index cf12aff5362..7352b9cacac 100644 --- a/server/src/com/cloud/api/commands/CreateTemplateCmd.java +++ b/server/src/com/cloud/api/commands/CreateTemplateCmd.java @@ -31,12 +31,6 @@ import com.cloud.api.response.StoragePoolResponse; import com.cloud.api.response.TemplateResponse; import com.cloud.dc.DataCenterVO; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceAllocationException; import com.cloud.storage.GuestOS; import com.cloud.storage.Snapshot; import com.cloud.storage.VMTemplateHostVO; @@ -174,7 +168,7 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd { } @Override - public void callCreate() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceAllocationException{ + public void callCreate(){ VMTemplateVO template = _userVmService.createPrivateTemplateRecord(this); if (template != null){ this.setId(template.getId()); @@ -184,7 +178,7 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ VMTemplateVO template = _userVmService.createPrivateTemplate(this); if (template != null) { TemplateResponse response = new TemplateResponse(); diff --git a/server/src/com/cloud/api/commands/CreateUserCmd.java b/server/src/com/cloud/api/commands/CreateUserCmd.java index 837e7c45eb5..7af4c645efe 100644 --- a/server/src/com/cloud/api/commands/CreateUserCmd.java +++ b/server/src/com/cloud/api/commands/CreateUserCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.UserAccount; @Implementation(description="Creates a user account", responseObject=UserResponse.class) @@ -128,7 +123,7 @@ public class CreateUserCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ UserAccount user = _accountService.createUser(this); if (user != null) { UserResponse response = ApiResponseHelper.createUserResponse(user); diff --git a/server/src/com/cloud/api/commands/CreateVMGroupCmd.java b/server/src/com/cloud/api/commands/CreateVMGroupCmd.java index a634a9d4616..b110f38ad5c 100644 --- a/server/src/com/cloud/api/commands/CreateVMGroupCmd.java +++ b/server/src/com/cloud/api/commands/CreateVMGroupCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.InstanceGroupResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.InstanceGroupVO; @Implementation(description="Creates a vm group", responseObject=InstanceGroupResponse.class) @@ -78,7 +73,7 @@ public class CreateVMGroupCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ InstanceGroupVO result = _userVmService.createVmGroup(this); if (result != null) { InstanceGroupResponse response = ApiResponseHelper.createInstanceGroupResponse(result); diff --git a/server/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java b/server/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java index e763fcebea9..904e5edbe72 100644 --- a/server/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java +++ b/server/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java @@ -30,10 +30,7 @@ import com.cloud.api.response.VlanIpRangeResponse; import com.cloud.dc.Vlan; import com.cloud.dc.VlanVO; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Creates a VLAN IP range.", responseObject=VlanIpRangeResponse.class) public class CreateVlanIpRangeCmd extends BaseCmd { @@ -130,14 +127,20 @@ public class CreateVlanIpRangeCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ - Vlan result = _configService.createVlanAndPublicIpRange(this); - if (result != null) { - VlanIpRangeResponse response = ApiResponseHelper.createVlanIpRangeResponse((VlanVO)result); - response.setResponseName(getName()); - this.setResponseObject(response); - }else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create vlan ip range"); + public void execute(){ + try { + Vlan result = _configService.createVlanAndPublicIpRange(this); + if (result != null) { + VlanIpRangeResponse response = ApiResponseHelper.createVlanIpRangeResponse((VlanVO)result); + response.setResponseName(getName()); + this.setResponseObject(response); + }else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create vlan ip range"); + } + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } catch (InsufficientCapacityException ex) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/CreateVolumeCmd.java b/server/src/com/cloud/api/commands/CreateVolumeCmd.java index 65719b992e2..94191b772a7 100644 --- a/server/src/com/cloud/api/commands/CreateVolumeCmd.java +++ b/server/src/com/cloud/api/commands/CreateVolumeCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.VolumeResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; import com.cloud.storage.Volume; import com.cloud.storage.VolumeVO; @@ -147,17 +142,21 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd { } @Override - public void callCreate() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceAllocationException{ - Volume volume = _storageMgr.allocVolume(this); - if (volume != null) { - this.setId(volume.getId()); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create volume"); - } + public void callCreate(){ + try { + Volume volume = _storageMgr.allocVolume(this); + if (volume != null) { + this.setId(volume.getId()); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create volume"); + } + } catch (ResourceAllocationException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); + } } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Volume volume = _storageMgr.createVolume(this); if (volume != null) { VolumeResponse response = ApiResponseHelper.createVolumeResponse((VolumeVO)volume); diff --git a/server/src/com/cloud/api/commands/CreateZoneCmd.java b/server/src/com/cloud/api/commands/CreateZoneCmd.java index 82509e8f544..643b1fd5bb4 100644 --- a/server/src/com/cloud/api/commands/CreateZoneCmd.java +++ b/server/src/com/cloud/api/commands/CreateZoneCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.ZoneResponse; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Creates a Zone.", responseObject=ZoneResponse.class) public class CreateZoneCmd extends BaseCmd { @@ -122,7 +117,7 @@ public class CreateZoneCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DataCenter result = _configService.createZone(this); if (result != null){ ZoneResponse response = ApiResponseHelper.createZoneResponse((DataCenterVO)result); diff --git a/server/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java b/server/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java index 63296accb1e..7d219f38db8 100644 --- a/server/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java +++ b/server/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java @@ -25,11 +25,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Updates a disk offering.", responseObject=SuccessResponse.class) public class DeleteDiskOfferingCmd extends BaseCmd { @@ -62,7 +57,7 @@ public class DeleteDiskOfferingCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _configService.deleteDiskOffering(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteDomainCmd.java b/server/src/com/cloud/api/commands/DeleteDomainCmd.java index ff2c656f2b4..bb685030ab3 100644 --- a/server/src/com/cloud/api/commands/DeleteDomainCmd.java +++ b/server/src/com/cloud/api/commands/DeleteDomainCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.domain.DomainVO; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; @Implementation(description="Deletes a specified domain", responseObject=SuccessResponse.class) @@ -94,7 +89,7 @@ public class DeleteDomainCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _mgr.deleteDomain(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteHostCmd.java b/server/src/com/cloud/api/commands/DeleteHostCmd.java index dcc3b2246c2..f7ef3228c94 100644 --- a/server/src/com/cloud/api/commands/DeleteHostCmd.java +++ b/server/src/com/cloud/api/commands/DeleteHostCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a host.", responseObject=SuccessResponse.class) @@ -66,7 +61,7 @@ public class DeleteHostCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _agentMgr.deleteHost(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteIpForwardingRuleCmd.java b/server/src/com/cloud/api/commands/DeleteIpForwardingRuleCmd.java index d8593f14520..043e1c45865 100644 --- a/server/src/com/cloud/api/commands/DeleteIpForwardingRuleCmd.java +++ b/server/src/com/cloud/api/commands/DeleteIpForwardingRuleCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; @Implementation(description="Deletes an ip forwarding rule", responseObject=SuccessResponse.class) @@ -66,7 +61,7 @@ public class DeleteIpForwardingRuleCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = false; result = _networkMgr.deleteIpForwardingRule(id); if (result) { diff --git a/server/src/com/cloud/api/commands/DeleteIsoCmd.java b/server/src/com/cloud/api/commands/DeleteIsoCmd.java index 301e8188181..ff07518da83 100644 --- a/server/src/com/cloud/api/commands/DeleteIsoCmd.java +++ b/server/src/com/cloud/api/commands/DeleteIsoCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; @@ -98,7 +93,7 @@ public class DeleteIsoCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _templateMgr.deleteIso(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java b/server/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java index f1cbe79e105..3346a579088 100644 --- a/server/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java +++ b/server/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.LoadBalancerVO; import com.cloud.user.Account; @@ -86,7 +81,7 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _networkMgr.deleteLoadBalancerRule(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteNetworkGroupCmd.java b/server/src/com/cloud/api/commands/DeleteNetworkGroupCmd.java index dfec6c5f1da..60724f24c84 100644 --- a/server/src/com/cloud/api/commands/DeleteNetworkGroupCmd.java +++ b/server/src/com/cloud/api/commands/DeleteNetworkGroupCmd.java @@ -8,11 +8,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceInUseException; @Implementation(description="Deletes network group", responseObject=SuccessResponse.class) @@ -61,7 +56,7 @@ public class DeleteNetworkGroupCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try{ boolean result = _networkGroupMgr.deleteNetworkGroup(this); if (result) { @@ -71,7 +66,7 @@ public class DeleteNetworkGroupCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete network group"); } } catch (ResourceInUseException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_IN_USE_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/DeletePodCmd.java b/server/src/com/cloud/api/commands/DeletePodCmd.java index c33b456c277..88b6078f0d0 100644 --- a/server/src/com/cloud/api/commands/DeletePodCmd.java +++ b/server/src/com/cloud/api/commands/DeletePodCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a Pod.", responseObject=SuccessResponse.class) public class DeletePodCmd extends BaseCmd { @@ -63,7 +58,7 @@ public class DeletePodCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _configService.deletePod(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeletePoolCmd.java b/server/src/com/cloud/api/commands/DeletePoolCmd.java index 88ecaeb0e9c..fa08571d038 100644 --- a/server/src/com/cloud/api/commands/DeletePoolCmd.java +++ b/server/src/com/cloud/api/commands/DeletePoolCmd.java @@ -8,11 +8,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a storage pool.", responseObject=SuccessResponse.class) public class DeletePoolCmd extends BaseCmd { @@ -46,7 +41,7 @@ public class DeletePoolCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _storageMgr.deletePool(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java b/server/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java index 48bbb82b2a2..8f8df726511 100644 --- a/server/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java +++ b/server/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java @@ -25,11 +25,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a port forwarding rule", responseObject=SuccessResponse.class) public class DeletePortForwardingRuleCmd extends BaseCmd { @@ -62,7 +57,7 @@ public class DeletePortForwardingRuleCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _networkMgr.deletePortForwardingRule(id,false); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java b/server/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java index 18494aa7d4c..76fde8d7d7f 100644 --- a/server/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java +++ b/server/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java @@ -23,11 +23,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Unregisters PreallocatedLun", responseObject=SuccessResponse.class) public class DeletePreallocatedLunCmd extends BaseCmd { @@ -58,7 +53,7 @@ public class DeletePreallocatedLunCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _mgr.unregisterPreallocatedLun(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java b/server/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java index c16aeb4ffb7..20df5fad026 100644 --- a/server/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java +++ b/server/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java @@ -29,10 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -112,14 +108,18 @@ public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ - boolean result = _networkMgr.destroyRemoteAccessVpn(this); - if (result) { - SuccessResponse response = new SuccessResponse(getName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete remote access vpn"); - } + public void execute(){ + try { + boolean result = _networkMgr.destroyRemoteAccessVpn(this); + if (result) { + SuccessResponse response = new SuccessResponse(getName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete remote access vpn"); + } + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } } } diff --git a/server/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java b/server/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java index 738558b9726..944aeb3c10f 100644 --- a/server/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java +++ b/server/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a service offering.", responseObject=SuccessResponse.class) public class DeleteServiceOfferingCmd extends BaseCmd{ @@ -64,7 +59,7 @@ public class DeleteServiceOfferingCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _configService.deleteServiceOffering(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteSnapshotCmd.java b/server/src/com/cloud/api/commands/DeleteSnapshotCmd.java index 7b6c20aae06..6229911fd0a 100644 --- a/server/src/com/cloud/api/commands/DeleteSnapshotCmd.java +++ b/server/src/com/cloud/api/commands/DeleteSnapshotCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.Snapshot; import com.cloud.user.Account; @@ -88,7 +83,7 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _snapshotMgr.deleteSnapshot(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java b/server/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java index 6cb864a428d..bfb8fd20644 100644 --- a/server/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java +++ b/server/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes snapshot policies for the account.", responseObject=SuccessResponse.class) public class DeleteSnapshotPoliciesCmd extends BaseCmd { @@ -74,7 +69,7 @@ public class DeleteSnapshotPoliciesCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _snapshotMgr.deleteSnapshotPolicies(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteTemplateCmd.java b/server/src/com/cloud/api/commands/DeleteTemplateCmd.java index 23ac97e94d3..f0968f4c727 100644 --- a/server/src/com/cloud/api/commands/DeleteTemplateCmd.java +++ b/server/src/com/cloud/api/commands/DeleteTemplateCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; @@ -100,7 +95,7 @@ public class DeleteTemplateCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _templateMgr.deleteTemplate(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteUserCmd.java b/server/src/com/cloud/api/commands/DeleteUserCmd.java index abda77c7c6b..35cf3a74329 100644 --- a/server/src/com/cloud/api/commands/DeleteUserCmd.java +++ b/server/src/com/cloud/api/commands/DeleteUserCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.User; import com.cloud.user.UserContext; @@ -95,7 +90,7 @@ public class DeleteUserCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _accountService.deleteUser(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteVMGroupCmd.java b/server/src/com/cloud/api/commands/DeleteVMGroupCmd.java index 2d336d1f1a8..ed3427ccaa7 100644 --- a/server/src/com/cloud/api/commands/DeleteVMGroupCmd.java +++ b/server/src/com/cloud/api/commands/DeleteVMGroupCmd.java @@ -25,11 +25,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a vm group", responseObject=SuccessResponse.class) public class DeleteVMGroupCmd extends BaseCmd{ @@ -61,7 +56,7 @@ public class DeleteVMGroupCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _userVmService.deleteVmGroup(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java b/server/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java index 7327cec0030..b4ab1546a39 100644 --- a/server/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java +++ b/server/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Creates a VLAN IP range.", responseObject=SuccessResponse.class) public class DeleteVlanIpRangeCmd extends BaseCmd { @@ -63,7 +58,7 @@ public class DeleteVlanIpRangeCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _configService.deleteVlanIpRange(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteVolumeCmd.java b/server/src/com/cloud/api/commands/DeleteVolumeCmd.java index b4b468f6646..fc18f950b5e 100644 --- a/server/src/com/cloud/api/commands/DeleteVolumeCmd.java +++ b/server/src/com/cloud/api/commands/DeleteVolumeCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a detached disk volume.", responseObject=SuccessResponse.class) public class DeleteVolumeCmd extends BaseCmd { @@ -68,7 +63,7 @@ public class DeleteVolumeCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _storageMgr.deleteVolume(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeleteZoneCmd.java b/server/src/com/cloud/api/commands/DeleteZoneCmd.java index efcecbb7f02..daa28472ef6 100644 --- a/server/src/com/cloud/api/commands/DeleteZoneCmd.java +++ b/server/src/com/cloud/api/commands/DeleteZoneCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Deletes a Zone.", responseObject=SuccessResponse.class) public class DeleteZoneCmd extends BaseCmd { @@ -65,7 +60,7 @@ public class DeleteZoneCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _configService.deleteZone(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DeployVMCmd.java b/server/src/com/cloud/api/commands/DeployVMCmd.java index 3e7a3b7c0dd..bfe841ea09a 100644 --- a/server/src/com/cloud/api/commands/DeployVMCmd.java +++ b/server/src/com/cloud/api/commands/DeployVMCmd.java @@ -32,18 +32,13 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; +import com.cloud.exception.InsufficientStorageCapacityException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.StorageUnavailableException; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.uservm.UserVm; -import com.cloud.utils.exception.ExecutionException; @Implementation(description="Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.", responseObject=UserVmResponse.class) public class DeployVMCmd extends BaseAsyncCmd { @@ -199,7 +194,7 @@ public class DeployVMCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ try { String password = null; if (templateId != null ) { @@ -218,9 +213,13 @@ public class DeployVMCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to deploy vm"); } } catch (ResourceAllocationException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); + } catch (InsufficientStorageCapacityException ex) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); + } catch (StorageUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); + } catch (Exception ex) { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); - } catch (ExecutionException ex1) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex1.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/DeployVm2Cmd.java b/server/src/com/cloud/api/commands/DeployVm2Cmd.java index 1db00dc7290..dd5004c3091 100644 --- a/server/src/com/cloud/api/commands/DeployVm2Cmd.java +++ b/server/src/com/cloud/api/commands/DeployVm2Cmd.java @@ -33,10 +33,7 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -157,27 +154,43 @@ public class DeployVm2Cmd extends BaseAsyncCreateCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ UserVm result; - result = _userVmService.startVirtualMachine(this); - if (result != null) { - UserVmResponse response = ApiResponseHelper.createUserVm2Response(result); - response.setPassword(password); - response.setResponseName(getName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to deploy vm"); - } + try { + result = _userVmService.startVirtualMachine(this); + if (result != null) { + UserVmResponse response = ApiResponseHelper.createUserVm2Response(result); + response.setPassword(password); + response.setResponseName(getName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to deploy vm"); + } + } catch (ResourceUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } catch (InsufficientCapacityException ex) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); + } } @Override - public void callCreate() throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { - UserVm vm = _userVmService.createVirtualMachine(this); - if (vm != null) { - this.setId(vm.getId()); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to deploy vm"); - } + public void callCreate() { + try { + UserVm vm = _userVmService.createVirtualMachine(this); + if (vm != null) { + this.setId(vm.getId()); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to deploy vm"); + } + } catch (ResourceUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } catch (InsufficientCapacityException ex) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); + } } diff --git a/server/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java b/server/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java index 55325d742c6..beec58f76fa 100644 --- a/server/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java +++ b/server/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -89,7 +84,7 @@ public class DestroyConsoleProxyCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _consoleProxyMgr.destroyConsoleProxy(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/DestroyVMCmd.java b/server/src/com/cloud/api/commands/DestroyVMCmd.java index b4e4997507e..aad8cf83e6a 100644 --- a/server/src/com/cloud/api/commands/DestroyVMCmd.java +++ b/server/src/com/cloud/api/commands/DestroyVMCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.StorageUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -89,7 +84,7 @@ public class DestroyVMCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ UserVm result = _userVmService.destroyVm(this); if (result != null) { UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); diff --git a/server/src/com/cloud/api/commands/DestroyVm2Cmd.java b/server/src/com/cloud/api/commands/DestroyVm2Cmd.java index 2d164154069..83f01fe714a 100644 --- a/server/src/com/cloud/api/commands/DestroyVm2Cmd.java +++ b/server/src/com/cloud/api/commands/DestroyVm2Cmd.java @@ -23,6 +23,7 @@ import com.cloud.api.ApiConstants; import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; @@ -88,10 +89,20 @@ public class DestroyVm2Cmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ - UserVm result = _userVmService.destroyVm(this); - UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); - response.setResponseName("virtualmachine"); - this.setResponseObject(response); + public void execute(){ + try { + UserVm result = _userVmService.destroyVm(this); + if (result != null) { + UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); + response.setResponseName("virtualmachine"); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to destroy vm"); + } + }catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + }catch (ResourceUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); + } } } diff --git a/server/src/com/cloud/api/commands/DetachIsoCmd.java b/server/src/com/cloud/api/commands/DetachIsoCmd.java index 8a9a3044e6d..55cc03c152c 100755 --- a/server/src/com/cloud/api/commands/DetachIsoCmd.java +++ b/server/src/com/cloud/api/commands/DetachIsoCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -88,7 +83,7 @@ public class DetachIsoCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _templateMgr.detachIso(this); if (result) { UserVm userVm = ApiDBUtils.findUserVmById(virtualMachineId); diff --git a/server/src/com/cloud/api/commands/DetachVolumeCmd.java b/server/src/com/cloud/api/commands/DetachVolumeCmd.java index ffc7c5ad381..deb7239c67d 100755 --- a/server/src/com/cloud/api/commands/DetachVolumeCmd.java +++ b/server/src/com/cloud/api/commands/DetachVolumeCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.VolumeResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.Volume; import com.cloud.storage.VolumeVO; import com.cloud.user.Account; @@ -124,7 +119,7 @@ public class DetachVolumeCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Volume result = _userVmService.detachVolumeFromVM(this); if (result != null){ VolumeResponse response = ApiResponseHelper.createVolumeResponse((VolumeVO)result); diff --git a/server/src/com/cloud/api/commands/DisableAccountCmd.java b/server/src/com/cloud/api/commands/DisableAccountCmd.java index 4b140a534f5..0e9f266d55d 100644 --- a/server/src/com/cloud/api/commands/DisableAccountCmd.java +++ b/server/src/com/cloud/api/commands/DisableAccountCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -93,7 +88,7 @@ public class DisableAccountCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Account result = _accountService.disableAccount(this); if (result != null){ AccountResponse response = ApiResponseHelper.createAccountResponse(result); diff --git a/server/src/com/cloud/api/commands/DisableUserCmd.java b/server/src/com/cloud/api/commands/DisableUserCmd.java index d26d5397c78..999396be353 100644 --- a/server/src/com/cloud/api/commands/DisableUserCmd.java +++ b/server/src/com/cloud/api/commands/DisableUserCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserAccount; import com.cloud.user.UserContext; @@ -88,7 +83,7 @@ public class DisableUserCmd extends BaseAsyncCmd { @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ UserAccount user = _accountService.disableUser(this); if (user != null){ UserResponse response = ApiResponseHelper.createUserResponse(user); diff --git a/server/src/com/cloud/api/commands/DisassociateIPAddrCmd.java b/server/src/com/cloud/api/commands/DisassociateIPAddrCmd.java index a466fb1cf0c..d6919fe63ef 100644 --- a/server/src/com/cloud/api/commands/DisassociateIPAddrCmd.java +++ b/server/src/com/cloud/api/commands/DisassociateIPAddrCmd.java @@ -25,11 +25,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Disassociates an ip address from the account.", responseObject=SuccessResponse.class) public class DisassociateIPAddrCmd extends BaseCmd { @@ -62,7 +57,7 @@ public class DisassociateIPAddrCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _networkMgr.disassociateIpAddress(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/EnableAccountCmd.java b/server/src/com/cloud/api/commands/EnableAccountCmd.java index 6c85bbfcc6a..a79d206336b 100644 --- a/server/src/com/cloud/api/commands/EnableAccountCmd.java +++ b/server/src/com/cloud/api/commands/EnableAccountCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; @Implementation(description="Enables an account", responseObject=AccountResponse.class) @@ -70,7 +65,7 @@ public class EnableAccountCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Account result = _accountService.enableAccount(this); if (result != null){ AccountResponse response = ApiResponseHelper.createAccountResponse(result); diff --git a/server/src/com/cloud/api/commands/EnableUserCmd.java b/server/src/com/cloud/api/commands/EnableUserCmd.java index e45959e7c7a..67fb94cc19c 100644 --- a/server/src/com/cloud/api/commands/EnableUserCmd.java +++ b/server/src/com/cloud/api/commands/EnableUserCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.UserAccount; @Implementation(description="Enables a user account", responseObject=UserResponse.class) @@ -65,7 +60,7 @@ public class EnableUserCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ UserAccount user = _accountService.enableUser(this); if (user != null){ UserResponse response = ApiResponseHelper.createUserResponse(user); diff --git a/server/src/com/cloud/api/commands/ExtractIsoCmd.java b/server/src/com/cloud/api/commands/ExtractIsoCmd.java index 23c0428fce1..d355432a7fe 100755 --- a/server/src/com/cloud/api/commands/ExtractIsoCmd.java +++ b/server/src/com/cloud/api/commands/ExtractIsoCmd.java @@ -28,13 +28,7 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.ExtractResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InternalErrorException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.UploadVO; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; @@ -115,7 +109,7 @@ public class ExtractIsoCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ try { Long uploadId = _templateMgr.extract(this); if (uploadId != null){ diff --git a/server/src/com/cloud/api/commands/ExtractTemplateCmd.java b/server/src/com/cloud/api/commands/ExtractTemplateCmd.java index 23da263f118..32388698c06 100755 --- a/server/src/com/cloud/api/commands/ExtractTemplateCmd.java +++ b/server/src/com/cloud/api/commands/ExtractTemplateCmd.java @@ -28,13 +28,7 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.ExtractResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InternalErrorException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.UploadVO; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; @@ -116,7 +110,7 @@ public class ExtractTemplateCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ try { Long uploadId = _templateMgr.extract(this); if (uploadId != null){ diff --git a/server/src/com/cloud/api/commands/ExtractVolumeCmd.java b/server/src/com/cloud/api/commands/ExtractVolumeCmd.java index 9b92954996a..2c6c1876140 100755 --- a/server/src/com/cloud/api/commands/ExtractVolumeCmd.java +++ b/server/src/com/cloud/api/commands/ExtractVolumeCmd.java @@ -30,12 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.ExtractResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.UploadVO; import com.cloud.storage.VolumeVO; import com.cloud.user.Account; @@ -120,7 +114,7 @@ public class ExtractVolumeCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ try { Long uploadId = _mgr.extractVolume(this); if (uploadId != null){ diff --git a/server/src/com/cloud/api/commands/GetCloudIdentifierCmd.java b/server/src/com/cloud/api/commands/GetCloudIdentifierCmd.java index d653e4d66c4..ca5b4a57a51 100644 --- a/server/src/com/cloud/api/commands/GetCloudIdentifierCmd.java +++ b/server/src/com/cloud/api/commands/GetCloudIdentifierCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.CloudIdentifierResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Retrieves a cloud identifier.", responseObject=CloudIdentifierResponse.class) public class GetCloudIdentifierCmd extends BaseCmd { @@ -65,18 +60,18 @@ public class GetCloudIdentifierCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ ArrayList result = _mgr.getCloudIdentifierResponse(this); CloudIdentifierResponse response = new CloudIdentifierResponse(); if (result != null) { response.setCloudIdentifier(result.get(0)); response.setSignature(result.get(1)); - + response.setObjectName("cloudidentifier"); + response.setResponseName(getName()); + this.setResponseObject(response); } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to get cloud identifier"); } - response.setObjectName("cloudidentifier"); - response.setResponseName(getName()); - this.setResponseObject(response); + } } \ No newline at end of file diff --git a/server/src/com/cloud/api/commands/ListAccountsCmd.java b/server/src/com/cloud/api/commands/ListAccountsCmd.java index 91feeedc063..bd4f48de059 100644 --- a/server/src/com/cloud/api/commands/ListAccountsCmd.java +++ b/server/src/com/cloud/api/commands/ListAccountsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.AccountVO; @Implementation(description="Lists accounts and provides detailed account information for listed accounts", responseObject=AccountResponse.class) @@ -110,7 +104,7 @@ public class ListAccountsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List accounts = _mgr.searchForAccounts(this); ListResponse response = new ListResponse(); List accountResponses = new ArrayList(); @@ -119,7 +113,6 @@ public class ListAccountsCmd extends BaseListCmd { acctResponse.setObjectName("account"); accountResponses.add(acctResponse); } - response.setResponses(accountResponses); response.setResponseName(getName()); diff --git a/server/src/com/cloud/api/commands/ListAlertsCmd.java b/server/src/com/cloud/api/commands/ListAlertsCmd.java index 591cbd45398..a6e71997c00 100644 --- a/server/src/com/cloud/api/commands/ListAlertsCmd.java +++ b/server/src/com/cloud/api/commands/ListAlertsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.AlertResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists all alerts.", responseObject=AlertResponse.class) public class ListAlertsCmd extends BaseListCmd { @@ -68,7 +62,7 @@ public class ListAlertsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForAlerts(this); ListResponse response = new ListResponse(); List alertResponseList = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListAsyncJobsCmd.java b/server/src/com/cloud/api/commands/ListAsyncJobsCmd.java index 07cb0bbfeba..39ca6e87215 100644 --- a/server/src/com/cloud/api/commands/ListAsyncJobsCmd.java +++ b/server/src/com/cloud/api/commands/ListAsyncJobsCmd.java @@ -27,15 +27,9 @@ import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ResponseObject; -import com.cloud.api.ServerApiException; import com.cloud.api.response.AsyncJobResponse; import com.cloud.api.response.ListResponse; import com.cloud.async.AsyncJobVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists all pending asynchronous jobs for the account.", responseObject=AsyncJobResponse.class) public class ListAsyncJobsCmd extends BaseListCmd { @@ -80,7 +74,7 @@ public class ListAsyncJobsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForAsyncJobs(this); ListResponse response = new ListResponse(); List jobResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListCapabilitiesCmd.java b/server/src/com/cloud/api/commands/ListCapabilitiesCmd.java index c0c2fd2cfd6..6697ffd7425 100644 --- a/server/src/com/cloud/api/commands/ListCapabilitiesCmd.java +++ b/server/src/com/cloud/api/commands/ListCapabilitiesCmd.java @@ -23,13 +23,7 @@ import org.apache.log4j.Logger; import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; -import com.cloud.api.ServerApiException; import com.cloud.api.response.CapabilitiesResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists capabilities", responseObject=CapabilitiesResponse.class) public class ListCapabilitiesCmd extends BaseCmd { @@ -43,7 +37,7 @@ public class ListCapabilitiesCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Map capabilities = _mgr.listCapabilities(this); CapabilitiesResponse response = new CapabilitiesResponse(); response.setNetworkGroupsEnabled(capabilities.get("networkGroupsEnabled")); diff --git a/server/src/com/cloud/api/commands/ListCapacityCmd.java b/server/src/com/cloud/api/commands/ListCapacityCmd.java index c4ffd2f5cf7..af0177ed0df 100644 --- a/server/src/com/cloud/api/commands/ListCapacityCmd.java +++ b/server/src/com/cloud/api/commands/ListCapacityCmd.java @@ -34,15 +34,9 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.CapacityResponse; import com.cloud.api.response.ListResponse; import com.cloud.capacity.CapacityVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.server.Criteria; import com.cloud.storage.Storage.StoragePoolType; import com.cloud.storage.StoragePoolVO; @@ -200,7 +194,7 @@ public class ListCapacityCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.listCapacities(this); ListResponse response = new ListResponse(); List capacityResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListCfgsByCmd.java b/server/src/com/cloud/api/commands/ListCfgsByCmd.java index 5a00c470932..9c2ecfce46a 100644 --- a/server/src/com/cloud/api/commands/ListCfgsByCmd.java +++ b/server/src/com/cloud/api/commands/ListCfgsByCmd.java @@ -28,15 +28,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ConfigurationResponse; import com.cloud.api.response.ListResponse; import com.cloud.configuration.ConfigurationVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists all configurations.", responseObject=ConfigurationResponse.class) public class ListCfgsByCmd extends BaseListCmd { @@ -78,7 +72,7 @@ public class ListCfgsByCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForConfigurations(this); ListResponse response = new ListResponse(); List configResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListClustersCmd.java b/server/src/com/cloud/api/commands/ListClustersCmd.java index 2d22c9f0916..ba7fe2f916d 100644 --- a/server/src/com/cloud/api/commands/ListClustersCmd.java +++ b/server/src/com/cloud/api/commands/ListClustersCmd.java @@ -28,15 +28,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ClusterResponse; import com.cloud.api.response.ListResponse; import com.cloud.dc.ClusterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists clusters.", responseObject=ClusterResponse.class) public class ListClustersCmd extends BaseListCmd { @@ -91,7 +85,7 @@ public class ListClustersCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForClusters(this); ListResponse response = new ListResponse(); List clusterResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java b/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java index d4feed5a577..2882040ae34 100644 --- a/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java +++ b/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.DiskOfferingResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.DiskOfferingVO; @Implementation(description="Lists all available disk offerings.", responseObject=DiskOfferingResponse.class) @@ -82,7 +76,7 @@ public class ListDiskOfferingsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForDiskOfferings(this); ListResponse response = new ListResponse(); List diskOfferingResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java b/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java index be75c799728..10d0a01e5a3 100644 --- a/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java +++ b/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java @@ -27,15 +27,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainResponse; import com.cloud.api.response.ListResponse; import com.cloud.domain.DomainVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists all children domains belonging to a specified domain", responseObject=DomainResponse.class) public class ListDomainChildrenCmd extends BaseListCmd { @@ -82,7 +76,7 @@ public class ListDomainChildrenCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForDomainChildren(this); ListResponse response = new ListResponse(); List domainResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListDomainsCmd.java b/server/src/com/cloud/api/commands/ListDomainsCmd.java index 82a992f3fb3..7867ac246cd 100644 --- a/server/src/com/cloud/api/commands/ListDomainsCmd.java +++ b/server/src/com/cloud/api/commands/ListDomainsCmd.java @@ -27,15 +27,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainResponse; import com.cloud.api.response.ListResponse; import com.cloud.domain.DomainVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists domains and provides detailed information for listed domains", responseObject=DomainResponse.class) public class ListDomainsCmd extends BaseListCmd { @@ -82,7 +76,7 @@ public class ListDomainsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForDomains(this); ListResponse response = new ListResponse(); List domainResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListEventsCmd.java b/server/src/com/cloud/api/commands/ListEventsCmd.java index 049aaeee472..f6499631ccc 100644 --- a/server/src/com/cloud/api/commands/ListEventsCmd.java +++ b/server/src/com/cloud/api/commands/ListEventsCmd.java @@ -28,15 +28,9 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.EventResponse; import com.cloud.api.response.ListResponse; import com.cloud.event.EventVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.User; @Implementation(description="A command to list events.", responseObject=EventResponse.class) @@ -119,7 +113,7 @@ public class ListEventsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForEvents(this); ListResponse response = new ListResponse(); List eventResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListGuestOsCategoriesCmd.java b/server/src/com/cloud/api/commands/ListGuestOsCategoriesCmd.java index ea750cb7227..52027d502b1 100644 --- a/server/src/com/cloud/api/commands/ListGuestOsCategoriesCmd.java +++ b/server/src/com/cloud/api/commands/ListGuestOsCategoriesCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.GuestOSCategoryResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.GuestOSCategoryVO; @Implementation(description="Lists all supported OS categories for this cloud.", responseObject=GuestOSCategoryResponse.class) @@ -70,7 +64,7 @@ public class ListGuestOsCategoriesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.listGuestOSCategoriesByCriteria(this); ListResponse response = new ListResponse(); List osCatResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListGuestOsCmd.java b/server/src/com/cloud/api/commands/ListGuestOsCmd.java index eeab4789efd..7fab88bdfbc 100644 --- a/server/src/com/cloud/api/commands/ListGuestOsCmd.java +++ b/server/src/com/cloud/api/commands/ListGuestOsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.GuestOSResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.GuestOSVO; @Implementation(description="Lists all supported OS types for this cloud.", responseObject=GuestOSResponse.class) @@ -87,7 +81,7 @@ public class ListGuestOsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.listGuestOSByCriteria(this); ListResponse response = new ListResponse(); List osResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListHostsCmd.java b/server/src/com/cloud/api/commands/ListHostsCmd.java index 6634c810cbe..6a6d1fc1df0 100644 --- a/server/src/com/cloud/api/commands/ListHostsCmd.java +++ b/server/src/com/cloud/api/commands/ListHostsCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; @Implementation(description="Lists hosts.", responseObject=HostResponse.class) @@ -113,7 +107,7 @@ public class ListHostsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForServers(this); ListResponse response = new ListResponse(); diff --git a/server/src/com/cloud/api/commands/ListHypervisorsCmd.java b/server/src/com/cloud/api/commands/ListHypervisorsCmd.java index 06f711b7480..d22d9011d4a 100644 --- a/server/src/com/cloud/api/commands/ListHypervisorsCmd.java +++ b/server/src/com/cloud/api/commands/ListHypervisorsCmd.java @@ -23,14 +23,8 @@ import org.apache.log4j.Logger; import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; -import com.cloud.api.ServerApiException; import com.cloud.api.response.HypervisorResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="List hypervisors", responseObject=HypervisorResponse.class) public class ListHypervisorsCmd extends BaseCmd { @@ -43,7 +37,7 @@ public class ListHypervisorsCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ String[] result = _mgr.getHypervisors(this); ListResponse response = new ListResponse(); ArrayList responses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListIsosCmd.java b/server/src/com/cloud/api/commands/ListIsosCmd.java index 2b9e07821d8..d564a5f2c9a 100755 --- a/server/src/com/cloud/api/commands/ListIsosCmd.java +++ b/server/src/com/cloud/api/commands/ListIsosCmd.java @@ -30,16 +30,10 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; 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.AsyncJobVO; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; import com.cloud.storage.GuestOS; import com.cloud.storage.VMTemplateHostVO; @@ -147,7 +141,7 @@ public class ListIsosCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List isos = _mgr.listIsos(this); TemplateFilter isoFilterObj = null; diff --git a/server/src/com/cloud/api/commands/ListLoadBalancerRuleInstancesCmd.java b/server/src/com/cloud/api/commands/ListLoadBalancerRuleInstancesCmd.java index 337ac2198eb..a6928ccf287 100644 --- a/server/src/com/cloud/api/commands/ListLoadBalancerRuleInstancesCmd.java +++ b/server/src/com/cloud/api/commands/ListLoadBalancerRuleInstancesCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.UserVmResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.UserVmVO; @Implementation(description="List all virtual machine instances that are assigned to a load balancer rule.", responseObject=UserVmResponse.class) @@ -75,7 +69,7 @@ public class ListLoadBalancerRuleInstancesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.listLoadBalancerInstances(this); ListResponse response = new ListResponse(); List vmResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java b/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java index 1eb881618cd..83232d5b503 100644 --- a/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java +++ b/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.LoadBalancerResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.LoadBalancerVO; @Implementation(description="Lists load balancer rules.", responseObject=LoadBalancerResponse.class) @@ -104,7 +98,7 @@ public class ListLoadBalancerRulesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List loadBalancers = _mgr.searchForLoadBalancers(this); ListResponse response = new ListResponse(); List lbResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListNetworkGroupsCmd.java b/server/src/com/cloud/api/commands/ListNetworkGroupsCmd.java index ec06e10cb05..58e9d9f5e92 100644 --- a/server/src/com/cloud/api/commands/ListNetworkGroupsCmd.java +++ b/server/src/com/cloud/api/commands/ListNetworkGroupsCmd.java @@ -27,17 +27,11 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.IngressRuleResponse; import com.cloud.api.response.ListResponse; import com.cloud.api.response.NetworkGroupResponse; import com.cloud.async.executor.IngressRuleResultObject; import com.cloud.async.executor.NetworkGroupResultObject; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.security.NetworkGroupRulesVO; @Implementation(description="Lists network groups", responseObject=NetworkGroupResponse.class) @@ -92,7 +86,7 @@ public class ListNetworkGroupsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List networkGroups = _networkGroupMgr.searchForNetworkGroupRules(this); List groupResultObjs = NetworkGroupResultObject.transposeNetworkGroups(networkGroups); diff --git a/server/src/com/cloud/api/commands/ListPodsByCmd.java b/server/src/com/cloud/api/commands/ListPodsByCmd.java index 80e2f7f9397..b8236e0007c 100644 --- a/server/src/com/cloud/api/commands/ListPodsByCmd.java +++ b/server/src/com/cloud/api/commands/ListPodsByCmd.java @@ -28,15 +28,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.PodResponse; import com.cloud.dc.HostPodVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists all Pods.", responseObject=PodResponse.class) public class ListPodsByCmd extends BaseListCmd { @@ -84,7 +78,7 @@ public class ListPodsByCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForPods(this); ListResponse response = new ListResponse(); List podResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java b/server/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java index d31d58b9b94..0a6526e2bb5 100644 --- a/server/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java +++ b/server/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.FirewallRuleResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.FirewallRuleVO; @Implementation(description="Lists all port forwarding rules for an IP address.", responseObject=FirewallRuleResponse.class) @@ -68,7 +62,7 @@ public class ListPortForwardingRulesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _networkMgr.listPortForwardingRules(this); ListResponse response = new ListResponse(); List fwResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java b/server/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java index 84ca955a97f..8b6834b78df 100644 --- a/server/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java +++ b/server/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.PreallocatedLunResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.preallocatedlun.PreallocatedLunVO; @Implementation(responseObject=PreallocatedLunResponse.class) @@ -78,7 +72,7 @@ public class ListPreallocatedLunsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List preallocatedLuns = _mgr.getPreAllocatedLuns(this); ListResponse response = new ListResponse(); List lunResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java b/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java index 5e56f77e257..35a73a1b79c 100644 --- a/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java +++ b/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.IPAddressResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.IPAddressVO; @Implementation(description="Lists all public ip addresses", responseObject=IPAddressResponse.class) @@ -111,7 +105,7 @@ public class ListPublicIpAddressesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForIPAddresses(this); ListResponse response = new ListResponse(); List ipAddrResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java b/server/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java index 59c22a00d65..fca6899def6 100644 --- a/server/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java +++ b/server/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java @@ -24,14 +24,8 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.SnapshotScheduleResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.SnapshotScheduleVO; @Implementation(description="Lists recurring snapshot schedule", responseObject=SnapshotScheduleResponse.class) @@ -70,7 +64,7 @@ public class ListRecurringSnapshotScheduleCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List snapshotSchedules = _snapshotMgr.findRecurringSnapshotSchedule(this); ListResponse response = new ListResponse(); List snapshotScheduleResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java b/server/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java index 65b87241d64..c7ce6363cea 100644 --- a/server/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java +++ b/server/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.RemoteAccessVpnResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.RemoteAccessVpnVO; import com.cloud.user.Account; @@ -103,7 +97,7 @@ public class ListRemoteAccessVpnsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List vpns = _mgr.searchForRemoteAccessVpns(this); ListResponse response = new ListResponse(); List vpnResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java b/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java index 615019e546d..db0a5e1d12d 100644 --- a/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java +++ b/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java @@ -28,16 +28,10 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.ResourceLimitResponse; import com.cloud.configuration.ResourceLimit; import com.cloud.configuration.ResourceLimitVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists resource limits.", responseObject=ResourceLimitResponse.class) public class ListResourceLimitsCmd extends BaseListCmd { @@ -95,7 +89,7 @@ public class ListResourceLimitsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _accountService.searchForLimits(this); ListResponse response = new ListResponse(); List limitResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListRoutersCmd.java b/server/src/com/cloud/api/commands/ListRoutersCmd.java index 4e0b7653742..e48299acb64 100644 --- a/server/src/com/cloud/api/commands/ListRoutersCmd.java +++ b/server/src/com/cloud/api/commands/ListRoutersCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainRouterResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.DomainRouter; import com.cloud.vm.DomainRouterVO; @@ -112,7 +106,7 @@ public class ListRoutersCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForRouters(this); ListResponse response = new ListResponse(); List routerResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java b/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java index ff653a370ca..9ce400c5dba 100644 --- a/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java +++ b/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.ServiceOfferingResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.service.ServiceOfferingVO; @Implementation(description="Lists all available service offerings.", responseObject=ServiceOfferingResponse.class) @@ -82,7 +76,7 @@ public class ListServiceOfferingsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List offerings = _mgr.searchForServiceOfferings(this); ListResponse response = new ListResponse(); List offeringResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java b/server/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java index 1564964dcbb..965902f117b 100644 --- a/server/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java +++ b/server/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.SnapshotPolicyResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.SnapshotPolicyVO; @Implementation(description="Lists snapshot policies.", responseObject=SnapshotPolicyResponse.class) @@ -83,7 +77,7 @@ public class ListSnapshotPoliciesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _snapshotMgr.listPoliciesforVolume(this); ListResponse response = new ListResponse(); List policyResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListSnapshotsCmd.java b/server/src/com/cloud/api/commands/ListSnapshotsCmd.java index 08f069ed254..127528f47ce 100644 --- a/server/src/com/cloud/api/commands/ListSnapshotsCmd.java +++ b/server/src/com/cloud/api/commands/ListSnapshotsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.SnapshotResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.Snapshot; import com.cloud.storage.SnapshotVO; @@ -111,7 +105,7 @@ public class ListSnapshotsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.listSnapshots(this); ListResponse response = new ListResponse(); List snapshotResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java b/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java index db5f52aa2e2..de4783c9f01 100644 --- a/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java +++ b/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.StoragePoolResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.StoragePoolVO; @Implementation(description="Lists storage pools.", responseObject=StoragePoolResponse.class) @@ -104,7 +98,7 @@ public class ListStoragePoolsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List pools = _mgr.searchForStoragePools(this); ListResponse response = new ListResponse(); List poolResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListSystemVMsCmd.java b/server/src/com/cloud/api/commands/ListSystemVMsCmd.java index be98c208140..6c2392e88a1 100644 --- a/server/src/com/cloud/api/commands/ListSystemVMsCmd.java +++ b/server/src/com/cloud/api/commands/ListSystemVMsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.SystemVmResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.VMInstanceVO; @Implementation(description="List system virtual machines.", responseObject=SystemVmResponse.class) @@ -110,7 +104,7 @@ public class ListSystemVMsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List systemVMs = _mgr.searchForSystemVm(this); ListResponse response = new ListResponse(); List vmResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListTemplateOrIsoPermissionsCmd.java b/server/src/com/cloud/api/commands/ListTemplateOrIsoPermissionsCmd.java index 1c35d9b0096..1d378d9018f 100644 --- a/server/src/com/cloud/api/commands/ListTemplateOrIsoPermissionsCmd.java +++ b/server/src/com/cloud/api/commands/ListTemplateOrIsoPermissionsCmd.java @@ -26,13 +26,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.TemplatePermissionsResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -93,7 +87,7 @@ public class ListTemplateOrIsoPermissionsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List accountNames = _mgr.listTemplatePermissions(this); Account account = (Account)UserContext.current().getAccount(); boolean isAdmin = ((account == null) || isAdmin(account.getType())); diff --git a/server/src/com/cloud/api/commands/ListTemplatesCmd.java b/server/src/com/cloud/api/commands/ListTemplatesCmd.java index a2b35a02a03..7e12d0e75b5 100644 --- a/server/src/com/cloud/api/commands/ListTemplatesCmd.java +++ b/server/src/com/cloud/api/commands/ListTemplatesCmd.java @@ -28,16 +28,10 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; 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.AsyncJobVO; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; import com.cloud.storage.GuestOS; import com.cloud.storage.Storage; @@ -125,7 +119,7 @@ public class ListTemplatesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List templates = _mgr.listTemplates(this); TemplateFilter templateFilterObj; try { diff --git a/server/src/com/cloud/api/commands/ListUsersCmd.java b/server/src/com/cloud/api/commands/ListUsersCmd.java index a36ed724555..cbae53d74ae 100644 --- a/server/src/com/cloud/api/commands/ListUsersCmd.java +++ b/server/src/com/cloud/api/commands/ListUsersCmd.java @@ -29,14 +29,8 @@ import com.cloud.api.BaseCmd; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.UserResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.UserAccountVO; @Implementation(description="Lists user accounts", responseObject=UserResponse.class) @@ -105,7 +99,7 @@ public class ListUsersCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForUsers(this); ListResponse response = new ListResponse(); List userResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListVMGroupsCmd.java b/server/src/com/cloud/api/commands/ListVMGroupsCmd.java index c883fbfc096..65d1ad8f184 100644 --- a/server/src/com/cloud/api/commands/ListVMGroupsCmd.java +++ b/server/src/com/cloud/api/commands/ListVMGroupsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.InstanceGroupResponse; import com.cloud.api.response.ListResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.InstanceGroupVO; @Implementation(description="Lists vm groups", responseObject=InstanceGroupResponse.class) @@ -89,7 +83,7 @@ public class ListVMGroupsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List groups = _mgr.searchForVmGroups(this); ListResponse response = new ListResponse(); List responses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListVMsCmd.java b/server/src/com/cloud/api/commands/ListVMsCmd.java index a7dd18b5a47..86dd75f7e98 100644 --- a/server/src/com/cloud/api/commands/ListVMsCmd.java +++ b/server/src/com/cloud/api/commands/ListVMsCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.UserVmResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.uservm.UserVm; import com.cloud.vm.UserVmVO; @@ -125,7 +119,7 @@ public class ListVMsCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List result = _mgr.searchForUserVMs(this); ListResponse response = new ListResponse(); List vmResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java b/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java index 759e271d1ad..fbf94fae77e 100644 --- a/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java +++ b/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java @@ -27,15 +27,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.VlanIpRangeResponse; import com.cloud.dc.VlanVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists all VLAN IP ranges.", responseObject=VlanIpRangeResponse.class) public class ListVlanIpRangesCmd extends BaseListCmd { @@ -103,7 +97,7 @@ public class ListVlanIpRangesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List vlans = _mgr.searchForVlans(this); ListResponse response = new ListResponse(); List vlanResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/ListVolumesCmd.java b/server/src/com/cloud/api/commands/ListVolumesCmd.java index b2206505c37..16a2130fecf 100755 --- a/server/src/com/cloud/api/commands/ListVolumesCmd.java +++ b/server/src/com/cloud/api/commands/ListVolumesCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.VolumeResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.VolumeVO; @Implementation(description="Lists all volumes.", responseObject=VolumeResponse.class) @@ -124,7 +118,7 @@ public class ListVolumesCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List volumes = _mgr.searchForVolumes(this); ListResponse response = new ListResponse(); diff --git a/server/src/com/cloud/api/commands/ListVpnUsersCmd.java b/server/src/com/cloud/api/commands/ListVpnUsersCmd.java index adaffda6173..f4b79f283fe 100644 --- a/server/src/com/cloud/api/commands/ListVpnUsersCmd.java +++ b/server/src/com/cloud/api/commands/ListVpnUsersCmd.java @@ -27,14 +27,8 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.VpnUsersResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.VpnUserVO; import com.cloud.user.Account; @@ -90,7 +84,7 @@ public class ListVpnUsersCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List vpnUsers = _mgr.searchForVpnUsers(this); ListResponse response = new ListResponse(); diff --git a/server/src/com/cloud/api/commands/ListZonesByCmd.java b/server/src/com/cloud/api/commands/ListZonesByCmd.java index 418e0089585..60ff15045f3 100644 --- a/server/src/com/cloud/api/commands/ListZonesByCmd.java +++ b/server/src/com/cloud/api/commands/ListZonesByCmd.java @@ -27,15 +27,9 @@ import com.cloud.api.ApiResponseHelper; import com.cloud.api.BaseListCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.ZoneResponse; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Lists zones", responseObject=ZoneResponse.class) public class ListZonesByCmd extends BaseListCmd { @@ -80,7 +74,7 @@ public class ListZonesByCmd extends BaseListCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ List dataCenters = _mgr.listDataCenters(this); ListResponse response = new ListResponse(); List zoneResponses = new ArrayList(); diff --git a/server/src/com/cloud/api/commands/LockAccountCmd.java b/server/src/com/cloud/api/commands/LockAccountCmd.java index d69f3c37279..e350ddfd794 100644 --- a/server/src/com/cloud/api/commands/LockAccountCmd.java +++ b/server/src/com/cloud/api/commands/LockAccountCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; @Implementation(description="Locks an account", responseObject=AccountResponse.class) @@ -71,7 +66,7 @@ public class LockAccountCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Account result = _accountService.lockAccount(this); if (result != null){ AccountResponse response = ApiResponseHelper.createAccountResponse(result); diff --git a/server/src/com/cloud/api/commands/LockUserCmd.java b/server/src/com/cloud/api/commands/LockUserCmd.java index 7a9ee410ea3..757e63831e4 100644 --- a/server/src/com/cloud/api/commands/LockUserCmd.java +++ b/server/src/com/cloud/api/commands/LockUserCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.UserAccount; @Implementation(description="Locks a user account", responseObject=UserResponse.class) @@ -64,7 +59,7 @@ public class LockUserCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ UserAccount user = _accountService.lockUser(this); if (user != null){ UserResponse response = ApiResponseHelper.createUserResponse(user); diff --git a/server/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java b/server/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java index 82881e3705d..de7ea8c9885 100644 --- a/server/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java +++ b/server/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -92,7 +87,7 @@ public class PrepareForMaintenanceCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ HostVO result = _agentMgr.maintain(this); if (result != null){ HostResponse response = ApiResponseHelper.createHostResponse(result); diff --git a/server/src/com/cloud/api/commands/PreparePrimaryStorageForMaintenanceCmd.java b/server/src/com/cloud/api/commands/PreparePrimaryStorageForMaintenanceCmd.java index cfbc1747a77..16ac49ec7d1 100644 --- a/server/src/com/cloud/api/commands/PreparePrimaryStorageForMaintenanceCmd.java +++ b/server/src/com/cloud/api/commands/PreparePrimaryStorageForMaintenanceCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.StoragePoolResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.StoragePoolVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -91,7 +86,7 @@ public class PreparePrimaryStorageForMaintenanceCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ StoragePoolVO result = _storageMgr.preparePrimaryStorageForMaintenance(this); if (result != null){ StoragePoolResponse response = ApiResponseHelper.createStoragePoolResponse(result); diff --git a/server/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java b/server/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java index f015004f019..e654c062596 100644 --- a/server/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java +++ b/server/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java @@ -28,14 +28,8 @@ import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ResponseObject; -import com.cloud.api.ServerApiException; import com.cloud.api.response.AsyncJobResponse; import com.cloud.async.AsyncJobResult; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Retrieves the current status of asynchronous job.", responseObject=AsyncJobResponse.class) public class QueryAsyncJobResultCmd extends BaseCmd { @@ -68,7 +62,7 @@ public class QueryAsyncJobResultCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ AsyncJobResult result = _asyncMgr.queryAsyncJobResult(this); AsyncJobResponse response = new AsyncJobResponse(); response.setId(result.getJobId()); diff --git a/server/src/com/cloud/api/commands/RebootRouterCmd.java b/server/src/com/cloud/api/commands/RebootRouterCmd.java index 91be097d344..538c7957238 100644 --- a/server/src/com/cloud/api/commands/RebootRouterCmd.java +++ b/server/src/com/cloud/api/commands/RebootRouterCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainRouterResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.vm.DomainRouter; import com.cloud.vm.DomainRouterVO; @@ -90,7 +85,7 @@ public class RebootRouterCmd extends BaseAsyncCmd { @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DomainRouter result = _networkMgr.rebootRouter(this); if (result != null){ DomainRouterResponse response = ApiResponseHelper.createDomainRouterResponse(result); diff --git a/server/src/com/cloud/api/commands/RebootSystemVmCmd.java b/server/src/com/cloud/api/commands/RebootSystemVmCmd.java index f7d66429b7c..561fcef5ce8 100644 --- a/server/src/com/cloud/api/commands/RebootSystemVmCmd.java +++ b/server/src/com/cloud/api/commands/RebootSystemVmCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SystemVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VMInstanceVO; @@ -89,7 +84,7 @@ public class RebootSystemVmCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ VMInstanceVO result = _mgr.rebootSystemVM(this); if (result != null) { SystemVmResponse response = ApiResponseHelper.createSystemVmResponse(result); diff --git a/server/src/com/cloud/api/commands/RebootVMCmd.java b/server/src/com/cloud/api/commands/RebootVMCmd.java index d79480359be..38a9010af38 100644 --- a/server/src/com/cloud/api/commands/RebootVMCmd.java +++ b/server/src/com/cloud/api/commands/RebootVMCmd.java @@ -29,12 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.StorageUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -88,7 +82,7 @@ public class RebootVMCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ UserVm result = _userVmService.rebootVirtualMachine(this); if (result !=null){ UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); diff --git a/server/src/com/cloud/api/commands/ReconnectHostCmd.java b/server/src/com/cloud/api/commands/ReconnectHostCmd.java index 1722b22e60c..703e9a150ac 100644 --- a/server/src/com/cloud/api/commands/ReconnectHostCmd.java +++ b/server/src/com/cloud/api/commands/ReconnectHostCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; import com.cloud.event.EventTypes; import com.cloud.exception.AgentUnavailableException; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -94,7 +89,7 @@ public class ReconnectHostCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { HostVO result = _agentMgr.reconnectHost(this); if (result != null){ @@ -105,7 +100,7 @@ public class ReconnectHostCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to reconnect host"); } } catch (AgentUnavailableException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/RecoverVMCmd.java b/server/src/com/cloud/api/commands/RecoverVMCmd.java index ab79bd89193..6b9c7c8680c 100644 --- a/server/src/com/cloud/api/commands/RecoverVMCmd.java +++ b/server/src/com/cloud/api/commands/RecoverVMCmd.java @@ -27,13 +27,7 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.StorageUnavailableException; import com.cloud.uservm.UserVm; @Implementation(description="Recovers a virtual machine.", responseObject=UserVmResponse.class) @@ -67,7 +61,7 @@ public class RecoverVMCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ try { UserVm result = _userVmService.recoverVirtualMachine(this); if (result != null){ @@ -78,7 +72,7 @@ public class RecoverVMCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to recover vm"); } } catch (ResourceAllocationException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/RegisterCmd.java b/server/src/com/cloud/api/commands/RegisterCmd.java index a7296d0a918..e5b74315b8f 100644 --- a/server/src/com/cloud/api/commands/RegisterCmd.java +++ b/server/src/com/cloud/api/commands/RegisterCmd.java @@ -24,13 +24,7 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; import com.cloud.api.response.RegisterResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(responseObject=RegisterResponse.class, description="This command allows a user to register for the developer API, returning a secret key and an API key. This request is made through the integration API port, so it is a privileged command and must be made on behalf of a user. It is up to the implementer just how the username and password are entered, and then how that translates to an integration API request. Both secret key and API key should be returned to the user") public class RegisterCmd extends BaseCmd { @@ -62,7 +56,7 @@ public class RegisterCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ String[] keys = _mgr.createApiKeyAndSecretKey(this); RegisterResponse response = new RegisterResponse(); response.setApiKey(keys[0]); diff --git a/server/src/com/cloud/api/commands/RegisterIsoCmd.java b/server/src/com/cloud/api/commands/RegisterIsoCmd.java index f991f82af5f..928bbc0a3ea 100755 --- a/server/src/com/cloud/api/commands/RegisterIsoCmd.java +++ b/server/src/com/cloud/api/commands/RegisterIsoCmd.java @@ -31,13 +31,7 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.TemplateResponse; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.VMTemplateHostVO; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.VMTemplateVO; @@ -137,7 +131,7 @@ public class RegisterIsoCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ try { VMTemplateVO template = _templateMgr.registerIso(this); if (template != null) { @@ -190,7 +184,7 @@ public class RegisterIsoCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to register iso"); } } catch (ResourceAllocationException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java b/server/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java index 6a328ca55ac..bedae5ac0f9 100644 --- a/server/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java +++ b/server/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java @@ -24,11 +24,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.PreallocatedLunResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.preallocatedlun.PreallocatedLunVO; //TODO - add description to @Implementation @@ -100,7 +95,7 @@ public class RegisterPreallocatedLunCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ PreallocatedLunVO result = _mgr.registerPreallocatedLun(this); if (result != null){ PreallocatedLunResponse response = ApiResponseHelper.createPreallocatedLunResponse(result); diff --git a/server/src/com/cloud/api/commands/RegisterTemplateCmd.java b/server/src/com/cloud/api/commands/RegisterTemplateCmd.java index f5a285be22b..b020334d152 100755 --- a/server/src/com/cloud/api/commands/RegisterTemplateCmd.java +++ b/server/src/com/cloud/api/commands/RegisterTemplateCmd.java @@ -32,13 +32,7 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.ListResponse; import com.cloud.api.response.TemplateResponse; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.GuestOS; import com.cloud.storage.VMTemplateHostVO; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; @@ -167,7 +161,7 @@ public class RegisterTemplateCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ try { VMTemplateVO template = _templateMgr.registerTemplate(this); if (template != null){ @@ -232,7 +226,7 @@ public class RegisterTemplateCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to register template"); } } catch (ResourceAllocationException ex) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage()); } catch (URISyntaxException ex1) { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex1.getMessage()); } diff --git a/server/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java b/server/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java index fbeea2ed0d1..92854bd957d 100644 --- a/server/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java +++ b/server/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java @@ -31,11 +31,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.LoadBalancerVO; import com.cloud.user.Account; import com.cloud.utils.StringUtils; @@ -110,7 +105,7 @@ public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _networkMgr.removeFromLoadBalancer(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/RemoveVpnUserCmd.java b/server/src/com/cloud/api/commands/RemoveVpnUserCmd.java index 4ed13389e1d..8793760d4ec 100644 --- a/server/src/com/cloud/api/commands/RemoveVpnUserCmd.java +++ b/server/src/com/cloud/api/commands/RemoveVpnUserCmd.java @@ -29,10 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -115,13 +111,17 @@ public class RemoveVpnUserCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ - boolean result = _networkMgr.removeVpnUser(this); - if (result) { - SuccessResponse response = new SuccessResponse(getName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to remove vpn user"); - } + public void execute(){ + try { + boolean result = _networkMgr.removeVpnUser(this); + if (result) { + SuccessResponse response = new SuccessResponse(getName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to remove vpn user"); + } + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } } } diff --git a/server/src/com/cloud/api/commands/ResetVMPasswordCmd.java b/server/src/com/cloud/api/commands/ResetVMPasswordCmd.java index 8bd88e22f51..2278beec4a9 100644 --- a/server/src/com/cloud/api/commands/ResetVMPasswordCmd.java +++ b/server/src/com/cloud/api/commands/ResetVMPasswordCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.StorageUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -103,7 +98,7 @@ public class ResetVMPasswordCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ password = _mgr.generateRandomPassword(); UserVm result = _userVmService.resetVMPassword(this, password); if (result != null){ diff --git a/server/src/com/cloud/api/commands/RevokeNetworkGroupIngressCmd.java b/server/src/com/cloud/api/commands/RevokeNetworkGroupIngressCmd.java index f09cdb90204..ed452a465e4 100644 --- a/server/src/com/cloud/api/commands/RevokeNetworkGroupIngressCmd.java +++ b/server/src/com/cloud/api/commands/RevokeNetworkGroupIngressCmd.java @@ -16,11 +16,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; @@ -185,7 +180,7 @@ public class RevokeNetworkGroupIngressCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ boolean result = _networkGroupMgr.revokeNetworkGroupIngress(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/StartRouter2Cmd.java b/server/src/com/cloud/api/commands/StartRouter2Cmd.java index 2ef5255f342..76f4eb4651e 100644 --- a/server/src/com/cloud/api/commands/StartRouter2Cmd.java +++ b/server/src/com/cloud/api/commands/StartRouter2Cmd.java @@ -32,8 +32,6 @@ import com.cloud.api.response.DomainRouterResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -95,14 +93,22 @@ public class StartRouter2Cmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { - DomainRouter router = _routerMgr.startRouter(this); - if (router != null){ - DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(router); - routerResponse.setResponseName(getName()); - this.setResponseObject(routerResponse); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to start router"); + public void execute() { + try { + DomainRouter router = _routerMgr.startRouter(this); + if (router != null){ + DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(router); + routerResponse.setResponseName(getName()); + this.setResponseObject(routerResponse); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to start router"); + } + }catch (InsufficientCapacityException ex) { + throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); + }catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + }catch (ResourceUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); } } diff --git a/server/src/com/cloud/api/commands/StartRouterCmd.java b/server/src/com/cloud/api/commands/StartRouterCmd.java index f9cd0e0f7ac..6e8c35df038 100644 --- a/server/src/com/cloud/api/commands/StartRouterCmd.java +++ b/server/src/com/cloud/api/commands/StartRouterCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainRouterResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; import com.cloud.vm.DomainRouter; @@ -95,7 +90,7 @@ public class StartRouterCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DomainRouter result = _routerMgr.startRouter(this); if (result != null){ DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(result); diff --git a/server/src/com/cloud/api/commands/StartSystemVMCmd.java b/server/src/com/cloud/api/commands/StartSystemVMCmd.java index 5142bd186d0..d616370bdad 100644 --- a/server/src/com/cloud/api/commands/StartSystemVMCmd.java +++ b/server/src/com/cloud/api/commands/StartSystemVMCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SystemVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VMInstanceVO; @@ -93,7 +88,7 @@ public class StartSystemVMCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ VMInstanceVO instance = _mgr.startSystemVM(this); if (instance != null) { SystemVmResponse response = ApiResponseHelper.createSystemVmResponse(instance); diff --git a/server/src/com/cloud/api/commands/StartSystemVm2Cmd.java b/server/src/com/cloud/api/commands/StartSystemVm2Cmd.java index 0e771ca6eb7..de819730831 100644 --- a/server/src/com/cloud/api/commands/StartSystemVm2Cmd.java +++ b/server/src/com/cloud/api/commands/StartSystemVm2Cmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SystemVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VMInstanceVO; @@ -94,7 +89,7 @@ public class StartSystemVm2Cmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ VirtualMachine instance = _mgr.startSystemVm(this); if (instance != null){ SystemVmResponse response = ApiResponseHelper.createSystemVmResponse((VMInstanceVO)instance); diff --git a/server/src/com/cloud/api/commands/StartVMCmd.java b/server/src/com/cloud/api/commands/StartVMCmd.java index c9f32e4e6e0..7792b50a6a5 100644 --- a/server/src/com/cloud/api/commands/StartVMCmd.java +++ b/server/src/com/cloud/api/commands/StartVMCmd.java @@ -30,10 +30,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.StorageUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -94,7 +90,7 @@ public class StartVMCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ try { UserVm result = _userVmService.startVirtualMachine(this); if (result != null){ @@ -104,7 +100,11 @@ public class StartVMCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to start a vm"); } - } catch (ExecutionException ex) { + }catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + }catch (StorageUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); + }catch (ExecutionException ex) { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); } } diff --git a/server/src/com/cloud/api/commands/StartVm2Cmd.java b/server/src/com/cloud/api/commands/StartVm2Cmd.java index c3b012dce64..01510150eb5 100644 --- a/server/src/com/cloud/api/commands/StartVm2Cmd.java +++ b/server/src/com/cloud/api/commands/StartVm2Cmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.offering.ServiceOffering; import com.cloud.storage.StoragePoolVO; import com.cloud.storage.VMTemplateVO; @@ -66,7 +61,7 @@ public class StartVm2Cmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ try { UserVm vm = _userVmService.startVirtualMachine(this); diff --git a/server/src/com/cloud/api/commands/StopRouter2Cmd.java b/server/src/com/cloud/api/commands/StopRouter2Cmd.java index bc25e53afd6..a925dc8127a 100644 --- a/server/src/com/cloud/api/commands/StopRouter2Cmd.java +++ b/server/src/com/cloud/api/commands/StopRouter2Cmd.java @@ -31,10 +31,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainRouterResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -91,14 +87,20 @@ public class StopRouter2Cmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ - DomainRouter router = _routerMgr.stopRouter(this); - if (router != null){ - DomainRouterResponse response =ApiResponseHelper.createDomainRouterResponse(router); - response.setResponseName(getName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to stop router"); + public void execute(){ + try { + DomainRouter router = _routerMgr.stopRouter(this); + if (router != null){ + DomainRouterResponse response =ApiResponseHelper.createDomainRouterResponse(router); + response.setResponseName(getName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to stop router"); + } + }catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + }catch (ResourceUnavailableException ex) { + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); } } } diff --git a/server/src/com/cloud/api/commands/StopRouterCmd.java b/server/src/com/cloud/api/commands/StopRouterCmd.java index d2487203919..c6ce0ed9cce 100644 --- a/server/src/com/cloud/api/commands/StopRouterCmd.java +++ b/server/src/com/cloud/api/commands/StopRouterCmd.java @@ -30,11 +30,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainRouterResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; import com.cloud.vm.DomainRouter; @@ -90,7 +85,7 @@ public class StopRouterCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DomainRouter result = _routerMgr.stopRouter(this); if (result != null){ DomainRouterResponse response =ApiResponseHelper.createDomainRouterResponse(result); diff --git a/server/src/com/cloud/api/commands/StopSystemVm2Cmd.java b/server/src/com/cloud/api/commands/StopSystemVm2Cmd.java index d882fc300b0..f2e38f89475 100644 --- a/server/src/com/cloud/api/commands/StopSystemVm2Cmd.java +++ b/server/src/com/cloud/api/commands/StopSystemVm2Cmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SystemVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VMInstanceVO; @@ -90,7 +85,7 @@ public class StopSystemVm2Cmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ VirtualMachine instance = _mgr.stopSystemVm(this); if (instance != null){ SystemVmResponse response = ApiResponseHelper.createSystemVmResponse((VMInstanceVO)instance); diff --git a/server/src/com/cloud/api/commands/StopSystemVmCmd.java b/server/src/com/cloud/api/commands/StopSystemVmCmd.java index 54f312c6a2f..36a06adfc14 100644 --- a/server/src/com/cloud/api/commands/StopSystemVmCmd.java +++ b/server/src/com/cloud/api/commands/StopSystemVmCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SystemVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VMInstanceVO; @@ -89,7 +84,7 @@ public class StopSystemVmCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ VMInstanceVO result = _mgr.stopSystemVM(this); if (result != null) { SystemVmResponse response = ApiResponseHelper.createSystemVmResponse(result); diff --git a/server/src/com/cloud/api/commands/StopVMCmd.java b/server/src/com/cloud/api/commands/StopVMCmd.java index 6fefcda046d..cb76dadddda 100644 --- a/server/src/com/cloud/api/commands/StopVMCmd.java +++ b/server/src/com/cloud/api/commands/StopVMCmd.java @@ -29,12 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.StorageUnavailableException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -93,7 +87,7 @@ public class StopVMCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ UserVm result = _userVmService.stopVirtualMachine(this); if (result != null) { UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); diff --git a/server/src/com/cloud/api/commands/StopVm2Cmd.java b/server/src/com/cloud/api/commands/StopVm2Cmd.java index 3b924b74689..e1bee7cb716 100644 --- a/server/src/com/cloud/api/commands/StopVm2Cmd.java +++ b/server/src/com/cloud/api/commands/StopVm2Cmd.java @@ -30,10 +30,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -62,11 +58,15 @@ public class StopVm2Cmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ - UserVm userVm = _userVmService.stopVirtualMachine(this); - UserVmResponse response = ApiResponseHelper.createUserVmResponse(userVm); - response.setResponseName(getName()); - this.setResponseObject(response); + public void execute(){ + try { + UserVm userVm = _userVmService.stopVirtualMachine(this); + UserVmResponse response = ApiResponseHelper.createUserVmResponse(userVm); + response.setResponseName(getName()); + this.setResponseObject(response); + } catch (ConcurrentOperationException ex) { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } } @Override diff --git a/server/src/com/cloud/api/commands/UpdateAccountCmd.java b/server/src/com/cloud/api/commands/UpdateAccountCmd.java index 42043ec469e..7024fdde276 100644 --- a/server/src/com/cloud/api/commands/UpdateAccountCmd.java +++ b/server/src/com/cloud/api/commands/UpdateAccountCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; @Implementation(description="Updates account information for the authenticated user", responseObject=AccountResponse.class) @@ -77,7 +72,7 @@ public class UpdateAccountCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Account result = _accountService.updateAccount(this); if (result != null){ AccountResponse response = ApiResponseHelper.createAccountResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateCfgCmd.java b/server/src/com/cloud/api/commands/UpdateCfgCmd.java index 6d2aaef3aba..5523613666a 100644 --- a/server/src/com/cloud/api/commands/UpdateCfgCmd.java +++ b/server/src/com/cloud/api/commands/UpdateCfgCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.ConfigurationResponse; import com.cloud.configuration.Configuration; import com.cloud.configuration.ConfigurationVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Updates a configuration.", responseObject=ConfigurationResponse.class) public class UpdateCfgCmd extends BaseCmd { @@ -71,7 +66,7 @@ public class UpdateCfgCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Configuration cfg = _configService.updateConfiguration(this); if (cfg != null) { ConfigurationResponse response = ApiResponseHelper.createConfigurationResponse((ConfigurationVO)cfg); diff --git a/server/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java b/server/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java index 1fe2db90116..a3fcbca4449 100644 --- a/server/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java +++ b/server/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DiskOfferingResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.offering.DiskOffering; import com.cloud.storage.DiskOfferingVO; @@ -85,7 +80,7 @@ public class UpdateDiskOfferingCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DiskOffering result = _configService.updateDiskOffering(this); if (result != null){ DiskOfferingResponse response = ApiResponseHelper.createDiskOfferingResponse((DiskOfferingVO)result); diff --git a/server/src/com/cloud/api/commands/UpdateDomainCmd.java b/server/src/com/cloud/api/commands/UpdateDomainCmd.java index 6590aa7c9a3..6d8958c4fd6 100644 --- a/server/src/com/cloud/api/commands/UpdateDomainCmd.java +++ b/server/src/com/cloud/api/commands/UpdateDomainCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainResponse; import com.cloud.domain.DomainVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Updates a domain with a new name", responseObject=DomainResponse.class) public class UpdateDomainCmd extends BaseCmd { @@ -70,7 +65,7 @@ public class UpdateDomainCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DomainVO domain = _mgr.updateDomain(this); if (domain != null) { DomainResponse response = ApiResponseHelper.createDomainResponse(domain); diff --git a/server/src/com/cloud/api/commands/UpdateHostCmd.java b/server/src/com/cloud/api/commands/UpdateHostCmd.java index 6a58bff2502..d894e57ec05 100644 --- a/server/src/com/cloud/api/commands/UpdateHostCmd.java +++ b/server/src/com/cloud/api/commands/UpdateHostCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.HostResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.host.HostVO; @Implementation(description="Updates a host.", responseObject=HostResponse.class) @@ -75,7 +70,7 @@ public class UpdateHostCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ HostVO result = _agentMgr.updateHost(this); if (result != null) { HostResponse hostResponse = ApiResponseHelper.createHostResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateIsoCmd.java b/server/src/com/cloud/api/commands/UpdateIsoCmd.java index 7711c952c22..47a9b52e4d5 100755 --- a/server/src/com/cloud/api/commands/UpdateIsoCmd.java +++ b/server/src/com/cloud/api/commands/UpdateIsoCmd.java @@ -24,12 +24,6 @@ import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.ServerApiException; import com.cloud.api.response.TemplateResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.VMTemplateVO; @Implementation(description="Updates an ISO file.", responseObject=TemplateResponse.class) @@ -59,7 +53,7 @@ public class UpdateIsoCmd extends UpdateTemplateOrIsoCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ VMTemplateVO result = _mgr.updateTemplate(this); TemplateResponse response = new TemplateResponse(); if (result != null) { diff --git a/server/src/com/cloud/api/commands/UpdateIsoPermissionsCmd.java b/server/src/com/cloud/api/commands/UpdateIsoPermissionsCmd.java index 18b68fa3817..326431cd180 100644 --- a/server/src/com/cloud/api/commands/UpdateIsoPermissionsCmd.java +++ b/server/src/com/cloud/api/commands/UpdateIsoPermissionsCmd.java @@ -6,12 +6,6 @@ import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; @Implementation(description="Updates iso permissions", responseObject=SuccessResponse.class) public class UpdateIsoPermissionsCmd extends UpdateTemplateOrIsoPermissionsCmd { @@ -24,7 +18,7 @@ public class UpdateIsoPermissionsCmd extends UpdateTemplateOrIsoPermissionsCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ boolean result = _mgr.updateTemplatePermissions(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java b/server/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java index 7967d43dce4..c7decac5f37 100644 --- a/server/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java +++ b/server/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.LoadBalancerResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.LoadBalancerVO; import com.cloud.user.Account; @@ -114,7 +109,7 @@ public class UpdateLoadBalancerRuleCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ LoadBalancerVO result = _networkMgr.updateLoadBalancerRule(this); if (result != null){ LoadBalancerResponse response = ApiResponseHelper.createLoadBalancerResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdatePodCmd.java b/server/src/com/cloud/api/commands/UpdatePodCmd.java index 416e8d58e14..8b21a8dd10c 100644 --- a/server/src/com/cloud/api/commands/UpdatePodCmd.java +++ b/server/src/com/cloud/api/commands/UpdatePodCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.PodResponse; import com.cloud.dc.HostPodVO; import com.cloud.dc.Pod; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Updates a Pod.", responseObject=PodResponse.class) public class UpdatePodCmd extends BaseCmd { @@ -100,7 +95,7 @@ public class UpdatePodCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ Pod result = _configService.editPod(this); if (result != null) { PodResponse response = ApiResponseHelper.createPodResponse((HostPodVO)result); diff --git a/server/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java b/server/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java index 8e4019aef61..49b3650e65e 100644 --- a/server/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java +++ b/server/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java @@ -12,11 +12,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.FirewallRuleResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.network.FirewallRuleVO; import com.cloud.network.IPAddressVO; import com.cloud.user.Account; @@ -107,7 +102,7 @@ public class UpdatePortForwardingRuleCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ FirewallRuleVO result = _mgr.updatePortForwardingRule(this); if (result != null) { FirewallRuleResponse response = ApiResponseHelper.createFirewallRuleResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java b/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java index d45e5cd9ae5..6f318e7cc45 100644 --- a/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java +++ b/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java @@ -28,11 +28,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.ResourceLimitResponse; import com.cloud.configuration.ResourceLimit; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Updates resource limits for an account or domain.", responseObject=ResourceLimitResponse.class) public class UpdateResourceLimitCmd extends BaseCmd { @@ -91,7 +86,7 @@ public class UpdateResourceLimitCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ ResourceLimit result = _accountService.updateResourceLimit(this); if (result != null){ ResourceLimitResponse response = ApiResponseHelper.createResourceLimitResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java b/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java index 328d7e040ce..1771e08687b 100644 --- a/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java +++ b/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.ServiceOfferingResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.offering.ServiceOffering; import com.cloud.service.ServiceOfferingVO; @@ -99,7 +94,7 @@ public class UpdateServiceOfferingCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ ServiceOffering result = _configService.updateServiceOffering(this); if (result != null){ ServiceOfferingResponse response = ApiResponseHelper.createServiceOfferingResponse((ServiceOfferingVO)result); diff --git a/server/src/com/cloud/api/commands/UpdateStoragePoolCmd.java b/server/src/com/cloud/api/commands/UpdateStoragePoolCmd.java index 8f87d660ab1..a3f22edc0ce 100644 --- a/server/src/com/cloud/api/commands/UpdateStoragePoolCmd.java +++ b/server/src/com/cloud/api/commands/UpdateStoragePoolCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.StoragePoolResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.storage.StoragePoolVO; @Implementation(description="Updates a storage pool.", responseObject=StoragePoolResponse.class) @@ -72,7 +67,7 @@ public class UpdateStoragePoolCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ StoragePoolVO result = _storageMgr.updateStoragePool(this); if (result != null){ StoragePoolResponse response = ApiResponseHelper.createStoragePoolResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateTemplateCmd.java b/server/src/com/cloud/api/commands/UpdateTemplateCmd.java index a5a065176da..b23c5bfa783 100755 --- a/server/src/com/cloud/api/commands/UpdateTemplateCmd.java +++ b/server/src/com/cloud/api/commands/UpdateTemplateCmd.java @@ -24,12 +24,6 @@ import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.ServerApiException; import com.cloud.api.response.TemplateResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.storage.VMTemplateVO; @Implementation(description="Updates attributes of a template.", responseObject=TemplateResponse.class) @@ -60,7 +54,7 @@ public class UpdateTemplateCmd extends UpdateTemplateOrIsoCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ VMTemplateVO result = _mgr.updateTemplate(this); TemplateResponse response = new TemplateResponse(); if (result != null) { diff --git a/server/src/com/cloud/api/commands/UpdateTemplateOrIsoPermissionsCmd.java b/server/src/com/cloud/api/commands/UpdateTemplateOrIsoPermissionsCmd.java index 1299d2976af..77a39f5fb11 100644 --- a/server/src/com/cloud/api/commands/UpdateTemplateOrIsoPermissionsCmd.java +++ b/server/src/com/cloud/api/commands/UpdateTemplateOrIsoPermissionsCmd.java @@ -7,13 +7,6 @@ import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; import com.cloud.api.BaseCmd; import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; public abstract class UpdateTemplateOrIsoPermissionsCmd extends BaseCmd { public Logger s_logger = getLogger(); @@ -82,7 +75,7 @@ public abstract class UpdateTemplateOrIsoPermissionsCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ //method is implemented in updateTemplate/updateIsoPermissions } } diff --git a/server/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java b/server/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java index ff40b2e9d23..cf68f3ef60a 100644 --- a/server/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java +++ b/server/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java @@ -24,12 +24,6 @@ import com.cloud.api.BaseCmd; import com.cloud.api.Implementation; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceUnavailableException; @Implementation(responseObject=SuccessResponse.class, description="Updates a template visibility permissions. " + "A public template is visible to all accounts within the same domain. " + @@ -46,7 +40,7 @@ public class UpdateTemplatePermissionsCmd extends UpdateTemplateOrIsoPermissions } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException{ + public void execute(){ boolean result = _mgr.updateTemplatePermissions(this); if (result) { SuccessResponse response = new SuccessResponse(getName()); diff --git a/server/src/com/cloud/api/commands/UpdateUserCmd.java b/server/src/com/cloud/api/commands/UpdateUserCmd.java index 2cff3402ea9..dc2c2fe87f1 100644 --- a/server/src/com/cloud/api/commands/UpdateUserCmd.java +++ b/server/src/com/cloud/api/commands/UpdateUserCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.UserAccount; @Implementation(description="Updates a user account", responseObject=UserResponse.class) @@ -120,7 +115,7 @@ public class UpdateUserCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ UserAccount user = _accountService.updateUser(this); if (user != null){ UserResponse response = ApiResponseHelper.createUserResponse(user); diff --git a/server/src/com/cloud/api/commands/UpdateVMCmd.java b/server/src/com/cloud/api/commands/UpdateVMCmd.java index 0b0ffc39f0c..154718d7a01 100644 --- a/server/src/com/cloud/api/commands/UpdateVMCmd.java +++ b/server/src/com/cloud/api/commands/UpdateVMCmd.java @@ -26,12 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.StorageUnavailableException; import com.cloud.uservm.UserVm; @Implementation(description="Updates parameters of a virtual machine.", responseObject=UserVmResponse.class) @@ -89,7 +83,7 @@ public class UpdateVMCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ UserVm result = _userVmService.updateVirtualMachine(this); if (result != null){ UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateVMGroupCmd.java b/server/src/com/cloud/api/commands/UpdateVMGroupCmd.java index 5658490b19e..f2a94b7b99c 100644 --- a/server/src/com/cloud/api/commands/UpdateVMGroupCmd.java +++ b/server/src/com/cloud/api/commands/UpdateVMGroupCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.InstanceGroupResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.InstanceGroupVO; @Implementation(description="Updates a vm group", responseObject=InstanceGroupResponse.class) @@ -71,7 +66,7 @@ public class UpdateVMGroupCmd extends BaseCmd{ } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ InstanceGroupVO result = _mgr.updateVmGroup(this); if (result != null){ InstanceGroupResponse response = ApiResponseHelper.createInstanceGroupResponse(result); diff --git a/server/src/com/cloud/api/commands/UpdateZoneCmd.java b/server/src/com/cloud/api/commands/UpdateZoneCmd.java index bf65cb08756..124b293f660 100644 --- a/server/src/com/cloud/api/commands/UpdateZoneCmd.java +++ b/server/src/com/cloud/api/commands/UpdateZoneCmd.java @@ -29,11 +29,6 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.ZoneResponse; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; @Implementation(description="Updates a Zone.", responseObject=ZoneResponse.class) public class UpdateZoneCmd extends BaseCmd { @@ -133,7 +128,7 @@ public class UpdateZoneCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DataCenter result = _configService.editZone(this); if (result != null) { ZoneResponse response = ApiResponseHelper.createZoneResponse((DataCenterVO)result); diff --git a/server/src/com/cloud/api/commands/UpgradeRouterCmd.java b/server/src/com/cloud/api/commands/UpgradeRouterCmd.java index dfea4e61af7..1f429c4fec5 100644 --- a/server/src/com/cloud/api/commands/UpgradeRouterCmd.java +++ b/server/src/com/cloud/api/commands/UpgradeRouterCmd.java @@ -26,11 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.DomainRouterResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.vm.DomainRouter; @Implementation(description="Upgrades domain router to a new service offering", responseObject=DomainRouterResponse.class) @@ -70,7 +65,7 @@ public class UpgradeRouterCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ DomainRouter router = _networkMgr.upgradeRouter(this); if (router != null){ DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(router); diff --git a/server/src/com/cloud/api/commands/UpgradeVMCmd.java b/server/src/com/cloud/api/commands/UpgradeVMCmd.java index 6c2cf62a6ec..35a3d346105 100644 --- a/server/src/com/cloud/api/commands/UpgradeVMCmd.java +++ b/server/src/com/cloud/api/commands/UpgradeVMCmd.java @@ -26,12 +26,6 @@ import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.UserVmResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.StorageUnavailableException; import com.cloud.uservm.UserVm; @Implementation(responseObject=UserVmResponse.class, description="Changes the service offering for a virtual machine. " + @@ -77,7 +71,7 @@ public class UpgradeVMCmd extends BaseCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException, StorageUnavailableException{ + public void execute(){ UserVm result = _userVmService.upgradeVirtualMachine(this); if (result != null){ UserVmResponse response = ApiResponseHelper.createUserVmResponse(result); diff --git a/server/src/com/cloud/api/commands/UploadCustomCertificateCmd.java b/server/src/com/cloud/api/commands/UploadCustomCertificateCmd.java index 15c03375416..a968f6735cd 100644 --- a/server/src/com/cloud/api/commands/UploadCustomCertificateCmd.java +++ b/server/src/com/cloud/api/commands/UploadCustomCertificateCmd.java @@ -27,11 +27,6 @@ import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.CustomCertificateResponse; import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientAddressCapacityException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; import com.cloud.user.Account; @Implementation(responseObject=CustomCertificateResponse.class, description="Uploads custom certificate") @@ -72,7 +67,7 @@ public class UploadCustomCertificateCmd extends BaseAsyncCmd { } @Override - public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{ + public void execute(){ String result = _mgr.uploadCertificate(this); if (result != null){ CustomCertificateResponse response = new CustomCertificateResponse(); diff --git a/server/src/com/cloud/api/response/ApiResponseSerializer.java b/server/src/com/cloud/api/response/ApiResponseSerializer.java index 18d3801fefc..2615df5052d 100644 --- a/server/src/com/cloud/api/response/ApiResponseSerializer.java +++ b/server/src/com/cloud/api/response/ApiResponseSerializer.java @@ -4,6 +4,7 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -90,16 +91,18 @@ public class ApiResponseSerializer { sb.append(""); return sb.toString(); } - - private static void serializeResponseObjXML(StringBuilder sb, ResponseObject obj) { - if (!(obj instanceof SuccessResponse)&& !(obj instanceof ExceptionResponse)) + + private static void serializeResponseObjXML(StringBuilder sb, ResponseObject obj){ + if (!(obj instanceof SuccessResponse)&& !(obj instanceof ExceptionResponse)){ sb.append("<" + obj.getObjectName() + ">"); - serializeResponseObjFieldsXML(sb, obj); - if (!(obj instanceof SuccessResponse) && !(obj instanceof ExceptionResponse)) + } + serializeResponseObjFieldsXML(sb, obj); + if (!(obj instanceof SuccessResponse) && !(obj instanceof ExceptionResponse)){ sb.append(""); + } } - private static void serializeResponseObjFieldsXML(StringBuilder sb, ResponseObject obj) { + private static void serializeResponseObjFieldsXML(StringBuilder sb, ResponseObject obj){ boolean isAsync = false; if (obj instanceof AsyncJobResponse) isAsync = true; @@ -130,7 +133,16 @@ public class ApiResponseSerializer { if (isAsync) { sb.append(""); } - } else if (fieldValue instanceof Date) { + } else if (fieldValue instanceof ArrayList){ + ArrayList subResponseList = (ArrayList)fieldValue; + for (Object value: subResponseList) { + if (value instanceof ResponseObject){ + ResponseObject subObj = (ResponseObject)value; + serializeResponseObjXML(sb, subObj); + } + } + + }else if (fieldValue instanceof Date) { sb.append("<" + serializedName.value() + ">" + BaseCmd.getDateString((Date)fieldValue) + ""); } else { sb.append("<" + serializedName.value() + ">" + fieldValue.toString() + ""); diff --git a/server/src/com/cloud/async/executor/DestroyVMExecutor.java b/server/src/com/cloud/async/executor/DestroyVMExecutor.java index 036638875ad..a2ab04a6139 100644 --- a/server/src/com/cloud/async/executor/DestroyVMExecutor.java +++ b/server/src/com/cloud/async/executor/DestroyVMExecutor.java @@ -132,7 +132,7 @@ public class DestroyVMExecutor extends VMOperationExecutor { } else { asyncMgr.getExecutorContext().getVmDao().updateIf(vm, Event.OperationFailed, vm.getHostId()); asyncMgr.completeAsyncJob(getJob().getId(), - AsyncJobResult.STATUS_FAILED, BaseCmd.INTERNAL_ERROR, "Agent failed to stop VM: " + vm.getHostName()); + AsyncJobResult.STATUS_FAILED, BaseCmd.INTERNAL_ERROR, "Agent failed to stop VM: " + vm.getHostName()); // managementServer.saveEvent(param.getUserId(), vm.getAccountId(), EventVO.LEVEL_ERROR, EventTypes.EVENT_VM_STOP, // "failed to stop VM instance : " + vm.getName(), params, param.getChildEventId()); // managementServer.saveEvent(param.getUserId(), param.getAccountId(), EventVO.LEVEL_ERROR, EventTypes.EVENT_VM_DESTROY, diff --git a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java index 9eeb82fb6f6..3500cfb21be 100644 --- a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java +++ b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java @@ -27,7 +27,6 @@ import com.cloud.exception.DiscoveryException; import com.cloud.host.Host; import com.cloud.host.HostVO; import com.cloud.host.Status; -import com.cloud.host.Status.Event; import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.hypervisor.kvm.resource.KvmDummyResourceBase; diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 22b06f3165a..96ecd5070c3 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -3000,7 +3000,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag txn.commit(); } catch (Exception e) { txn.rollback(); - throw new ServerApiException(BaseCmd.NET_CREATE_IPFW_RULE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); }finally{ if(locked){ _ipAddressDao.releaseFromLockTable(ipAddress.getAddress()); @@ -3084,7 +3084,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } catch (Exception e) { s_logger.warn("Unable to create new firewall rule for 1:1 NAT"); txn.rollback(); - throw new ServerApiException(BaseCmd.IP_ALLOCATION_ERROR,"Unable to create new firewall rule for 1:1 NAT:"+e.getMessage()); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR,"Unable to create new firewall rule for 1:1 NAT:"+e.getMessage()); }finally{ if(locked) _vmDao.releaseFromLockTable(userVM.getId()); diff --git a/server/src/com/cloud/network/security/NetworkGroupManagerImpl.java b/server/src/com/cloud/network/security/NetworkGroupManagerImpl.java index fe8b93ceebe..a17612cd612 100644 --- a/server/src/com/cloud/network/security/NetworkGroupManagerImpl.java +++ b/server/src/com/cloud/network/security/NetworkGroupManagerImpl.java @@ -659,44 +659,44 @@ public class NetworkGroupManagerImpl implements NetworkGroupManager { //FIXME: for exceptions below, add new enums to BaseCmd.PARAM_ to reflect the error condition more precisely if (!NetUtils.isValidNetworkGroupProto(protocol)) { s_logger.debug("Invalid protocol specified " + protocol); - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid protocol " + protocol); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid protocol " + protocol); } if ("icmp".equalsIgnoreCase(protocol) ) { if ((icmpType == null) || (icmpCode == null)) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid ICMP type/code specified, icmpType = " + icmpType + ", icmpCode = " + icmpCode); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid ICMP type/code specified, icmpType = " + icmpType + ", icmpCode = " + icmpCode); } if (icmpType == -1 && icmpCode != -1) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid icmp type range" ); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid icmp type range" ); } if (icmpCode > 255) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid icmp code " ); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid icmp code " ); } startPortOrType = icmpType; endPortOrCode= icmpCode; } else if (protocol.equals("all")) { if ((startPort != null) || (endPort != null)) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Cannot specify startPort or endPort without specifying protocol"); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Cannot specify startPort or endPort without specifying protocol"); } startPortOrType = 0; endPortOrCode = 0; } else { if ((startPort == null) || (endPort == null)) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port range specified, startPort = " + startPort + ", endPort = " + endPort); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid port range specified, startPort = " + startPort + ", endPort = " + endPort); } if (startPort == 0 && endPort == 0) { endPort = 65535; } if (startPort > endPort) { s_logger.debug("Invalid port range specified: " + startPort + ":" + endPort); - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port range " ); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid port range " ); } if (startPort > 65535 || endPort > 65535 || startPort < -1 || endPort < -1) { s_logger.debug("Invalid port numbers specified: " + startPort + ":" + endPort); - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port numbers " ); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid port numbers " ); } if (startPort < 0 || endPort < 0) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid port range " ); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid port range " ); } startPortOrType = startPort; endPortOrCode= endPort; @@ -746,13 +746,13 @@ public class NetworkGroupManagerImpl implements NetworkGroupManager { List authorizedCidrs = new ArrayList(); if (cidrList != null) { if (protocol.equals("all")) { - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Cannot specify cidrs without specifying protocol and ports."); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Cannot specify cidrs without specifying protocol and ports."); } cidrs = cidrList.split(","); for (String cidr: cidrs) { if (!NetUtils.isValidCIDR(cidr)) { s_logger.debug( "Invalid cidr (" + cidr + ") given, unable to revoke ingress."); - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid cidr (" + cidr + ") given, unable to revoke ingress."); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid cidr (" + cidr + ") given, unable to revoke ingress."); } authorizedCidrs.add(cidr); } @@ -783,7 +783,7 @@ public class NetworkGroupManagerImpl implements NetworkGroupManager { if (s_logger.isDebugEnabled()) { s_logger.debug("Nonexistent group and/or accountId: " + accountId + ", groupName=" + group); } - throw new ServerApiException(BaseCmd.NET_INVALID_PARAM_ERROR, "Invalid account/group pair (" + userGroup + ") given, unable to revoke ingress."); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid account/group pair (" + userGroup + ") given, unable to revoke ingress."); } authorizedGroups.add(groupVO); } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index e70ada86097..bf5dddfee6e 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -3961,7 +3961,7 @@ public class ManagementServerImpl implements ManagementServer { VMTemplateVO template = _templateDao.findById(id); if (template == null || !templateIsCorrectType(template)) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "unable to find " + mediaType + " with id " + id); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find " + mediaType + " with id " + id); } if(cmd instanceof UpdateTemplatePermissionsCmd) @@ -3969,7 +3969,7 @@ public class ManagementServerImpl implements ManagementServer { mediaType = "template"; if(template.getFormat().equals(ImageFormat.ISO)) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Please provide a valid template"); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Please provide a valid template"); } } if(cmd instanceof UpdateIsoPermissionsCmd) @@ -3977,7 +3977,7 @@ public class ManagementServerImpl implements ManagementServer { mediaType = "iso"; if(!template.getFormat().equals(ImageFormat.ISO)) { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Please provide a valid iso"); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Please provide a valid iso"); } } @@ -5504,38 +5504,42 @@ public class ManagementServerImpl implements ManagementServer { }catch (Exception e) { s_logger.warn("Failed to successfully update the cert across console proxies on management server:"+this.getId()); if(e instanceof ResourceUnavailableException) - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, e.getMessage()); - if(e instanceof ManagementServerException) - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, e.getMessage()); - if(e instanceof IndexOutOfBoundsException){ + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, e.getMessage()); + else if(e instanceof ManagementServerException) + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); + else if(e instanceof IndexOutOfBoundsException){ String msg = "Custom certificate record in the db deleted; this should never happen. Please create a new record in the certificate table"; s_logger.error(msg,e); - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, msg); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, msg); } - if(e instanceof FileNotFoundException){ + else if(e instanceof FileNotFoundException){ String msg = "Invalid file path for custom cert found during cert validation"; s_logger.error(msg,e); - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, msg); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, msg); } - if(e instanceof CertificateException){ + else if(e instanceof CertificateException){ String msg = "The file format for custom cert does not conform to the X.509 specification"; s_logger.error(msg,e); - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, msg); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, msg); } - if(e instanceof UnsupportedEncodingException){ + else if(e instanceof UnsupportedEncodingException){ String msg = "Unable to encode the certificate into UTF-8 input stream for validation"; s_logger.error(msg,e); - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, msg); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, msg); } - if(e instanceof IOException){ + else if(e instanceof IOException){ String msg = "Cannot generate input stream during custom cert validation"; s_logger.error(msg,e); - throw new ServerApiException(BaseCmd.CUSTOM_CERT_UPDATE_ERROR, msg); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, msg); + } else { + String msg = "Cannot upload custom certificate, internal error."; + s_logger.error(msg,e); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, msg); } + }finally{ _certDao.releaseFromLockTable(cert.getId()); } - return null; } @Override diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index b81f6490a84..856eb88c252 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -1743,7 +1743,7 @@ public class StorageManagerImpl implements StorageManager { Long snapshotId = cmd.getSnapshotId(); Snapshot snapshotCheck = _snapshotDao.findById(snapshotId); if (snapshotCheck == null) { - throw new ServerApiException (BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "unable to find a snapshot with id " + snapshotId); + throw new ServerApiException (BaseCmd.PARAM_ERROR, "unable to find a snapshot with id " + snapshotId); } VolumeVO vol = _volsDao.findById(snapshotCheck.getVolumeId()); @@ -1758,7 +1758,7 @@ public class StorageManagerImpl implements StorageManager { throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, "Unable to create volume from snapshot with id " + snapshotId + ", permission denied."); } } else if (account.getId() != snapshotCheck.getAccountId()) { - throw new ServerApiException(BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "unable to find a snapshot with id " + snapshotId + " for this account"); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a snapshot with id " + snapshotId + " for this account"); } } } @@ -2358,19 +2358,15 @@ public class StorageManagerImpl implements StorageManager { } catch (Exception e) { if(e instanceof ResourceUnavailableException){ s_logger.error("Exception in enabling primary storage maintenance:",e); - throw new ServerApiException(BaseCmd.PREPARE_STORAGE_MAINTENANCE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, e.getMessage()); } if(e instanceof InvalidParameterValueException){ s_logger.error("Exception in enabling primary storage maintenance:",e); - throw new ServerApiException(BaseCmd.PREPARE_STORAGE_MAINTENANCE_ERROR, e.getMessage()); - } - if(e instanceof CloudRuntimeException){ - s_logger.error("Exception in enabling primary storage maintenance:",e); - throw new ServerApiException(BaseCmd.PREPARE_STORAGE_MAINTENANCE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.PARAM_ERROR, e.getMessage()); } //for everything else s_logger.error("Exception in enabling primary storage maintenance:",e); - throw new ServerApiException(BaseCmd.PREPARE_STORAGE_MAINTENANCE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); }finally{ _storagePoolDao.releaseFromLockTable(primaryStorage.getId()); @@ -2516,21 +2512,17 @@ public class StorageManagerImpl implements StorageManager { if(e instanceof ResourceUnavailableException){ primaryStorage.setStatus(Status.ErrorInMaintenance); _storagePoolDao.persist(primaryStorage); - throw new ServerApiException(BaseCmd.CANCEL_STORAGE_MAINTENANCE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, e.getMessage()); } else if(e instanceof InvalidParameterValueException){ primaryStorage.setStatus(Status.ErrorInMaintenance); _storagePoolDao.persist(primaryStorage); - throw new ServerApiException(BaseCmd.CANCEL_STORAGE_MAINTENANCE_ERROR, e.getMessage()); - } - else if(e instanceof StorageUnavailableException){ - //the ps was not in maintenance mode; dont reset state as maintenance did not begin - throw new ServerApiException(BaseCmd.CANCEL_STORAGE_MAINTENANCE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.PARAM_ERROR, e.getMessage()); } else{//all other exceptions primaryStorage.setStatus(Status.ErrorInMaintenance); _storagePoolDao.persist(primaryStorage); - throw new ServerApiException(BaseCmd.CANCEL_STORAGE_MAINTENANCE_ERROR, e.getMessage()); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); } }finally{ _storagePoolDao.releaseFromLockTable(primaryStorage.getId()); diff --git a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java index 5d279c58f18..f8cfeb23559 100755 --- a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java +++ b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java @@ -602,13 +602,13 @@ public class SnapshotManagerImpl implements SnapshotManager { //Verify parameters Snapshot snapshotCheck = _snapshotDao.findById(snapshotId.longValue()); if (snapshotCheck == null) { - throw new ServerApiException (BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "unable to find a snapshot with id " + snapshotId); + throw new ServerApiException (BaseCmd.PARAM_ERROR, "unable to find a snapshot with id " + snapshotId); } // If an account was passed in, make sure that it matches the account of the snapshot Account snapshotOwner = _accountDao.findById(snapshotCheck.getAccountId()); if (snapshotOwner == null) { - throw new ServerApiException(BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "Snapshot id " + snapshotId + " does not have a valid account"); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "Snapshot id " + snapshotId + " does not have a valid account"); } checkAccountPermissions(snapshotOwner.getId(), snapshotOwner.getDomainId(), "snapshot", snapshotId); diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index 84f5d8618ba..8acac7d23ee 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -1173,7 +1173,7 @@ public class TemplateManagerImpl implements TemplateManager { // Verify input parameters UserVmVO vmInstanceCheck = _userVmDao.findById(vmId.longValue()); if (vmInstanceCheck == null) { - throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "Unable to find a virtual machine with id " + vmId); + throw new ServerApiException (BaseCmd.PARAM_ERROR, "Unable to find a virtual machine with id " + vmId); } UserVm userVM = _userVmDao.findById(vmId); diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 2fb1d60f451..6deda9983ed 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -391,7 +391,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM // Check that the device ID is valid if( deviceId != null ) { if(deviceId.longValue() == 0) { - throw new ServerApiException (BaseCmd.VM_INVALID_PARAM_ERROR, "deviceId can't be 0, which is used by Root device"); + throw new ServerApiException (BaseCmd.PARAM_ERROR, "deviceId can't be 0, which is used by Root device"); } } @@ -775,7 +775,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM s_logger.debug("Unable to start vm because storage is unavailable: " + e.getMessage()); executor.getAsyncJobMgr().completeAsyncJob(executor.getJob().getId(), - AsyncJobResult.STATUS_FAILED, BaseCmd.VM_ALLOCATION_ERROR, "Unable to start vm because storage is unavailable"); + AsyncJobResult.STATUS_FAILED, BaseCmd.RESOURCE_UNAVAILABLE_ERROR, "Unable to start vm because storage is unavailable"); } catch (ConcurrentOperationException e) { s_logger.debug(e.getMessage()); @@ -1357,7 +1357,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM // Verify input parameters UserVmVO vmInstance = _vmDao.findById(virtualMachineId); if (vmInstance == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + virtualMachineId); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + virtualMachineId); } userId = accountAndUserValidation(virtualMachineId, account, userId,vmInstance); @@ -1426,7 +1426,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM private Long accountAndUserValidation(Long virtualMachineId,Account account, Long userId, UserVmVO vmInstance) throws ServerApiException { if (account != null) { if (!isAdmin(account.getType()) && (account.getId() != vmInstance.getAccountId())) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + virtualMachineId + " for this account"); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + virtualMachineId + " for this account"); } else if (!_domainDao.isChildDomain(account.getDomainId(),vmInstance.getDomainId())) { throw new ServerApiException(BaseCmd.PARAM_ERROR, "Invalid virtual machine id (" + virtualMachineId + ") given, unable to upgrade virtual machine."); } @@ -1899,7 +1899,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM UserVmVO vm = _vmDao.findById(vmId.longValue()); if (vm == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + vmId); } if ((accountHandle != null) && !_domainDao.isChildDomain(accountHandle.getDomainId(), vm.getDomainId())) { @@ -3313,7 +3313,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM UserVmVO vmInstance = _vmDao.findById(id); if (vmInstance == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + id); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + id); } long eventId = EventUtils.saveScheduledEvent(userId, vmInstance.getAccountId(), EventTypes.EVENT_VM_STOP, "stopping Vm with Id: "+id); @@ -3340,7 +3340,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM UserVmVO vmInstance = _vmDao.findById(id.longValue()); if (vmInstance == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + id); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + id); } long eventId = EventUtils.saveScheduledEvent(userId, vmInstance.getAccountId(), EventTypes.EVENT_VM_START, "Starting Vm with Id: "+id); @@ -3367,7 +3367,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM //Verify input parameters UserVmVO vmInstance = _vmDao.findById(vmId.longValue()); if (vmInstance == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + vmId); } userId = accountAndUserValidation(vmId, account, userId, vmInstance); @@ -3395,7 +3395,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM //Verify input parameters UserVmVO vmInstance = _vmDao.findById(vmId.longValue()); if (vmInstance == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + vmId); } userId = accountAndUserValidation(vmId, account, userId, vmInstance); @@ -3868,7 +3868,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM UserVmVO vm = _vmDao.findById(id.longValue()); if (vm == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + id); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + id); } long eventId = EventUtils.saveScheduledEvent(userId, vm.getAccountId(), EventTypes.EVENT_VM_START, "Starting Vm with Id: "+id); @@ -3888,7 +3888,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM //Verify input parameters UserVmVO vm = _vmDao.findById(vmId.longValue()); if (vm == null) { - throw new ServerApiException(BaseCmd.VM_INVALID_PARAM_ERROR, "unable to find a virtual machine with id " + vmId); + throw new ServerApiException(BaseCmd.PARAM_ERROR, "unable to find a virtual machine with id " + vmId); } userId = accountAndUserValidation(vmId, account, userId, vm);