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 }

http://dive4elements.wald.intevation.org