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

Last change on this file since 2939 was 2748, checked in by Gubaer, 14 years ago

new: JOSM now supports OAuth

See also online help for server preferences and new OAuth Authorisation Wizard

File size: 2.9 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 if (errorHeader != null && errorBody != null && !errorBody.trim().equals("")) {
64 sb.append(", Error Header=<")
65 .append(tr(errorHeader))
66 .append(">");
67 }
68 if (errorBody != null && !errorBody.trim().equals("")) {
69 errorBody = errorBody.trim();
70 if(!errorBody.equals(errorHeader)) {
71 sb.append(", Error Body=<")
72 .append(tr(errorBody))
73 .append(">");
74 }
75 }
76 return sb.toString();
77 }
78
79 /**
80 * Replies a message suitable to be displayed in a message dialog
81 *
82 * @return a message which is suitable to be displayed in a message dialog
83 */
84 public String getDisplayMessage() {
85 StringBuilder sb = new StringBuilder();
86 if (errorHeader != null) {
87 sb.append(tr(errorHeader));
88 sb.append(tr("(Code={0})", responseCode));
89 } else if (errorBody != null && !errorBody.trim().equals("")) {
90 errorBody = errorBody.trim();
91 sb.append(tr(errorBody));
92 sb.append(tr("(Code={0})", responseCode));
93 } else {
94 sb.append(tr("The server replied an error with code {0}.", responseCode));
95 }
96 return sb.toString();
97 }
98
99 public void setAccessedUrl(String url) {
100 this.accessedUrl = url;
101 }
102
103 public String getAccessedUrl() {
104 return accessedUrl;
105 }
106}
Note: See TracBrowser for help on using the repository browser.