reportbuilder/java/org/libreoffice/report/SOImageService.java | 4 +- reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java | 16 ++++++++-- 2 files changed, 15 insertions(+), 5 deletions(-)
New commits: commit f4a2cff16ea546e7d0a135d4b061a65e783ab422 Author: Lionel Elie Mamane <lio...@mamane.lu> Date: Wed Jan 21 15:41:55 2015 +0100 Don't try to pass an arbitrary Java exception through UNO also make other exceptions more verbose Change-Id: Id6bf88b1ec228b20b19c89ccf6ee14d0c1ffb44d diff --git a/reportbuilder/java/org/libreoffice/report/SOImageService.java b/reportbuilder/java/org/libreoffice/report/SOImageService.java index 3cfdf35..f472d28 100644 --- a/reportbuilder/java/org/libreoffice/report/SOImageService.java +++ b/reportbuilder/java/org/libreoffice/report/SOImageService.java @@ -45,7 +45,7 @@ public class SOImageService implements ImageService { if (xCompContext == null) { - throw new ReportExecutionException(); + throw new ReportExecutionException("SOImageService constructed with null Component Context"); } @@ -55,7 +55,7 @@ public class SOImageService implements ImageService if (m_xGraphicProvider == null) { - throw new ReportExecutionException("There is no graphic-provider available."); + throw new ReportExecutionException("There is no graphic-provider available for SOImageService."); } } diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java b/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java index 68b1b17..1b53cc0 100644 --- a/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java +++ b/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java @@ -61,6 +61,10 @@ import com.sun.star.uno.XComponentContext; import java.util.logging.Level; import java.util.logging.Logger; +import java.io.Writer; +import java.io.PrintWriter; +import java.io.StringWriter; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -216,12 +220,18 @@ public class SOReportJobFactory catch (java.lang.Exception e) { LOGGER.error("ReportProcessing failed", e); - throw new com.sun.star.lang.WrappedTargetException(e, e.getMessage(), this, null); + Writer result = new StringWriter(); + PrintWriter printWriter = new PrintWriter(result); + e.printStackTrace(printWriter); + throw new com.sun.star.lang.WrappedTargetException(e.toString() + '\n' + result.toString(), this, null); } - catch (java.lang.IncompatibleClassChangeError e2) + catch (java.lang.IncompatibleClassChangeError e) { LOGGER.error("Detected an IncompatibleClassChangeError"); - throw new com.sun.star.lang.WrappedTargetException(e2, "caught a " + e2.getClass().getName(), this, new com.sun.star.uno.Exception(e2.getLocalizedMessage())); + Writer result = new StringWriter(); + PrintWriter printWriter = new PrintWriter(result); + e.printStackTrace(printWriter); + throw new com.sun.star.lang.WrappedTargetException(e.toString() + '\n' + result.toString(), this, null); } Thread.currentThread().setContextClassLoader(cl); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits