From 6009309445cbab4de8042c8c62184892683b5898 Mon Sep 17 00:00:00 2001 From: netconomy Date: Fri, 7 Dec 2007 10:47:04 +0000 Subject: neu: CaptionNotFoundException 701 in BinarySignature wenn zuwinig Platz, verbessertes Ex Handling git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@235 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../gv/egiz/pdfas/exceptions/ErrorCodeHelper.java | 58 +++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) (limited to 'src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java') diff --git a/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java b/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java index 4144a10..5b37bdf 100644 --- a/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java +++ b/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java @@ -6,13 +6,17 @@ package at.gv.egiz.pdfas.exceptions; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import at.gv.egiz.pdfas.api.exceptions.PdfAsException; +import at.gv.egiz.pdfas.exceptions.external.ExternalErrorException; +import at.gv.egiz.pdfas.exceptions.pdf.CaptionNotFoundException; import at.knowcenter.wag.egov.egiz.cfg.SettingsReader; +import at.knowcenter.wag.egov.egiz.exceptions.PlaceholderException; import at.knowcenter.wag.egov.egiz.exceptions.SettingNotFoundException; import at.knowcenter.wag.egov.egiz.exceptions.SettingsException; /** * @author wprinz - * + * */ public class ErrorCodeHelper { @@ -40,4 +44,56 @@ public class ErrorCodeHelper return null; } + /** + * Forms a speaking textual error message for the given PdfAsException. + * + * @param e + * The PdfAsException to be formed into a speaking text. + * @return Returns the speaking error message explaining the PdfAsException. + */ + public static String formErrorMessage(PdfAsException e) + { + String message = "Fehler " + e.getErrorCode() + ":"; + + if (e.getErrorCode() == ErrorCode.PLACEHOLDER_EXCEPTION) + { + PlaceholderException phe = null; + if (e instanceof PlaceholderException) + { + phe = (PlaceholderException) e; + } + else + { + phe = (PlaceholderException) e.getCause(); + } + + message += " Der Platzhalter des Feldes " + phe.getField() + " ist um " + phe.getMissing() + " Bytes zu kurz."; + } + + if (e.getErrorCode() == ErrorCode.CAPTION_NOT_FOUND_EXCEPTION) + { + CaptionNotFoundException cnfe = null; + if (e instanceof CaptionNotFoundException) + { + cnfe = (CaptionNotFoundException)e; + } + else + { + cnfe = (CaptionNotFoundException)e.getCause(); + } + + message += " Die Überschrift (Caption/Label) \"" + cnfe.getCaption() + "\" wurde nicht wiedergefunden."; + } + + message += " " + ErrorCodeHelper.getMessageForErrorCode(e.getErrorCode()); + + if (e instanceof ExternalErrorException) + { + ExternalErrorException eee = (ExternalErrorException) e; + message += " Externer Fehlergrund: " + eee.getExternalErrorCode() + ": " + eee.getExternalErrorMessage(); + } + + return message; + } + } -- cgit v1.2.3