From a96b9a1204be71baf452b2a197e735e130339e82 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 12 May 2015 15:11:06 +0000
Subject: [PATCH] OpenDsException.java: Now extends LocalizableException which allows to use try with multi-catch feature, across server/SDK exceptions.
---
opendj-server-legacy/src/main/java/org/opends/server/types/OpenDsException.java | 56 +++++++++++++++++++-------------------------------------
1 files changed, 19 insertions(+), 37 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/OpenDsException.java b/opendj-server-legacy/src/main/java/org/opends/server/types/OpenDsException.java
index 233e980..0e5715d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/OpenDsException.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/OpenDsException.java
@@ -22,47 +22,36 @@
*
*
* Copyright 2008 Sun Microsystems, Inc.
- * Portions Copyright 2014 ForgeRock AS
+ * Portions Copyright 2014-2015 ForgeRock AS
*/
-
package org.opends.server.types;
+import org.forgerock.i18n.LocalizableException;
import org.forgerock.i18n.LocalizableMessage;
-
-/**
- * This class defines a base exception for OpenDS exceptions.
- */
+/** This class defines a base exception for OpenDS exceptions. */
@org.opends.server.types.PublicAPI(
stability=org.opends.server.types.StabilityLevel.VOLATILE,
mayInstantiate=false,
mayExtend=false,
mayInvoke=true)
-public abstract class OpenDsException
- extends Exception
+public abstract class OpenDsException extends Exception implements LocalizableException
{
-
- /**
- * Generated serialization ID.
- */
+ /** Generated serialization ID. */
private static final long serialVersionUID = 7310881401563732702L;
/** LocalizableMessage that explains the problem. */
- LocalizableMessage message;
+ private final LocalizableMessage message;
- /**
- * Creates a new identified exception.
- */
+ /** Creates a new identified exception. */
protected OpenDsException()
{
- super();
+ this(null, null);
}
/**
- * Constructs a new instance from another
- * <code>OpenDsException</code>.
- * This constructor sets the message to be that of
- * <code>cause</code>.
+ * Constructs a new instance from another <code>OpenDsException</code>.
+ * This constructor sets the message to be that of <code>cause</code>.
*
* @param cause exception whose message will be used for
* this exception's message.
@@ -74,36 +63,28 @@
/**
* Creates a new identified exception with the provided information.
*
- * @param message The message that explains the problem that
- * occurred.
+ * @param message The message that explains the problem that occurred.
*/
protected OpenDsException(LocalizableMessage message)
{
this(message, null);
}
-
-
/**
* Creates a new identified exception with the provided information.
*
- * @param cause The underlying cause that triggered this
- * exception.
+ * @param cause The underlying cause that triggered this exception.
*/
protected OpenDsException(Throwable cause)
{
this(null, cause);
}
-
-
/**
* Creates a new identified exception with the provided information.
*
- * @param message The message that explains the problem that
- * occurred.
- * @param cause The underlying cause that triggered this
- * exception.
+ * @param message The message that explains the problem that occurred.
+ * @param cause The underlying cause that triggered this exception.
*/
protected OpenDsException(LocalizableMessage message, Throwable cause)
{
@@ -111,18 +92,19 @@
cause != null ? cause.getMessage() : null, cause);
if (message != null) {
this.message = message;
- } else if (cause instanceof OpenDsException) {
- this.message = ((OpenDsException)cause).getMessageObject();
+ } else if (cause instanceof LocalizableException) {
+ this.message = ((LocalizableException) cause).getMessageObject();
+ } else {
+ this.message = null;
}
}
-
-
/**
* Returns the message that explains the problem that occurred.
*
* @return LocalizableMessage of the problem
*/
+ @Override
public LocalizableMessage getMessageObject() {
return this.message;
}
--
Gitblit v1.10.0