source: josm/trunk/src/org/openstreetmap/josm/io/OsmApiException.java@ 3715

Last change on this file since 3715 was 3511, checked in by stoecker, 14 years ago

fix #5410 - server error message hidden from user

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io;
3import static org.openstreetmap.josm.tools.I18n.tr;
4
5public class OsmApiException extends OsmTransferException {
6
7 private int responseCode;
8 private String errorHeader;
9 private String errorBody;
10 private String accessedUrl;
11
12 public OsmApiException() {
13 super();
14 }
15
16 public OsmApiException(int responseCode, String errorHeader, String errorBody) {
17 this.responseCode = responseCode;
18 this.errorHeader = errorHeader;
19 this.errorBody = errorBody;
20 }
21
22 public OsmApiException(String message, Throwable cause) {
23 super(message, cause);
24 }
25
26 public OsmApiException(String message) {
27 super(message);
28 }
29
30 public OsmApiException(Throwable cause) {
31 super(cause);
32 }
33
34 public int getResponseCode() {
35 return responseCode;
36 }
37
38 public void setResponseCode(int responseCode) {
39 this.responseCode = responseCode;
40 }
41
42 public String getErrorHeader() {
43 return errorHeader;
44 }
45
46 public void setErrorHeader(String errorHeader) {
47 this.errorHeader = errorHeader;
48 }
49
50 public String getErrorBody() {
51 return errorBody;
52 }
53
54 public void setErrorBody(String errorBody) {
55 this.errorBody = errorBody;
56 }
57
58 @Override
59 public String getMessage() {
60 StringBuilder sb = new StringBuilder();
61 sb.append("ResponseCode=")
62 .append(responseCode);
63 String eh = "";
64 try
65 {
66 if(errorHeader != null)
67 eh = tr(errorHeader.trim());
68 if (!eh.isEmpty()) {
69 sb.append(", Error Header=<")
70 .append(eh)
71 .append(">");
72 }
73 }
74 catch (Exception e) {
75 }
76 try
77 {
78 String eb = errorBody != null ? tr(errorBody.trim()) : "";
79 if (!eb.isEmpty() && !eb.equals(eh)) {
80 sb.append(", Error Body=<")
81 .append(eb)
82 .append(">");
83 }
84 }
85 catch (Exception e) {
86 }
87 return sb.toString();
88 }
89
90 /**
91 * Replies a message suitable to be displayed in a message dialog
92 *
93 * @return a message which is suitable to be displayed in a message dialog
94 */
95 public String getDisplayMessage() {
96 StringBuilder sb = new StringBuilder();
97 if (errorHeader != null) {
98 sb.append(tr(errorHeader));
99 sb.append(tr("(Code={0})", responseCode));
100 } else if (errorBody != null && !errorBody.trim().equals("")) {
101 errorBody = errorBody.trim();
102 sb.append(tr(errorBody));
103 sb.append(tr("(Code={0})", responseCode));
104 } else {
105 sb.append(tr("The server replied an error with code {0}.", responseCode));
106 }
107 return sb.toString();
108 }
109
110 public void setAccessedUrl(String url) {
111 this.accessedUrl = url;
112 }
113
114 public String getAccessedUrl() {
115 return accessedUrl;
116 }
117}
Note: See TracBrowser for help on using the repository browser.