From efdaa4d1107b753e38851c0988683fe4f5a7207d Mon Sep 17 00:00:00 2001 From: Vijayendra Bhamidipati Date: Thu, 2 Feb 2012 20:45:55 -0800 Subject: [PATCH] Bug 13127: API error text refer to database ids instead of uuids Description: 1) Moved RuntimeCloudException from api/ to utils/. Added simple constructor to RuntimeCloudException. Modified all classes that extended RuntimeException to extend RuntimeCloudException. These classes are listed below: ServerApiException CloudAuthenticationException CloudExecutionException AsyncCommandQueued HypervisorVersionChangedException RuntimeCloudException 2) Added overloaded constructed to CloudException. Modified all classes that extend Exception to extend CloudException instead. These classes are listed below: ConcurrentOperationException ConflictingNetworkSettingsException ConnectionException DiscoveryException InsufficientCapacityException ManagementServerException ResourceUnavailableException VirtualMachineMigrationException AgentControlChannelException OperationTimedoutException.java UnsupportedVersionException.java UsageServerException.java UnableDeleteHostException.java AgentAuthnException.java HttpCallException.java ActiveFencingException.java ClusterInvalidSessionException.java GreTunnelException.java OvsVlanExhaustedException.java --- api/src/com/cloud/api/ServerApiException.java | 3 ++- .../exception/CloudAuthenticationException.java | 3 ++- api/src/com/cloud/exception/CloudException.java | 7 ++++++- .../cloud/exception/CloudExecutionException.java | 3 ++- .../exception/ConcurrentOperationException.java | 2 +- .../ConflictingNetworkSettingsException.java | 2 +- .../com/cloud/exception/ConnectionException.java | 2 +- api/src/com/cloud/exception/DiscoveryException.java | 2 +- .../exception/InsufficientCapacityException.java | 2 +- .../cloud/exception/ManagementServerException.java | 2 +- .../exception/ResourceUnavailableException.java | 2 +- .../exception/VirtualMachineMigrationException.java | 2 +- .../exception/AgentControlChannelException.java | 4 +++- .../cloud/exception/OperationTimedoutException.java | 2 +- .../exception/UnsupportedVersionException.java | 2 +- .../com/cloud/exception/UsageServerException.java | 2 +- .../cloud/resource/UnableDeleteHostException.java | 3 ++- .../agent/manager/authn/AgentAuthnException.java | 4 +++- server/src/com/cloud/async/AsyncCommandQueued.java | 3 ++- .../src/com/cloud/baremetal/HttpCallException.java | 4 +++- .../com/cloud/cluster/ActiveFencingException.java | 4 +++- .../cluster/ClusterInvalidSessionException.java | 4 +++- .../com/cloud/network/ovs/GreTunnelException.java | 4 +++- .../network/ovs/OvsVlanExhaustedException.java | 4 +++- .../HypervisorVersionChangedException.java | 2 +- .../utils}/exception/RuntimeCloudException.java | 13 +++++++++---- 26 files changed, 58 insertions(+), 29 deletions(-) rename {api/src/com/cloud => utils/src/com/cloud/utils}/exception/RuntimeCloudException.java (76%) diff --git a/api/src/com/cloud/api/ServerApiException.java b/api/src/com/cloud/api/ServerApiException.java index 1c6f0da9114..9e6191e52d9 100644 --- a/api/src/com/cloud/api/ServerApiException.java +++ b/api/src/com/cloud/api/ServerApiException.java @@ -11,9 +11,10 @@ // // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.api; +import com.cloud.utils.exception.RuntimeCloudException; @SuppressWarnings("serial") -public class ServerApiException extends RuntimeException { +public class ServerApiException extends RuntimeCloudException { private int _errorCode; private String _description; diff --git a/api/src/com/cloud/exception/CloudAuthenticationException.java b/api/src/com/cloud/exception/CloudAuthenticationException.java index e8fb3c506ad..e671ef18cac 100644 --- a/api/src/com/cloud/exception/CloudAuthenticationException.java +++ b/api/src/com/cloud/exception/CloudAuthenticationException.java @@ -13,8 +13,9 @@ package com.cloud.exception; import com.cloud.utils.SerialVersionUID; +import com.cloud.utils.exception.RuntimeCloudException; -public class CloudAuthenticationException extends RuntimeException { +public class CloudAuthenticationException extends RuntimeCloudException { private static final long serialVersionUID = SerialVersionUID.CloudAuthenticationException; public CloudAuthenticationException(String message) { diff --git a/api/src/com/cloud/exception/CloudException.java b/api/src/com/cloud/exception/CloudException.java index f0b3114329c..c8eb8e44765 100644 --- a/api/src/com/cloud/exception/CloudException.java +++ b/api/src/com/cloud/exception/CloudException.java @@ -41,10 +41,15 @@ public class CloudException extends Exception { public CloudException(String message) { super(message); } - + + public CloudException(String message, Throwable cause) { + super(message, cause); + } + public CloudException() { //this.id = new IdentityProxy(); ?? //this.id = NULL; ?? + super(); } } diff --git a/api/src/com/cloud/exception/CloudExecutionException.java b/api/src/com/cloud/exception/CloudExecutionException.java index 43911a7a5b9..6c2898ffca5 100755 --- a/api/src/com/cloud/exception/CloudExecutionException.java +++ b/api/src/com/cloud/exception/CloudExecutionException.java @@ -13,13 +13,14 @@ package com.cloud.exception; import java.util.HashMap; +import com.cloud.utils.exception.RuntimeCloudException; import com.cloud.utils.SerialVersionUID; /** * */ -public class CloudExecutionException extends RuntimeException { +public class CloudExecutionException extends RuntimeCloudException { private final static long serialVersionUID = SerialVersionUID.CloudExecutionException; private final ErrorCode code; diff --git a/api/src/com/cloud/exception/ConcurrentOperationException.java b/api/src/com/cloud/exception/ConcurrentOperationException.java index a0e7a576944..4195450a366 100644 --- a/api/src/com/cloud/exception/ConcurrentOperationException.java +++ b/api/src/com/cloud/exception/ConcurrentOperationException.java @@ -14,7 +14,7 @@ package com.cloud.exception; import com.cloud.utils.SerialVersionUID; -public class ConcurrentOperationException extends Exception { +public class ConcurrentOperationException extends CloudException { private static final long serialVersionUID = SerialVersionUID.ConcurrentOperationException; diff --git a/api/src/com/cloud/exception/ConflictingNetworkSettingsException.java b/api/src/com/cloud/exception/ConflictingNetworkSettingsException.java index 5a068eee348..e0e739748ef 100644 --- a/api/src/com/cloud/exception/ConflictingNetworkSettingsException.java +++ b/api/src/com/cloud/exception/ConflictingNetworkSettingsException.java @@ -14,7 +14,7 @@ package com.cloud.exception; import com.cloud.utils.SerialVersionUID; -public class ConflictingNetworkSettingsException extends Exception { +public class ConflictingNetworkSettingsException extends CloudException { private static final long serialVersionUID = SerialVersionUID.ConflictingNetworkSettingException; diff --git a/api/src/com/cloud/exception/ConnectionException.java b/api/src/com/cloud/exception/ConnectionException.java index f8be78b704a..1ba9f24c712 100644 --- a/api/src/com/cloud/exception/ConnectionException.java +++ b/api/src/com/cloud/exception/ConnectionException.java @@ -26,7 +26,7 @@ import com.cloud.utils.SerialVersionUID; * on the agent and decided it is best to flush connection and reconnect. * situation where it keeps throwing ConnectionException. */ -public class ConnectionException extends Exception { +public class ConnectionException extends CloudException { private static final long serialVersionUID = SerialVersionUID.ConnectionException; boolean _error; diff --git a/api/src/com/cloud/exception/DiscoveryException.java b/api/src/com/cloud/exception/DiscoveryException.java index 3ee5c202b47..0da1f9bbd17 100644 --- a/api/src/com/cloud/exception/DiscoveryException.java +++ b/api/src/com/cloud/exception/DiscoveryException.java @@ -14,7 +14,7 @@ package com.cloud.exception; import com.cloud.utils.SerialVersionUID; -public class DiscoveryException extends Exception { +public class DiscoveryException extends CloudException { private static final long serialVersionUID = SerialVersionUID.DiscoveryException; diff --git a/api/src/com/cloud/exception/InsufficientCapacityException.java b/api/src/com/cloud/exception/InsufficientCapacityException.java index 9f0ba633cd2..8740014a123 100755 --- a/api/src/com/cloud/exception/InsufficientCapacityException.java +++ b/api/src/com/cloud/exception/InsufficientCapacityException.java @@ -18,7 +18,7 @@ import com.cloud.utils.SerialVersionUID; * Generic parent exception class for capacity being reached. * */ -public abstract class InsufficientCapacityException extends Exception { +public abstract class InsufficientCapacityException extends CloudException { private static final long serialVersionUID = SerialVersionUID.InsufficientCapacityException; Long id; diff --git a/api/src/com/cloud/exception/ManagementServerException.java b/api/src/com/cloud/exception/ManagementServerException.java index e300203e30e..a5ab76630e4 100644 --- a/api/src/com/cloud/exception/ManagementServerException.java +++ b/api/src/com/cloud/exception/ManagementServerException.java @@ -18,7 +18,7 @@ import com.cloud.utils.SerialVersionUID; * @author chiradeep * */ -public class ManagementServerException extends Exception { +public class ManagementServerException extends CloudException { private static final long serialVersionUID = SerialVersionUID.ManagementServerException; diff --git a/api/src/com/cloud/exception/ResourceUnavailableException.java b/api/src/com/cloud/exception/ResourceUnavailableException.java index 7ae58f44399..47586a7e452 100644 --- a/api/src/com/cloud/exception/ResourceUnavailableException.java +++ b/api/src/com/cloud/exception/ResourceUnavailableException.java @@ -14,7 +14,7 @@ package com.cloud.exception; import com.cloud.utils.SerialVersionUID; -public class ResourceUnavailableException extends Exception { +public class ResourceUnavailableException extends CloudException { private static final long serialVersionUID = SerialVersionUID.ResourceUnavailableException; Class _scope; diff --git a/api/src/com/cloud/exception/VirtualMachineMigrationException.java b/api/src/com/cloud/exception/VirtualMachineMigrationException.java index 617da3f89f5..7620a2f745c 100644 --- a/api/src/com/cloud/exception/VirtualMachineMigrationException.java +++ b/api/src/com/cloud/exception/VirtualMachineMigrationException.java @@ -14,7 +14,7 @@ package com.cloud.exception; import com.cloud.utils.SerialVersionUID; -public class VirtualMachineMigrationException extends Exception { +public class VirtualMachineMigrationException extends CloudException { private static final long serialVersionUID = SerialVersionUID.VirtualMachineMigrationException; public VirtualMachineMigrationException(String message) { diff --git a/core/src/com/cloud/exception/AgentControlChannelException.java b/core/src/com/cloud/exception/AgentControlChannelException.java index 726f0ae8a24..7658ac2a4d4 100644 --- a/core/src/com/cloud/exception/AgentControlChannelException.java +++ b/core/src/com/cloud/exception/AgentControlChannelException.java @@ -11,8 +11,10 @@ // // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.exception; + +import com.cloud.exception.CloudException; -public class AgentControlChannelException extends Exception { +public class AgentControlChannelException extends CloudException { private static final long serialVersionUID = -310647782960500466L; public AgentControlChannelException(String msg) { diff --git a/core/src/com/cloud/exception/OperationTimedoutException.java b/core/src/com/cloud/exception/OperationTimedoutException.java index 01ac5ce5fc1..d20ea7d3ba6 100644 --- a/core/src/com/cloud/exception/OperationTimedoutException.java +++ b/core/src/com/cloud/exception/OperationTimedoutException.java @@ -18,7 +18,7 @@ import com.cloud.utils.SerialVersionUID; /** * wait timeout. */ -public class OperationTimedoutException extends Exception { +public class OperationTimedoutException extends CloudException { private static final long serialVersionUID = SerialVersionUID.OperationTimedoutException; long _agentId; diff --git a/core/src/com/cloud/exception/UnsupportedVersionException.java b/core/src/com/cloud/exception/UnsupportedVersionException.java index 48da7f9642b..3e96c8fdb7b 100755 --- a/core/src/com/cloud/exception/UnsupportedVersionException.java +++ b/core/src/com/cloud/exception/UnsupportedVersionException.java @@ -16,7 +16,7 @@ import com.cloud.utils.SerialVersionUID; /** */ -public class UnsupportedVersionException extends Exception { +public class UnsupportedVersionException extends CloudException { private static final long serialVersionUID = SerialVersionUID.UnsupportedVersionException; diff --git a/core/src/com/cloud/exception/UsageServerException.java b/core/src/com/cloud/exception/UsageServerException.java index 8ab751ee27e..68fdd3f2bbd 100644 --- a/core/src/com/cloud/exception/UsageServerException.java +++ b/core/src/com/cloud/exception/UsageServerException.java @@ -12,7 +12,7 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.exception; -public class UsageServerException extends Exception { +public class UsageServerException extends CloudException { public UsageServerException() { diff --git a/core/src/com/cloud/resource/UnableDeleteHostException.java b/core/src/com/cloud/resource/UnableDeleteHostException.java index 0cb44f1c08a..67746316a83 100755 --- a/core/src/com/cloud/resource/UnableDeleteHostException.java +++ b/core/src/com/cloud/resource/UnableDeleteHostException.java @@ -13,8 +13,9 @@ package com.cloud.resource; import com.cloud.utils.SerialVersionUID; +import com.cloud.exception.CloudException; -public class UnableDeleteHostException extends Exception { +public class UnableDeleteHostException extends CloudException { private static final long serialVersionUID = SerialVersionUID.UnableDeleteHostException; public UnableDeleteHostException(String msg) { diff --git a/server/src/com/cloud/agent/manager/authn/AgentAuthnException.java b/server/src/com/cloud/agent/manager/authn/AgentAuthnException.java index 558fedb9803..497df0c6846 100644 --- a/server/src/com/cloud/agent/manager/authn/AgentAuthnException.java +++ b/server/src/com/cloud/agent/manager/authn/AgentAuthnException.java @@ -12,11 +12,13 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.agent.manager.authn; +import com.cloud.exception.CloudException; + /** * Exception indicates authentication and/OR authorization problem * */ -public class AgentAuthnException extends Exception{ +public class AgentAuthnException extends CloudException{ private static final long serialVersionUID = 3303508953403051189L; diff --git a/server/src/com/cloud/async/AsyncCommandQueued.java b/server/src/com/cloud/async/AsyncCommandQueued.java index b8af9ab40e5..c186b058062 100644 --- a/server/src/com/cloud/async/AsyncCommandQueued.java +++ b/server/src/com/cloud/async/AsyncCommandQueued.java @@ -13,8 +13,9 @@ package com.cloud.async; import com.cloud.utils.SerialVersionUID; +import com.cloud.utils.exception.RuntimeCloudException; -public class AsyncCommandQueued extends RuntimeException { +public class AsyncCommandQueued extends RuntimeCloudException { private static final long serialVersionUID = SerialVersionUID.AsyncCommandQueued; private SyncQueueVO _queue = null; diff --git a/server/src/com/cloud/baremetal/HttpCallException.java b/server/src/com/cloud/baremetal/HttpCallException.java index e26ad9cbba4..3633793bf0b 100644 --- a/server/src/com/cloud/baremetal/HttpCallException.java +++ b/server/src/com/cloud/baremetal/HttpCallException.java @@ -14,7 +14,9 @@ package com.cloud.baremetal; import com.cloud.utils.SerialVersionUID; -public class HttpCallException extends Exception { +import com.cloud.exception.CloudException; + +public class HttpCallException extends CloudException { private static final long serialVersionUID= SerialVersionUID.HttpCallException; public HttpCallException(String msg) { super(msg); diff --git a/server/src/com/cloud/cluster/ActiveFencingException.java b/server/src/com/cloud/cluster/ActiveFencingException.java index fa28573d524..03082b01e6b 100644 --- a/server/src/com/cloud/cluster/ActiveFencingException.java +++ b/server/src/com/cloud/cluster/ActiveFencingException.java @@ -12,7 +12,9 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.cluster; -public class ActiveFencingException extends Exception { +import com.cloud.exception.CloudException; + +public class ActiveFencingException extends CloudException { private static final long serialVersionUID = -3975376101728211726L; public ActiveFencingException(String message) { diff --git a/server/src/com/cloud/cluster/ClusterInvalidSessionException.java b/server/src/com/cloud/cluster/ClusterInvalidSessionException.java index 2856553e2c2..16773098d06 100644 --- a/server/src/com/cloud/cluster/ClusterInvalidSessionException.java +++ b/server/src/com/cloud/cluster/ClusterInvalidSessionException.java @@ -12,7 +12,9 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.cluster; -public class ClusterInvalidSessionException extends Exception { +import com.cloud.exception.CloudException; + +public class ClusterInvalidSessionException extends CloudException { private static final long serialVersionUID = -6636524194520997512L; diff --git a/server/src/com/cloud/network/ovs/GreTunnelException.java b/server/src/com/cloud/network/ovs/GreTunnelException.java index a364501db3f..40adae30979 100644 --- a/server/src/com/cloud/network/ovs/GreTunnelException.java +++ b/server/src/com/cloud/network/ovs/GreTunnelException.java @@ -12,7 +12,9 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.network.ovs; -public class GreTunnelException extends Exception { +import com.cloud.exception.CloudException; + +public class GreTunnelException extends CloudException { public GreTunnelException(String msg) { super(msg); } diff --git a/server/src/com/cloud/network/ovs/OvsVlanExhaustedException.java b/server/src/com/cloud/network/ovs/OvsVlanExhaustedException.java index 4dcd02695d9..60786ad32ab 100644 --- a/server/src/com/cloud/network/ovs/OvsVlanExhaustedException.java +++ b/server/src/com/cloud/network/ovs/OvsVlanExhaustedException.java @@ -12,7 +12,9 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.network.ovs; -public class OvsVlanExhaustedException extends Exception { +import com.cloud.exception.CloudException; + +public class OvsVlanExhaustedException extends CloudException { public OvsVlanExhaustedException(String msg) { super(msg); } diff --git a/utils/src/com/cloud/utils/exception/HypervisorVersionChangedException.java b/utils/src/com/cloud/utils/exception/HypervisorVersionChangedException.java index b87a29e1ab9..38a7f3472d8 100755 --- a/utils/src/com/cloud/utils/exception/HypervisorVersionChangedException.java +++ b/utils/src/com/cloud/utils/exception/HypervisorVersionChangedException.java @@ -14,7 +14,7 @@ package com.cloud.utils.exception; import com.cloud.utils.SerialVersionUID; -public class HypervisorVersionChangedException extends RuntimeException { +public class HypervisorVersionChangedException extends RuntimeCloudException { private static final long serialVersionUID = SerialVersionUID.CloudRuntimeException; diff --git a/api/src/com/cloud/exception/RuntimeCloudException.java b/utils/src/com/cloud/utils/exception/RuntimeCloudException.java similarity index 76% rename from api/src/com/cloud/exception/RuntimeCloudException.java rename to utils/src/com/cloud/utils/exception/RuntimeCloudException.java index 79761637157..fc0562bf6f7 100644 --- a/api/src/com/cloud/exception/RuntimeCloudException.java +++ b/utils/src/com/cloud/utils/exception/RuntimeCloudException.java @@ -15,16 +15,16 @@ * along with this program. If not, see . * */ -package com.cloud.exception; +package com.cloud.utils.exception; import com.cloud.utils.IdentityProxy; /** - * CloudException is a generic exception class that has an IdentityProxy + * RuntimeCloudException 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 + * command invocations must extend this class, or the CloudException + * class, which extends Exception instead of RuntimeException like this * class does. */ @@ -42,9 +42,14 @@ public class RuntimeCloudException extends RuntimeException { super(message); } + public RuntimeCloudException(String message, Throwable cause) { + super(message, cause); + } + public RuntimeCloudException() { //this.id = new IdentityProxy(); ?? //this.id = NULL; ?? + super(); } }