diff options
author | Leif Åstrand <leif@vaadin.com> | 2013-02-06 12:26:45 +0200 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2013-02-06 12:26:45 +0200 |
commit | 7e278d4af37a45fda84cbda917418dcd6d8e08e6 (patch) | |
tree | b107cb915d5e6ceb30da427c6f4dd34a0eac7ba2 /server/src/com/vaadin/ui/Table.java | |
parent | 2d9e28e19c27554ba84ba935271bbbfe101459d5 (diff) | |
download | vaadin-framework-7e278d4af37a45fda84cbda917418dcd6d8e08e6.tar.gz vaadin-framework-7e278d4af37a45fda84cbda917418dcd6d8e08e6.zip |
Set the first cause as the cause of CacheUpdateException (#10951)
Change-Id: Icadfd46919c14fccfa1531b6f2b3e245dea3b111
Diffstat (limited to 'server/src/com/vaadin/ui/Table.java')
-rw-r--r-- | server/src/com/vaadin/ui/Table.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/server/src/com/vaadin/ui/Table.java b/server/src/com/vaadin/ui/Table.java index 940001fb51..a9632da038 100644 --- a/server/src/com/vaadin/ui/Table.java +++ b/server/src/com/vaadin/ui/Table.java @@ -1660,7 +1660,7 @@ public class Table extends AbstractSelect implements Action.Container, exceptionsDuringCachePopulation.clear(); throw new CacheUpdateException(this, - "Error during Table cache update", causes); + "Error during Table cache update.", causes); } } @@ -1669,7 +1669,9 @@ public class Table extends AbstractSelect implements Action.Container, * Exception thrown when one or more exceptions occurred during updating of * the Table cache. * <p> - * Contains all exceptions which occurred during the cache update. + * Contains all exceptions which occurred during the cache update. The first + * occurred exception is set as the cause of this exception. All occurred + * exceptions can be accessed using {@link #getCauses()}. * </p> * */ @@ -1679,11 +1681,20 @@ public class Table extends AbstractSelect implements Action.Container, public CacheUpdateException(Table table, String message, Throwable[] causes) { - super(message); + super(maybeSupplementMessage(message, causes.length), causes[0]); this.table = table; this.causes = causes; } + private static String maybeSupplementMessage(String message, + int causeCount) { + if (causeCount > 1) { + return message + " Additional causes not shown."; + } else { + return message; + } + } + /** * Returns the cause(s) for this exception * |