]> WPIA git - gigi.git/blob - src/org/cacert/gigi/GigiApiException.java
Format code according do BenBE's formatter.
[gigi.git] / src / org / cacert / gigi / GigiApiException.java
1 package org.cacert.gigi;
2
3 import java.io.PrintWriter;
4 import java.sql.SQLException;
5 import java.util.LinkedList;
6
7 public class GigiApiException extends Exception {
8
9     SQLException e;
10
11     LinkedList<String> messages = new LinkedList<>();
12
13     public GigiApiException(SQLException e) {
14         super(e);
15         this.e = e;
16     }
17
18     public GigiApiException(String message) {
19         super(message);
20         messages.add(message);
21     }
22
23     public GigiApiException() {
24
25     }
26
27     public void mergeInto(GigiApiException e2) {
28         messages.addAll(e2.messages);
29         if (e == null) {
30             e = e2.e;
31         }
32     }
33
34     public boolean isInternalError() {
35         return e != null;
36     }
37
38     public void format(PrintWriter out, Language language) {
39         out.println("<div class='formError'>");
40         if (isInternalError()) {
41             e.printStackTrace();
42             out.print("<div>");
43             out.println(language.getTranslation("An internal error ouccured."));
44             out.println("</div>");
45         }
46         for (String message : messages) {
47             out.print("<div>");
48             out.print(language.getTranslation(message));
49             out.println("</div>");
50         }
51         out.println("</div>");
52
53     }
54
55     public boolean isEmpty() {
56         return e == null && messages.size() == 0;
57     }
58
59 }