Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java @ 1145:dfe1ac687c7f tip
added tags
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:16:15 +0200 |
parents | ebeb56428409 |
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 } |