X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FGigiApiException.java;fp=src%2Forg%2Fcacert%2Fgigi%2FGigiApiException.java;h=7b91d125fb1d200a4e1a822ab7dac70bbf3a693a;hb=562f4e5fabe180a8dfc4894241a89cae0d1655ee;hp=56d7f9addbdcbee58520a7d5c3dea8e90338fd2a;hpb=af1651c1ebb7fe2633181653a2b66a11ca6926fd;p=gigi.git diff --git a/src/org/cacert/gigi/GigiApiException.java b/src/org/cacert/gigi/GigiApiException.java index 56d7f9ad..7b91d125 100644 --- a/src/org/cacert/gigi/GigiApiException.java +++ b/src/org/cacert/gigi/GigiApiException.java @@ -2,17 +2,31 @@ package org.cacert.gigi; import java.io.PrintWriter; import java.sql.SQLException; +import java.util.LinkedList; public class GigiApiException extends Exception { SQLException e; - String message; + LinkedList messages = new LinkedList<>(); public GigiApiException(SQLException e) { + super(e); this.e = e; } public GigiApiException(String message) { - this.message = message; + super(message); + messages.add(message); + } + + public GigiApiException() { + + } + + public void mergeInto(GigiApiException e2) { + messages.addAll(e2.messages); + if (e == null) { + e = e2.e; + } } public boolean isInternalError() { @@ -20,13 +34,24 @@ public class GigiApiException extends Exception { } public void format(PrintWriter out, Language language) { + out.println("
"); if (isInternalError()) { e.printStackTrace(); + out.print("
"); out.println(language.getTranslation("An internal error ouccured.")); - } else { - out.println(language.getTranslation(message)); + out.println("
"); + } + for (String message : messages) { + out.print("
"); + out.print(language.getTranslation(message)); + out.println("
"); } + out.println("
"); + + } + public boolean isEmpty() { + return e == null && messages.size() == 0; } }