annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java @ 1127:ebeb56428409

Added license headers and license file. geo-backend/trunk@1261 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 02 Nov 2010 17:52:22 +0000
parents d674cef2ca0d
children
rev   line source
1127
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
1 /*
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
2 * Copyright (c) 2010 by Intevation GmbH
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
3 *
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
5 * Read the file LGPL.txt coming with the software for details
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
7 */
ebeb56428409 Added license headers and license file.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 894
diff changeset
8
894
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
9 package de.intevation.gnv.geobackend.base.connectionpool.exception;
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
10
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
11 import com.esri.sde.sdk.client.SeError;
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
12 import com.esri.sde.sdk.client.SeException;
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
13
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
14 import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException;
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
15
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
16 import org.apache.log4j.Logger;
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
17
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
18 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
19 * The class <code>lConnectionException</code> fulfills the following purposes:
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
20 *
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
21 * @author blume
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
22 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
23 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
24 public class ConnectionException extends TechnicalException {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
25
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
26 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
27 * The UID of this Class.
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
28 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
29 private static final long serialVersionUID = 102459262123219617L;
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
30
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
31 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
32 * Default Logging instance
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
33 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
34 private static Logger sLogger = Logger.getLogger(ConnectionException.class);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
35
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
36 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
37 * Constructs a new exception with <code>null</code> as its detail message.
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
38 * The cause is not initialized, and may subsequently be initialized by a
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
39 * call to {@link #initCause}.
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
40 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
41 public ConnectionException() {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
42 }
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
43
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
44 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
45 * Constructs a new exception with the specified detail message. The
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
46 * cause is not initialized, and may subsequently be initialized by
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
47 * a call to {@link #initCause}.
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
48 *
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
49 * @param message the detail message. The detail message is saved for
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
50 * later retrieval by the {@link #getMessage()} method.
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
51 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
52 public ConnectionException(String message) {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
53 super(message);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
54 }
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
55
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
56 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
57 * Constructor
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
58 * @param pCause the Throwable which cause this exception
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
59 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
60 public ConnectionException(Throwable pCause) {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
61 super(pCause);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
62 }
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
63
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
64 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
65 * Constructs a new exception with the specified detail message and
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
66 * cause. <p>Note that the detail message associated with
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
67 * <code>cause</code> is <i>not</i> automatically incorporated in
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
68 * this exception's detail message.
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
69 *
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
70 * @param message the detail message (which is saved for later retrieval
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
71 * by the {@link #getMessage()} method).
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
72 * @param cause the cause (which is saved for later retrieval by the
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
73 * {@link #getCause()} method). (A <tt>null</tt> value is
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
74 * permitted, and indicates that the cause is nonexistent or
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
75 * unknown.)
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
76 * @since 1.4
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
77 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
78 public ConnectionException(String message, Throwable cause) {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
79 super(message, cause);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
80 }
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
81
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
82 /**
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
83 * Displays the details of an SeException (if available).
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
84 *
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
85 */
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
86 public void printError() {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
87 if (getCause() != null && getCause() instanceof SeException) {
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
88 SeException exception = (SeException) getCause();
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
89 SeError error = exception.getSeError();
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
90
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
91 sLogger.debug("\n ArcSDE Error Number : " + error.getSdeError());
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
92 sLogger.debug(" Error Description : " + error.getErrDesc());
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
93
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
94 int extError = error.getExtError();
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
95 if (extError != 0)
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
96 sLogger.debug(" Extended Error Number : " + extError);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
97
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
98 String desc = error.getSdeErrMsg();
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
99 if (desc != null && desc.length() != 0)
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
100 sLogger.debug(" Extended Error Description : " + desc);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
101
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
102 desc = error.getExtErrMsg();
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
103 if (desc != null && desc.length() != 0)
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
104 sLogger.debug(" Extended Error Description : " + desc);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
105
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
106 sLogger.debug(exception);
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
107
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
108 }
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
109
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
110 }
d674cef2ca0d Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 887
diff changeset
111 }

http://dive4elements.wald.intevation.org