Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java @ 894:d674cef2ca0d
Using unix line endings only.
geo-backend/trunk@939 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 18 Apr 2010 09:22:38 +0000 |
parents | b757def3ff55 |
children | ebeb56428409 |
rev | line source |
---|---|
894
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
1 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
|
2 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
3 import com.esri.sde.sdk.client.SeError; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
4 import com.esri.sde.sdk.client.SeException; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
5 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
6 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
|
7 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
8 import org.apache.log4j.Logger; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
9 |
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 * 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
|
12 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
13 * @author blume |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
14 * @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
|
15 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
16 public class ConnectionException extends TechnicalException { |
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 UID of this Class. |
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 private static final long serialVersionUID = 102459262123219617L; |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
22 |
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 * Default Logging instance |
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 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
|
27 |
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 * 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
|
30 * 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
|
31 * call to {@link #initCause}. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
32 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
33 public ConnectionException() { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
34 } |
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 the specified detail message. The |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
38 * 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
|
39 * a 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 * @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
|
42 * later retrieval by the {@link #getMessage()} method. |
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 public ConnectionException(String message) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
45 super(message); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
46 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
47 |
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 * Constructor |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
50 * @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
|
51 */ |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
52 public ConnectionException(Throwable pCause) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
53 super(pCause); |
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 * 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
|
58 * 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
|
59 * <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
|
60 * this exception's detail message. |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
61 * |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
62 * @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
|
63 * by the {@link #getMessage()} method). |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
64 * @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
|
65 * {@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
|
66 * 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
|
67 * unknown.) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
68 * @since 1.4 |
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 public ConnectionException(String message, Throwable cause) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
71 super(message, cause); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
72 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
73 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
74 /** |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
75 * 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
|
76 * |
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 void printError() { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
79 if (getCause() != null && getCause() instanceof SeException) { |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
80 SeException exception = (SeException) getCause(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
81 SeError error = exception.getSeError(); |
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 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
|
84 sLogger.debug(" Error Description : " + error.getErrDesc()); |
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 int extError = error.getExtError(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
87 if (extError != 0) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
88 sLogger.debug(" Extended Error Number : " + extError); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
89 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
90 String desc = error.getSdeErrMsg(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
91 if (desc != null && desc.length() != 0) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
92 sLogger.debug(" Extended Error Description : " + desc); |
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 desc = error.getExtErrMsg(); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
95 if (desc != null && desc.length() != 0) |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
96 sLogger.debug(" Extended Error Description : " + desc); |
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 sLogger.debug(exception); |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
99 |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
100 } |
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 } |
d674cef2ca0d
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
887
diff
changeset
|
103 } |