summaryrefslogtreecommitdiffstats
path: root/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java')
-rw-r--r--infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java
index 486da9b4a..30d15e370 100644
--- a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java
+++ b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java
@@ -40,15 +40,21 @@ public final class GenericWriter<D extends DataObject> extends AbstractGenericWr
@Override
protected void writeCurrentAttributes(@Nonnull final InstanceIdentifier<D> id, @Nonnull final D data,
@Nonnull final WriteContext ctx) throws WriteFailedException {
- // TODO wrap all customizer invocations in try catch, and wrap runtime exceptions in ReadFailed
- // TODO same for readers
- customizer.writeCurrentAttributes(id, data, ctx);
+ try {
+ customizer.writeCurrentAttributes(id, data, ctx);
+ } catch (RuntimeException e) {
+ throw new WriteFailedException.CreateFailedException(id, data, e);
+ }
}
@Override
protected void deleteCurrentAttributes(@Nonnull final InstanceIdentifier<D> id, @Nonnull final D dataBefore,
@Nonnull final WriteContext ctx) throws WriteFailedException {
- customizer.deleteCurrentAttributes(id, dataBefore, ctx);
+ try {
+ customizer.deleteCurrentAttributes(id, dataBefore, ctx);
+ } catch (RuntimeException e) {
+ throw new WriteFailedException.DeleteFailedException(id, e);
+ }
}
@Override
@@ -56,6 +62,10 @@ public final class GenericWriter<D extends DataObject> extends AbstractGenericWr
@Nonnull final D dataBefore,
@Nonnull final D dataAfter,
@Nonnull final WriteContext ctx) throws WriteFailedException {
- customizer.updateCurrentAttributes(id, dataBefore, dataAfter, ctx);
+ try {
+ customizer.updateCurrentAttributes(id, dataBefore, dataAfter, ctx);
+ } catch (RuntimeException e) {
+ throw new WriteFailedException.UpdateFailedException(id, dataBefore, dataAfter, e);
+ }
}
}