ingo@1127: /* ingo@1127: * Copyright (c) 2010 by Intevation GmbH ingo@1127: * ingo@1127: * This program is free software under the LGPL (>=v2.1) ingo@1127: * Read the file LGPL.txt coming with the software for details ingo@1127: * or visit http://www.gnu.org/licenses/ if it does not exist. ingo@1127: */ ingo@1127: sascha@894: package de.intevation.gnv.geobackend.base.connectionpool.exception; sascha@894: sascha@894: import com.esri.sde.sdk.client.SeError; sascha@894: import com.esri.sde.sdk.client.SeException; sascha@894: sascha@894: import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException; sascha@894: sascha@894: import org.apache.log4j.Logger; sascha@894: sascha@894: /** sascha@894: * The class lConnectionException fulfills the following purposes: sascha@894: * sascha@894: * @author blume sascha@894: * @author Tim Englich sascha@894: */ sascha@894: public class ConnectionException extends TechnicalException { sascha@894: sascha@894: /** sascha@894: * The UID of this Class. sascha@894: */ sascha@894: private static final long serialVersionUID = 102459262123219617L; sascha@894: sascha@894: /** sascha@894: * Default Logging instance sascha@894: */ sascha@894: private static Logger sLogger = Logger.getLogger(ConnectionException.class); sascha@894: sascha@894: /** sascha@894: * Constructs a new exception with null as its detail message. sascha@894: * The cause is not initialized, and may subsequently be initialized by a sascha@894: * call to {@link #initCause}. sascha@894: */ sascha@894: public ConnectionException() { sascha@894: } sascha@894: sascha@894: /** sascha@894: * Constructs a new exception with the specified detail message. The sascha@894: * cause is not initialized, and may subsequently be initialized by sascha@894: * a call to {@link #initCause}. sascha@894: * sascha@894: * @param message the detail message. The detail message is saved for sascha@894: * later retrieval by the {@link #getMessage()} method. sascha@894: */ sascha@894: public ConnectionException(String message) { sascha@894: super(message); sascha@894: } sascha@894: sascha@894: /** sascha@894: * Constructor sascha@894: * @param pCause the Throwable which cause this exception sascha@894: */ sascha@894: public ConnectionException(Throwable pCause) { sascha@894: super(pCause); sascha@894: } sascha@894: sascha@894: /** sascha@894: * Constructs a new exception with the specified detail message and sascha@894: * cause.

Note that the detail message associated with sascha@894: * cause is not automatically incorporated in sascha@894: * this exception's detail message. sascha@894: * sascha@894: * @param message the detail message (which is saved for later retrieval sascha@894: * by the {@link #getMessage()} method). sascha@894: * @param cause the cause (which is saved for later retrieval by the sascha@894: * {@link #getCause()} method). (A null value is sascha@894: * permitted, and indicates that the cause is nonexistent or sascha@894: * unknown.) sascha@894: * @since 1.4 sascha@894: */ sascha@894: public ConnectionException(String message, Throwable cause) { sascha@894: super(message, cause); sascha@894: } sascha@894: sascha@894: /** sascha@894: * Displays the details of an SeException (if available). sascha@894: * sascha@894: */ sascha@894: public void printError() { sascha@894: if (getCause() != null && getCause() instanceof SeException) { sascha@894: SeException exception = (SeException) getCause(); sascha@894: SeError error = exception.getSeError(); sascha@894: sascha@894: sLogger.debug("\n ArcSDE Error Number : " + error.getSdeError()); sascha@894: sLogger.debug(" Error Description : " + error.getErrDesc()); sascha@894: sascha@894: int extError = error.getExtError(); sascha@894: if (extError != 0) sascha@894: sLogger.debug(" Extended Error Number : " + extError); sascha@894: sascha@894: String desc = error.getSdeErrMsg(); sascha@894: if (desc != null && desc.length() != 0) sascha@894: sLogger.debug(" Extended Error Description : " + desc); sascha@894: sascha@894: desc = error.getExtErrMsg(); sascha@894: if (desc != null && desc.length() != 0) sascha@894: sLogger.debug(" Extended Error Description : " + desc); sascha@894: sascha@894: sLogger.debug(exception); sascha@894: sascha@894: } sascha@894: sascha@894: } sascha@894: }