summaryrefslogtreecommitdiffstats
path: root/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2018-04-13 13:38:16 +0200
committerMarek Gradzki <mgradzki@cisco.com>2018-08-17 10:17:58 +0000
commitd1b102f6fafced3c7badb09ecc78fec590704c8a (patch)
treefb9c7041b25cdd36b46cf25e789c850db38f2349 /infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/write/GenericWriter.java
parentfa641a3e06a905cb3222ebd15a2b4ab90b599efc (diff)
HONEYCOMB-431: add validation support to Writers
This patch introduces FlatWriterRegistry.validateModifications. Implementation iterates over writersOrder following bulkUpdate logic to properly support subtree writers case. Writers are now cabable of validating modifications. Commonly used implementations (GenericWriter and GenericListWriter) delegate validation capbility to Validators. Change-Id: If7a0bb0838c0b8f2c0393c989f3b03853a2ea679 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
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.java9
1 files changed, 8 insertions, 1 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 086936e38..bfdf072c0 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
@@ -16,9 +16,10 @@
package io.fd.honeycomb.translate.impl.write;
-import io.fd.honeycomb.translate.write.WriteContext;
import io.fd.honeycomb.translate.spi.write.WriterCustomizer;
import io.fd.honeycomb.translate.util.write.AbstractGenericWriter;
+import io.fd.honeycomb.translate.write.Validator;
+import io.fd.honeycomb.translate.write.WriteContext;
import io.fd.honeycomb.translate.write.WriteFailedException;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -39,7 +40,13 @@ public final class GenericWriter<D extends DataObject> extends AbstractGenericWr
@Nonnull final WriterCustomizer<D> customizer) {
super(type, isUpdateSupported(customizer));
this.customizer = customizer;
+ }
+ public GenericWriter(@Nonnull final InstanceIdentifier<D> type,
+ @Nonnull final WriterCustomizer<D> customizer,
+ @Nonnull final Validator<D> validator) {
+ super(type, isUpdateSupported(customizer), validator);
+ this.customizer = customizer;
}
static boolean isUpdateSupported(final @Nonnull WriterCustomizer<?> customizer) {