From 698c1ebe12f1041e4f7b72fbbb39020dcd28c20b Mon Sep 17 00:00:00 2001 From: "U-CITRITE\\vijayendra1" Date: Thu, 2 Feb 2012 17:55:10 -0800 Subject: [PATCH] Bug 13127: API error text refer to database ids instead of uuids Description: 1) Adding two new classes, CloudException and RunTimeCloudException. The former extends Exception and the latter RunTimeException. These will be used by classes that formerly directly extended Exception and RuntimeException. These two classes have an attribute of type IdentityProxy to enable exceptions fill in db ids in separate attribute fields rather than in a string. Doing so will allow the serialization module (GSON for JSON and other for XML) to kick in and convert this db id to a uuid in ApiServer.java just before the JSON/XML responses are sent out. 2) Moving IdentityProxy.java from api/ to utils/ since both CloudException and RuntimeCloudException refer to it. 3) Changing references to IdentityProxy class from api/ to utils/. 4) While rebasing to master, a new file was added, merging api/src/com/cloud/api/response/IsoVmResponse.java to this diff. --- .../cloud/api/response/AccountResponse.java | 2 +- .../com/cloud/api/response/AlertResponse.java | 2 +- .../cloud/api/response/AsyncJobResponse.java | 2 +- .../com/cloud/api/response/BaseResponse.java | 2 +- .../cloud/api/response/CapacityResponse.java | 2 +- .../api/response/CloudIdentifierResponse.java | 2 +- .../cloud/api/response/ClusterResponse.java | 2 +- .../cloud/api/response/CreateCmdResponse.java | 2 +- .../api/response/DiskOfferingResponse.java | 2 +- .../cloud/api/response/DomainResponse.java | 2 +- .../api/response/DomainRouterResponse.java | 2 +- .../com/cloud/api/response/EventResponse.java | 2 +- .../cloud/api/response/ExtractResponse.java | 2 +- .../api/response/F5LoadBalancerResponse.java | 2 +- .../cloud/api/response/FirewallResponse.java | 2 +- .../api/response/FirewallRuleResponse.java | 2 +- .../api/response/GuestOSCategoryResponse.java | 2 +- .../cloud/api/response/GuestOSResponse.java | 2 +- .../com/cloud/api/response/HostResponse.java | 2 +- .../HypervisorCapabilitiesResponse.java | 2 +- .../cloud/api/response/IPAddressResponse.java | 2 +- .../api/response/InstanceGroupResponse.java | 2 +- .../response/IpForwardingRuleResponse.java | 2 +- .../com/cloud/api/response/IsoVmResponse.java | 146 ++++++++++++++++++ .../response/LBStickinessPolicyResponse.java | 2 +- .../api/response/LBStickinessResponse.java | 2 +- .../api/response/LoadBalancerResponse.java | 2 +- .../NetscalerLoadBalancerResponse.java | 2 +- .../api/response/NetworkOfferingResponse.java | 2 +- .../cloud/api/response/NetworkResponse.java | 2 +- .../com/cloud/api/response/NicResponse.java | 2 +- .../api/response/PhysicalNetworkResponse.java | 2 +- .../com/cloud/api/response/PodResponse.java | 2 +- .../api/response/ProjectAccountResponse.java | 2 +- .../response/ProjectInvitationResponse.java | 2 +- .../cloud/api/response/ProjectResponse.java | 2 +- .../cloud/api/response/ProviderResponse.java | 2 +- .../api/response/RemoteAccessVpnResponse.java | 2 +- .../api/response/ResourceCountResponse.java | 2 +- .../api/response/ResourceLimitResponse.java | 2 +- .../api/response/SecurityGroupResponse.java | 2 +- .../response/SecurityGroupRuleResponse.java | 2 +- .../api/response/ServiceOfferingResponse.java | 2 +- .../api/response/SnapshotPolicyResponse.java | 2 +- .../cloud/api/response/SnapshotResponse.java | 2 +- .../response/SnapshotScheduleResponse.java | 2 +- .../api/response/SrxFirewallResponse.java | 2 +- .../StorageNetworkIpRangeResponse.java | 2 +- .../api/response/StoragePoolResponse.java | 2 +- .../com/cloud/api/response/SwiftResponse.java | 2 +- .../response/SystemVmInstanceResponse.java | 2 +- .../cloud/api/response/SystemVmResponse.java | 2 +- .../response/TemplatePermissionsResponse.java | 2 +- .../cloud/api/response/TemplateResponse.java | 2 +- .../api/response/TrafficTypeResponse.java | 2 +- .../cloud/api/response/UpgradeVmResponse.java | 2 +- .../com/cloud/api/response/UserResponse.java | 2 +- .../cloud/api/response/UserVmResponse.java | 2 +- .../VirtualRouterProviderResponse.java | 2 +- .../api/response/VlanIpRangeResponse.java | 2 +- .../cloud/api/response/VolumeResponse.java | 2 +- .../cloud/api/response/VpnUsersResponse.java | 2 +- .../com/cloud/api/response/ZoneResponse.java | 2 +- .../com/cloud/exception/CloudException.java | 50 ++++++ .../exception/RuntimeCloudException.java | 50 ++++++ server/src/com/cloud/api/ApiGsonHelper.java | 3 +- .../com/cloud/api/ApiResponseGsonHelper.java | 1 + .../com/cloud/api/IdentityTypeAdapter.java | 2 + .../api/response/ApiResponseSerializer.java | 2 +- .../cloud/baremetal/DhcpServerResponse.java | 2 +- .../cloud/baremetal/PxeServerResponse.java | 2 +- .../response/BaremetalTemplateResponse.java | 2 +- .../response/ExternalFirewallResponse.java | 2 +- .../ExternalLoadBalancerResponse.java | 2 +- .../api/response/NetworkDeviceResponse.java | 2 +- .../response/NwDevicePxeServerResponse.java | 2 +- .../api/response/TrafficMonitorResponse.java | 2 +- .../api/response/UsageRecordResponse.java | 2 +- .../src/com/cloud/utils}/IdentityProxy.java | 2 +- 79 files changed, 324 insertions(+), 74 deletions(-) create mode 100755 api/src/com/cloud/api/response/IsoVmResponse.java create mode 100644 api/src/com/cloud/exception/CloudException.java create mode 100644 api/src/com/cloud/exception/RuntimeCloudException.java rename {api/src/com/cloud/api => utils/src/com/cloud/utils}/IdentityProxy.java (94%) diff --git a/api/src/com/cloud/api/response/AccountResponse.java b/api/src/com/cloud/api/response/AccountResponse.java index ae85734d9e0..1d9de5c4229 100755 --- a/api/src/com/cloud/api/response/AccountResponse.java +++ b/api/src/com/cloud/api/response/AccountResponse.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Map; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/AlertResponse.java b/api/src/com/cloud/api/response/AlertResponse.java index f5cc39ba0f1..52c56b9abab 100644 --- a/api/src/com/cloud/api/response/AlertResponse.java +++ b/api/src/com/cloud/api/response/AlertResponse.java @@ -21,7 +21,7 @@ import java.util.Date; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/AsyncJobResponse.java b/api/src/com/cloud/api/response/AsyncJobResponse.java index 466c3dc42eb..beecea198f4 100644 --- a/api/src/com/cloud/api/response/AsyncJobResponse.java +++ b/api/src/com/cloud/api/response/AsyncJobResponse.java @@ -22,7 +22,7 @@ import java.util.Date; import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.ResponseObject; import com.cloud.async.AsyncJob; import com.cloud.serializer.Param; diff --git a/api/src/com/cloud/api/response/BaseResponse.java b/api/src/com/cloud/api/response/BaseResponse.java index 94908f0330e..a696aafa551 100755 --- a/api/src/com/cloud/api/response/BaseResponse.java +++ b/api/src/com/cloud/api/response/BaseResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.ResponseObject; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/CapacityResponse.java b/api/src/com/cloud/api/response/CapacityResponse.java index d2a14bfb8c2..776c7b23ba4 100755 --- a/api/src/com/cloud/api/response/CapacityResponse.java +++ b/api/src/com/cloud/api/response/CapacityResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/CloudIdentifierResponse.java b/api/src/com/cloud/api/response/CloudIdentifierResponse.java index 62b1e6903e3..c3b84a2d86c 100644 --- a/api/src/com/cloud/api/response/CloudIdentifierResponse.java +++ b/api/src/com/cloud/api/response/CloudIdentifierResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ClusterResponse.java b/api/src/com/cloud/api/response/ClusterResponse.java index 3aab11ed918..7f33e9c564b 100755 --- a/api/src/com/cloud/api/response/ClusterResponse.java +++ b/api/src/com/cloud/api/response/ClusterResponse.java @@ -21,7 +21,7 @@ import java.util.ArrayList; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.Parameter; import com.cloud.api.BaseCmd.CommandType; import com.cloud.serializer.Param; diff --git a/api/src/com/cloud/api/response/CreateCmdResponse.java b/api/src/com/cloud/api/response/CreateCmdResponse.java index fbc4d898eb0..6c30297c456 100644 --- a/api/src/com/cloud/api/response/CreateCmdResponse.java +++ b/api/src/com/cloud/api/response/CreateCmdResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.google.gson.annotations.SerializedName; public class CreateCmdResponse extends BaseResponse { diff --git a/api/src/com/cloud/api/response/DiskOfferingResponse.java b/api/src/com/cloud/api/response/DiskOfferingResponse.java index 43f1a2214fd..7f605936818 100644 --- a/api/src/com/cloud/api/response/DiskOfferingResponse.java +++ b/api/src/com/cloud/api/response/DiskOfferingResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/DomainResponse.java b/api/src/com/cloud/api/response/DomainResponse.java index 87a3e87f485..b5998496a4d 100644 --- a/api/src/com/cloud/api/response/DomainResponse.java +++ b/api/src/com/cloud/api/response/DomainResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/DomainRouterResponse.java b/api/src/com/cloud/api/response/DomainRouterResponse.java index 80f55b3e9b4..0bb2b55fcbd 100644 --- a/api/src/com/cloud/api/response/DomainRouterResponse.java +++ b/api/src/com/cloud/api/response/DomainRouterResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.cloud.vm.VirtualMachine.State; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/EventResponse.java b/api/src/com/cloud/api/response/EventResponse.java index 0f02d4bf899..7e5e9f6a761 100644 --- a/api/src/com/cloud/api/response/EventResponse.java +++ b/api/src/com/cloud/api/response/EventResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.event.Event; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ExtractResponse.java b/api/src/com/cloud/api/response/ExtractResponse.java index 34d026fb57c..3bf148deca8 100755 --- a/api/src/com/cloud/api/response/ExtractResponse.java +++ b/api/src/com/cloud/api/response/ExtractResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/F5LoadBalancerResponse.java b/api/src/com/cloud/api/response/F5LoadBalancerResponse.java index 47e9b97e7f5..6b4e8b20924 100644 --- a/api/src/com/cloud/api/response/F5LoadBalancerResponse.java +++ b/api/src/com/cloud/api/response/F5LoadBalancerResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/FirewallResponse.java b/api/src/com/cloud/api/response/FirewallResponse.java index 9d4a5848941..f9e64f5dd0e 100644 --- a/api/src/com/cloud/api/response/FirewallResponse.java +++ b/api/src/com/cloud/api/response/FirewallResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/FirewallRuleResponse.java b/api/src/com/cloud/api/response/FirewallRuleResponse.java index c3dd438e5c3..b6fa7aedcd6 100644 --- a/api/src/com/cloud/api/response/FirewallRuleResponse.java +++ b/api/src/com/cloud/api/response/FirewallRuleResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/GuestOSCategoryResponse.java b/api/src/com/cloud/api/response/GuestOSCategoryResponse.java index e15d6f81702..c2b562b5954 100644 --- a/api/src/com/cloud/api/response/GuestOSCategoryResponse.java +++ b/api/src/com/cloud/api/response/GuestOSCategoryResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/GuestOSResponse.java b/api/src/com/cloud/api/response/GuestOSResponse.java index c142a297f57..2c801d85f59 100644 --- a/api/src/com/cloud/api/response/GuestOSResponse.java +++ b/api/src/com/cloud/api/response/GuestOSResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/HostResponse.java b/api/src/com/cloud/api/response/HostResponse.java index 3c6bcdcccf2..3aceaa866c9 100755 --- a/api/src/com/cloud/api/response/HostResponse.java +++ b/api/src/com/cloud/api/response/HostResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.host.Host; import com.cloud.host.Status; import com.cloud.hypervisor.Hypervisor.HypervisorType; diff --git a/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java b/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java index 7bef42f4e8b..c1cbc5de760 100644 --- a/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java +++ b/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/IPAddressResponse.java b/api/src/com/cloud/api/response/IPAddressResponse.java index b78c16ead2d..bb1d68aa12c 100644 --- a/api/src/com/cloud/api/response/IPAddressResponse.java +++ b/api/src/com/cloud/api/response/IPAddressResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/InstanceGroupResponse.java b/api/src/com/cloud/api/response/InstanceGroupResponse.java index bdacd0940f8..ba1e2d6357c 100644 --- a/api/src/com/cloud/api/response/InstanceGroupResponse.java +++ b/api/src/com/cloud/api/response/InstanceGroupResponse.java @@ -21,7 +21,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/IpForwardingRuleResponse.java b/api/src/com/cloud/api/response/IpForwardingRuleResponse.java index b4d7444ad7e..aba9f53a004 100644 --- a/api/src/com/cloud/api/response/IpForwardingRuleResponse.java +++ b/api/src/com/cloud/api/response/IpForwardingRuleResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/IsoVmResponse.java b/api/src/com/cloud/api/response/IsoVmResponse.java new file mode 100755 index 00000000000..809358c3be5 --- /dev/null +++ b/api/src/com/cloud/api/response/IsoVmResponse.java @@ -0,0 +1,146 @@ +/** + * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. + * + * This software is licensed under the GNU General Public License v3 or later. + * + * It is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +package com.cloud.api.response; + +import com.cloud.utils.IdentityProxy; +import com.cloud.serializer.Param; +import com.google.gson.annotations.SerializedName; + +public class IsoVmResponse extends BaseResponse { + @SerializedName("id") @Param(description="the ISO ID") + private IdentityProxy id = new IdentityProxy("vm_template"); + + @SerializedName("name") @Param(description="the ISO name") + private String name; + + @SerializedName("displaytext") @Param(description="the ISO display text") + private String displayText; + + @SerializedName("bootable") @Param(description="true if the ISO is bootable, false otherwise") + private Boolean bootable; + + @SerializedName("isfeatured") @Param(description="true if this template is a featured template, false otherwise") + private Boolean featured; + + @SerializedName("ostypeid") @Param(description="the ID of the OS type for this template.") + private IdentityProxy osTypeId = new IdentityProxy("guest_os"); + + @SerializedName("ostypename") @Param(description="the name of the OS type for this template.") + private String osTypeName; + + @SerializedName("virtualmachineid") @Param(description="id of the virtual machine") + private IdentityProxy virtualMachineId = new IdentityProxy("vm_instance"); + + @SerializedName("vmname") @Param(description="name of the virtual machine") + private String virtualMachineName; + + @SerializedName("vmdisplayname") @Param(description="display name of the virtual machine") + private String virtualMachineDisplayName; + + @SerializedName("vmstate") @Param(description="state of the virtual machine") + private String virtualMachineState; + + + public Long getOsTypeId() { + return osTypeId.getValue(); + } + + public void setOsTypeId(Long osTypeId) { + this.osTypeId.setValue(osTypeId); + } + + public String getOsTypeName() { + return osTypeName; + } + + public void setOsTypeName(String osTypeName) { + this.osTypeName = osTypeName; + } + + public Long getId() { + return id.getValue(); + } + + public void setId(Long id) { + this.id.setValue(id); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDisplayText() { + return displayText; + } + + public void setDisplayText(String displayText) { + this.displayText = displayText; + } + + public Boolean isBootable() { + return bootable; + } + + public void setBootable(Boolean bootable) { + this.bootable = bootable; + } + + public Boolean isFeatured() { + return featured; + } + + public void setFeatured(Boolean featured) { + this.featured = featured; + } + + public Long getVirtualMachineId() { + return virtualMachineId.getValue(); + } + + public void setVirtualMachineId(Long virtualMachineId) { + this.virtualMachineId.setValue(virtualMachineId); + } + + public String getVirtualMachineName() { + return virtualMachineName; + } + + public void setVirtualMachineName(String virtualMachineName) { + this.virtualMachineName = virtualMachineName; + } + + public String getVirtualMachineDisplayName() { + return virtualMachineDisplayName; + } + + public void setVirtualMachineDisplayName(String virtualMachineDisplayName) { + this.virtualMachineDisplayName = virtualMachineDisplayName; + } + + public String getVirtualMachineState() { + return virtualMachineState; + } + + public void setVirtualMachineState(String virtualMachineState) { + this.virtualMachineState = virtualMachineState; + } +} diff --git a/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java b/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java index 94030f47fae..431d27c0b1b 100644 --- a/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java +++ b/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java @@ -17,7 +17,7 @@ */ package com.cloud.api.response; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.network.rules.StickinessPolicy; import com.cloud.serializer.Param; import com.cloud.utils.Pair; diff --git a/api/src/com/cloud/api/response/LBStickinessResponse.java b/api/src/com/cloud/api/response/LBStickinessResponse.java index 0d9943fc10e..18e8ca90d1d 100644 --- a/api/src/com/cloud/api/response/LBStickinessResponse.java +++ b/api/src/com/cloud/api/response/LBStickinessResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/LoadBalancerResponse.java b/api/src/com/cloud/api/response/LoadBalancerResponse.java index 7323f024e18..40bce06f35c 100644 --- a/api/src/com/cloud/api/response/LoadBalancerResponse.java +++ b/api/src/com/cloud/api/response/LoadBalancerResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java b/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java index dc1cc0454ef..299ffe310db 100644 --- a/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java +++ b/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/NetworkOfferingResponse.java b/api/src/com/cloud/api/response/NetworkOfferingResponse.java index 2a2be209e8e..01c1267839d 100644 --- a/api/src/com/cloud/api/response/NetworkOfferingResponse.java +++ b/api/src/com/cloud/api/response/NetworkOfferingResponse.java @@ -22,7 +22,7 @@ import java.util.Date; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/NetworkResponse.java b/api/src/com/cloud/api/response/NetworkResponse.java index 329f1d2ef67..ca49e9b915b 100644 --- a/api/src/com/cloud/api/response/NetworkResponse.java +++ b/api/src/com/cloud/api/response/NetworkResponse.java @@ -21,7 +21,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/NicResponse.java b/api/src/com/cloud/api/response/NicResponse.java index c9524cc164d..b93b9982847 100755 --- a/api/src/com/cloud/api/response/NicResponse.java +++ b/api/src/com/cloud/api/response/NicResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/PhysicalNetworkResponse.java b/api/src/com/cloud/api/response/PhysicalNetworkResponse.java index 65ab22985e5..30f6975e086 100644 --- a/api/src/com/cloud/api/response/PhysicalNetworkResponse.java +++ b/api/src/com/cloud/api/response/PhysicalNetworkResponse.java @@ -21,7 +21,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/PodResponse.java b/api/src/com/cloud/api/response/PodResponse.java index c25e0ea1f95..a5a88cfab0a 100755 --- a/api/src/com/cloud/api/response/PodResponse.java +++ b/api/src/com/cloud/api/response/PodResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ProjectAccountResponse.java b/api/src/com/cloud/api/response/ProjectAccountResponse.java index 374b99df2bb..14827feaf21 100644 --- a/api/src/com/cloud/api/response/ProjectAccountResponse.java +++ b/api/src/com/cloud/api/response/ProjectAccountResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ProjectInvitationResponse.java b/api/src/com/cloud/api/response/ProjectInvitationResponse.java index 15655f98501..e2725086847 100644 --- a/api/src/com/cloud/api/response/ProjectInvitationResponse.java +++ b/api/src/com/cloud/api/response/ProjectInvitationResponse.java @@ -1,7 +1,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ProjectResponse.java b/api/src/com/cloud/api/response/ProjectResponse.java index 4459cad0555..d7a621f23b7 100644 --- a/api/src/com/cloud/api/response/ProjectResponse.java +++ b/api/src/com/cloud/api/response/ProjectResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ProviderResponse.java b/api/src/com/cloud/api/response/ProviderResponse.java index b94d9ab3971..5703b0faee1 100644 --- a/api/src/com/cloud/api/response/ProviderResponse.java +++ b/api/src/com/cloud/api/response/ProviderResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java b/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java index 0d03cf87313..e18096b5f17 100644 --- a/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java +++ b/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ResourceCountResponse.java b/api/src/com/cloud/api/response/ResourceCountResponse.java index 2948a5c36b5..40c850e8bac 100644 --- a/api/src/com/cloud/api/response/ResourceCountResponse.java +++ b/api/src/com/cloud/api/response/ResourceCountResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ResourceLimitResponse.java b/api/src/com/cloud/api/response/ResourceLimitResponse.java index 96aaa8a707a..0ee9585a78d 100644 --- a/api/src/com/cloud/api/response/ResourceLimitResponse.java +++ b/api/src/com/cloud/api/response/ResourceLimitResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SecurityGroupResponse.java b/api/src/com/cloud/api/response/SecurityGroupResponse.java index b7e00617813..e7a8617694f 100644 --- a/api/src/com/cloud/api/response/SecurityGroupResponse.java +++ b/api/src/com/cloud/api/response/SecurityGroupResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java b/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java index 319a4b561c8..106ec617071 100644 --- a/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java +++ b/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ServiceOfferingResponse.java b/api/src/com/cloud/api/response/ServiceOfferingResponse.java index 3f5b8ec456e..d44d1ed4c97 100644 --- a/api/src/com/cloud/api/response/ServiceOfferingResponse.java +++ b/api/src/com/cloud/api/response/ServiceOfferingResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SnapshotPolicyResponse.java b/api/src/com/cloud/api/response/SnapshotPolicyResponse.java index af6ff04b473..49b0c6de370 100644 --- a/api/src/com/cloud/api/response/SnapshotPolicyResponse.java +++ b/api/src/com/cloud/api/response/SnapshotPolicyResponse.java @@ -17,7 +17,7 @@ */ package com.cloud.api.response; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SnapshotResponse.java b/api/src/com/cloud/api/response/SnapshotResponse.java index c38b426913f..3506f9a6802 100644 --- a/api/src/com/cloud/api/response/SnapshotResponse.java +++ b/api/src/com/cloud/api/response/SnapshotResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.cloud.storage.Snapshot; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SnapshotScheduleResponse.java b/api/src/com/cloud/api/response/SnapshotScheduleResponse.java index 15679cde62c..d19327e5dbe 100644 --- a/api/src/com/cloud/api/response/SnapshotScheduleResponse.java +++ b/api/src/com/cloud/api/response/SnapshotScheduleResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import java.util.Date; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SrxFirewallResponse.java b/api/src/com/cloud/api/response/SrxFirewallResponse.java index b39160aa3ca..3cbba2d1657 100644 --- a/api/src/com/cloud/api/response/SrxFirewallResponse.java +++ b/api/src/com/cloud/api/response/SrxFirewallResponse.java @@ -19,7 +19,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java b/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java index db8dfe123ef..a8fdfb9ceb9 100755 --- a/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java +++ b/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java @@ -1,7 +1,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/StoragePoolResponse.java b/api/src/com/cloud/api/response/StoragePoolResponse.java index a75888665de..494befbda60 100755 --- a/api/src/com/cloud/api/response/StoragePoolResponse.java +++ b/api/src/com/cloud/api/response/StoragePoolResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.cloud.storage.StoragePoolStatus; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SwiftResponse.java b/api/src/com/cloud/api/response/SwiftResponse.java index d5bbbd0a890..b7973b63347 100755 --- a/api/src/com/cloud/api/response/SwiftResponse.java +++ b/api/src/com/cloud/api/response/SwiftResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SystemVmInstanceResponse.java b/api/src/com/cloud/api/response/SystemVmInstanceResponse.java index b308380d42e..54327daf614 100644 --- a/api/src/com/cloud/api/response/SystemVmInstanceResponse.java +++ b/api/src/com/cloud/api/response/SystemVmInstanceResponse.java @@ -17,7 +17,7 @@ */ package com.cloud.api.response; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/SystemVmResponse.java b/api/src/com/cloud/api/response/SystemVmResponse.java index 84900902795..db68c371bc1 100644 --- a/api/src/com/cloud/api/response/SystemVmResponse.java +++ b/api/src/com/cloud/api/response/SystemVmResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/TemplatePermissionsResponse.java b/api/src/com/cloud/api/response/TemplatePermissionsResponse.java index d0789c9a574..1365a07fb64 100644 --- a/api/src/com/cloud/api/response/TemplatePermissionsResponse.java +++ b/api/src/com/cloud/api/response/TemplatePermissionsResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/TemplateResponse.java b/api/src/com/cloud/api/response/TemplateResponse.java index 2bb77ff3b08..11f5730157b 100755 --- a/api/src/com/cloud/api/response/TemplateResponse.java +++ b/api/src/com/cloud/api/response/TemplateResponse.java @@ -21,7 +21,7 @@ import java.util.Date; import java.util.Map; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.cloud.storage.Storage.ImageFormat; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/TrafficTypeResponse.java b/api/src/com/cloud/api/response/TrafficTypeResponse.java index 53867cef694..d0b1adfbf01 100644 --- a/api/src/com/cloud/api/response/TrafficTypeResponse.java +++ b/api/src/com/cloud/api/response/TrafficTypeResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/UpgradeVmResponse.java b/api/src/com/cloud/api/response/UpgradeVmResponse.java index 29e298d08a5..62dd1bcaadb 100644 --- a/api/src/com/cloud/api/response/UpgradeVmResponse.java +++ b/api/src/com/cloud/api/response/UpgradeVmResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/UserResponse.java b/api/src/com/cloud/api/response/UserResponse.java index 5be473ae676..ce023566c69 100644 --- a/api/src/com/cloud/api/response/UserResponse.java +++ b/api/src/com/cloud/api/response/UserResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/UserVmResponse.java b/api/src/com/cloud/api/response/UserVmResponse.java index a7eef6215f5..a415e552b78 100755 --- a/api/src/com/cloud/api/response/UserVmResponse.java +++ b/api/src/com/cloud/api/response/UserVmResponse.java @@ -21,7 +21,7 @@ import java.util.Date; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java b/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java index 034559c0379..0b3caa4804c 100644 --- a/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java +++ b/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java @@ -1,7 +1,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/VlanIpRangeResponse.java b/api/src/com/cloud/api/response/VlanIpRangeResponse.java index e6708393fc7..c3eea8e0063 100644 --- a/api/src/com/cloud/api/response/VlanIpRangeResponse.java +++ b/api/src/com/cloud/api/response/VlanIpRangeResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/VolumeResponse.java b/api/src/com/cloud/api/response/VolumeResponse.java index 30fb2e4a821..171f9a1599d 100755 --- a/api/src/com/cloud/api/response/VolumeResponse.java +++ b/api/src/com/cloud/api/response/VolumeResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.Date; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/VpnUsersResponse.java b/api/src/com/cloud/api/response/VpnUsersResponse.java index 18b12c9d011..32da9c474a4 100644 --- a/api/src/com/cloud/api/response/VpnUsersResponse.java +++ b/api/src/com/cloud/api/response/VpnUsersResponse.java @@ -18,7 +18,7 @@ package com.cloud.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/api/response/ZoneResponse.java b/api/src/com/cloud/api/response/ZoneResponse.java index d8f8a6fbb31..474a3f40842 100755 --- a/api/src/com/cloud/api/response/ZoneResponse.java +++ b/api/src/com/cloud/api/response/ZoneResponse.java @@ -20,7 +20,7 @@ package com.cloud.api.response; import java.util.List; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/api/src/com/cloud/exception/CloudException.java b/api/src/com/cloud/exception/CloudException.java new file mode 100644 index 00000000000..f0b3114329c --- /dev/null +++ b/api/src/com/cloud/exception/CloudException.java @@ -0,0 +1,50 @@ +/** + * Copyright (C) 2011 Citrix Systems, Inc. All rights reserved + * + * This software is licensed under the GNU General Public License v3 or later. + * + * It is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +package com.cloud.exception; + +import com.cloud.utils.IdentityProxy; + +/** + * CloudException is a generic exception class that has an IdentityProxy + * object in it to enable on the fly conversion of database ids to uuids + * by the API response serializer. Any exceptions that are thrown by + * command invocations must extend this class, or the RuntimeCloudException + * class, which extends RuntimeException instead of Exception like this + * class does. + */ + +public class CloudException extends Exception { + + IdentityProxy id; + + public CloudException(String table_name, Long id) { + this.id = new IdentityProxy(); + this.id.setTableName(table_name); + this.id.setValue(id); + } + + public CloudException(String message) { + super(message); + } + + public CloudException() { + //this.id = new IdentityProxy(); ?? + //this.id = NULL; ?? + } + +} diff --git a/api/src/com/cloud/exception/RuntimeCloudException.java b/api/src/com/cloud/exception/RuntimeCloudException.java new file mode 100644 index 00000000000..79761637157 --- /dev/null +++ b/api/src/com/cloud/exception/RuntimeCloudException.java @@ -0,0 +1,50 @@ +/** + * Copyright (C) 2011 Citrix Systems, Inc. All rights reserved + * + * This software is licensed under the GNU General Public License v3 or later. + * + * It is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +package com.cloud.exception; + +import com.cloud.utils.IdentityProxy; + +/** + * CloudException is a generic exception class that has an IdentityProxy + * object in it to enable on the fly conversion of database ids to uuids + * by the API response serializer. Any exceptions that are thrown by + * command invocations must extend this class, or the RuntimeCloudException + * class, which extends RuntimeException instead of Exception like this + * class does. + */ + +public class RuntimeCloudException extends RuntimeException { + + IdentityProxy id; + + public RuntimeCloudException(String table_name, Long id) { + this.id = new IdentityProxy(); + this.id.setTableName(table_name); + this.id.setValue(id); + } + + public RuntimeCloudException(String message) { + super(message); + } + + public RuntimeCloudException() { + //this.id = new IdentityProxy(); ?? + //this.id = NULL; ?? + } + +} diff --git a/server/src/com/cloud/api/ApiGsonHelper.java b/server/src/com/cloud/api/ApiGsonHelper.java index a52dcfcbe39..80eaf474b2d 100644 --- a/server/src/com/cloud/api/ApiGsonHelper.java +++ b/server/src/com/cloud/api/ApiGsonHelper.java @@ -18,7 +18,8 @@ package com.cloud.api; -import com.google.gson.GsonBuilder; +import com.google.gson.GsonBuilder; +import com.cloud.utils.IdentityProxy; public class ApiGsonHelper { private static final GsonBuilder s_gBuilder; diff --git a/server/src/com/cloud/api/ApiResponseGsonHelper.java b/server/src/com/cloud/api/ApiResponseGsonHelper.java index 10c3a762fed..e92b4d1e2f6 100644 --- a/server/src/com/cloud/api/ApiResponseGsonHelper.java +++ b/server/src/com/cloud/api/ApiResponseGsonHelper.java @@ -25,6 +25,7 @@ package com.cloud.api; import com.google.gson.GsonBuilder; +import com.cloud.utils.IdentityProxy; public class ApiResponseGsonHelper { private static final GsonBuilder s_gBuilder; diff --git a/server/src/com/cloud/api/IdentityTypeAdapter.java b/server/src/com/cloud/api/IdentityTypeAdapter.java index e66ce984f83..34d632a12e1 100644 --- a/server/src/com/cloud/api/IdentityTypeAdapter.java +++ b/server/src/com/cloud/api/IdentityTypeAdapter.java @@ -30,6 +30,8 @@ import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; +import com.cloud.utils.IdentityProxy; + public class IdentityTypeAdapter implements JsonSerializer, JsonDeserializer { diff --git a/server/src/com/cloud/api/response/ApiResponseSerializer.java b/server/src/com/cloud/api/response/ApiResponseSerializer.java index 1c8473eb37b..920ce58799f 100644 --- a/server/src/com/cloud/api/response/ApiResponseSerializer.java +++ b/server/src/com/cloud/api/response/ApiResponseSerializer.java @@ -35,7 +35,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiResponseGsonHelper; import com.cloud.api.ApiServer; import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.ResponseObject; import com.cloud.utils.encoding.URLEncoder; import com.cloud.utils.exception.CloudRuntimeException; diff --git a/server/src/com/cloud/baremetal/DhcpServerResponse.java b/server/src/com/cloud/baremetal/DhcpServerResponse.java index 0dec6e79641..71ffc6a8041 100644 --- a/server/src/com/cloud/baremetal/DhcpServerResponse.java +++ b/server/src/com/cloud/baremetal/DhcpServerResponse.java @@ -20,7 +20,7 @@ package com.cloud.baremetal; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/baremetal/PxeServerResponse.java b/server/src/com/cloud/baremetal/PxeServerResponse.java index 65c4dbe97ed..35ca0d159e1 100644 --- a/server/src/com/cloud/baremetal/PxeServerResponse.java +++ b/server/src/com/cloud/baremetal/PxeServerResponse.java @@ -20,7 +20,7 @@ package com.cloud.baremetal; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java b/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java index 51f8f7dd1ee..064ba81a441 100644 --- a/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java +++ b/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java @@ -1,6 +1,6 @@ package com.cloud.server.api.response; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java b/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java index 297a84be780..59712b5132a 100644 --- a/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java +++ b/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java @@ -20,7 +20,7 @@ package com.cloud.server.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java b/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java index 623bb85973d..20bbe89b2ec 100644 --- a/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java +++ b/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java @@ -20,7 +20,7 @@ package com.cloud.server.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java b/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java index 11947897e33..a4497a5297b 100644 --- a/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java +++ b/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java @@ -1,7 +1,7 @@ package com.cloud.server.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java b/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java index 90e4dc04101..f03a1ccee6f 100644 --- a/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java +++ b/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java @@ -1,7 +1,7 @@ package com.cloud.server.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java b/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java index e1bd53302bc..ad5e28b8c6d 100644 --- a/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java +++ b/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java @@ -20,7 +20,7 @@ package com.cloud.server.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.serializer.Param; import com.google.gson.annotations.SerializedName; diff --git a/server/src/com/cloud/server/api/response/UsageRecordResponse.java b/server/src/com/cloud/server/api/response/UsageRecordResponse.java index 9ad62ba624d..f6d1d7e836d 100644 --- a/server/src/com/cloud/server/api/response/UsageRecordResponse.java +++ b/server/src/com/cloud/server/api/response/UsageRecordResponse.java @@ -20,7 +20,7 @@ package com.cloud.server.api.response; import com.cloud.api.ApiConstants; -import com.cloud.api.IdentityProxy; +import com.cloud.utils.IdentityProxy; import com.cloud.api.response.BaseResponse; import com.cloud.api.response.ControlledEntityResponse; import com.cloud.serializer.Param; diff --git a/api/src/com/cloud/api/IdentityProxy.java b/utils/src/com/cloud/utils/IdentityProxy.java similarity index 94% rename from api/src/com/cloud/api/IdentityProxy.java rename to utils/src/com/cloud/utils/IdentityProxy.java index 11f0e79ba4c..77b0b58a9ff 100644 --- a/api/src/com/cloud/api/IdentityProxy.java +++ b/utils/src/com/cloud/utils/IdentityProxy.java @@ -15,7 +15,7 @@ * along with this program. If not, see . * */ -package com.cloud.api; +package com.cloud.utils; public class IdentityProxy { private String _tableName;