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

Last change on this file since 2284 was 2240, checked in by Gubaer, 15 years ago

fixed #3625: "Upload" error (410) while fetching items for relation

File size: 2.8 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
11 public OsmApiException() {
12 super();
13 }
14
15 public OsmApiException(int responseCode, String errorHeader, String errorBody) {
16 this.responseCode = responseCode;
17 this.errorHeader = errorHeader;
18 this.errorBody = errorBody;
19 }
20
21 public OsmApiException(String message, Throwable cause) {
22 super(message, cause);
23 }
24
25 public OsmApiException(String message) {
26 super(message);
27 }
28
29 public OsmApiException(Throwable cause) {
30 super(cause);
31 }
32
33 public int getResponseCode() {
34 return responseCode;
35 }
36
37 public void setResponseCode(int responseCode) {
38 this.responseCode = responseCode;
39 }
40
41 public String getErrorHeader() {
42 return errorHeader;
43 }
44
45 public void setErrorHeader(String errorHeader) {
46 this.errorHeader = errorHeader;
47 }
48
49 public String getErrorBody() {
50 return errorBody;
51 }
52
53 public void setErrorBody(String errorBody) {
54 this.errorBody = errorBody;
55 }
56
57 @Override
58 public String getMessage() {
59 StringBuilder sb = new StringBuilder();
60 sb.append("ResponseCode=")
61 .append(responseCode);
62 if (errorHeader != null && !errorBody.trim().equals("")) {
63 sb.append(", Error Header=<")
64 .append(tr(errorHeader))
65 .append(">");
66 }
67 if (errorBody != null && !errorBody.trim().equals("")) {
68 errorBody = errorBody.trim();
69 if(!errorBody.equals(errorHeader)) {
70 sb.append(", Error Body=<")
71 .append(tr(errorBody))
72 .append(">");
73 }
74 }
75 return sb.toString();
76 }
77
78 /**
79 * Replies a message suitable to be displayed in a message dialog
80 *
81 * @return a message which is suitable to be displayed in a message dialog
82 */
83 public String getDisplayMessage() {
84 StringBuilder sb = new StringBuilder();
85 if (errorHeader != null) {
86 sb.append(tr(errorHeader));
87 sb.append(tr("(Code={0})", responseCode));
88 } else if (errorBody != null && !errorBody.trim().equals("")) {
89 errorBody = errorBody.trim();
90 sb.append(tr(errorBody));
91 sb.append(tr("(Code={0})", responseCode));
92 } else {
93 sb.append(tr("The server replied an error with code {0}.", responseCode));
94 }
95 return sb.toString();
96 }
97}
Note: See TracBrowser for help on using the repository browser.