diff options
author | Maros Marsalek <mmarsale@cisco.com> | 2016-04-12 10:13:37 +0200 |
---|---|---|
committer | Maros Marsalek <mmarsale@cisco.com> | 2016-04-12 10:13:37 +0200 |
commit | 28208ac2b1b9e068c51eee79cf1bfedc6a818195 (patch) | |
tree | 4bb01d13f3a070ddb7b6b4bd22393a61a527dad8 /v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java | |
parent | 1c690387dcfe8730ca9c0d4fc5ea732b172ae249 (diff) |
HONEYCOMB-9: Migrate Interface listener
Change-Id: Iffde1ee21b749a8c8efa96c243f7f8bb0811b4c7
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Diffstat (limited to 'v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java')
-rw-r--r-- | v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java b/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java index dc924fe39..967edb6a9 100644 --- a/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java +++ b/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/CompositeListWriter.java @@ -20,10 +20,12 @@ import com.google.common.base.Function; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import io.fd.honeycomb.v3po.translate.impl.TraversalType; import io.fd.honeycomb.v3po.translate.spi.write.ListWriterCustomizer; import io.fd.honeycomb.v3po.translate.write.ChildWriter; import io.fd.honeycomb.v3po.translate.write.WriteContext; import io.fd.honeycomb.v3po.translate.util.RWUtils; +import io.fd.honeycomb.v3po.translate.write.WriteFailedException; import java.util.List; import java.util.Map; import javax.annotation.Nonnull; @@ -54,7 +56,15 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten @Nonnull final List<ChildWriter<? extends ChildOf<D>>> childWriters, @Nonnull final List<ChildWriter<? extends Augmentation<D>>> augWriters, @Nonnull final ListWriterCustomizer<D, K> customizer) { - super(type, childWriters, augWriters); + this(type, childWriters, augWriters, customizer, TraversalType.PREORDER); + } + + public CompositeListWriter(@Nonnull final Class<D> type, + @Nonnull final List<ChildWriter<? extends ChildOf<D>>> childWriters, + @Nonnull final List<ChildWriter<? extends Augmentation<D>>> augWriters, + @Nonnull final ListWriterCustomizer<D, K> customizer, + @Nonnull final TraversalType traversalType) { + super(type, childWriters, augWriters, traversalType); this.customizer = customizer; } @@ -72,26 +82,27 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten @Override protected void writeCurrentAttributes(@Nonnull final InstanceIdentifier<D> id, @Nonnull final D data, - @Nonnull final WriteContext ctx) { + @Nonnull final WriteContext ctx) throws WriteFailedException { customizer.writeCurrentAttributes(id, data, ctx.getContext()); } @Override protected void deleteCurrentAttributes(@Nonnull final InstanceIdentifier<D> id, @Nonnull final D dataBefore, - @Nonnull final WriteContext ctx) { + @Nonnull final WriteContext ctx) throws WriteFailedException { customizer.deleteCurrentAttributes(id, dataBefore, ctx.getContext()); } @Override protected void updateCurrentAttributes(@Nonnull final InstanceIdentifier<D> id, @Nonnull final D dataBefore, - @Nonnull final D dataAfter, @Nonnull final WriteContext ctx) { + @Nonnull final D dataAfter, @Nonnull final WriteContext ctx) + throws WriteFailedException { customizer.updateCurrentAttributes(id, dataBefore, dataAfter, ctx.getContext()); } @Override public void writeChild(@Nonnull final InstanceIdentifier<? extends DataObject> parentId, @Nonnull final DataObject parentData, - @Nonnull final WriteContext ctx) { + @Nonnull final WriteContext ctx) throws WriteFailedException { final InstanceIdentifier<D> currentId = RWUtils.appendTypeToId(parentId, getManagedDataObjectType()); final List<D> currentData = customizer.extract(currentId, parentData); for (D entry : currentData) { @@ -102,7 +113,7 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten @Override public void deleteChild(@Nonnull final InstanceIdentifier<? extends DataObject> parentId, @Nonnull final DataObject parentDataBefore, - @Nonnull final WriteContext ctx) { + @Nonnull final WriteContext ctx) throws WriteFailedException { final InstanceIdentifier<D> currentId = RWUtils.appendTypeToId(parentId, getManagedDataObjectType()); final List<D> dataBefore = customizer.extract(currentId, parentDataBefore); for (D entry : dataBefore) { @@ -113,7 +124,7 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten @Override public void updateChild(@Nonnull final InstanceIdentifier<? extends DataObject> parentId, @Nonnull final DataObject parentDataBefore, @Nonnull final DataObject parentDataAfter, - @Nonnull final WriteContext ctx) { + @Nonnull final WriteContext ctx) throws WriteFailedException { final InstanceIdentifier<D> currentId = RWUtils.appendTypeToId(parentId, getManagedDataObjectType()); final ImmutableMap<Object, D> dataBefore = Maps.uniqueIndex(customizer.extract(currentId, parentDataBefore), INDEX_FUNCTION); @@ -138,7 +149,8 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten } @Override - protected void writeCurrent(final InstanceIdentifier<D> id, final D data, final WriteContext ctx) { + protected void writeCurrent(final InstanceIdentifier<D> id, final D data, final WriteContext ctx) + throws WriteFailedException { // Make sure the key is present if(isWildcarded(id)) { super.writeCurrent(getSpecificId(id, data), data, ctx); @@ -149,7 +161,7 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten @Override protected void updateCurrent(final InstanceIdentifier<D> id, final D dataBefore, final D dataAfter, - final WriteContext ctx) { + final WriteContext ctx) throws WriteFailedException { // Make sure the key is present if(isWildcarded(id)) { super.updateCurrent(getSpecificId(id, dataBefore), dataBefore, dataAfter, ctx); @@ -159,7 +171,8 @@ public class CompositeListWriter<D extends DataObject & Identifiable<K>, K exten } @Override - protected void deleteCurrent(final InstanceIdentifier<D> id, final D dataBefore, final WriteContext ctx) { + protected void deleteCurrent(final InstanceIdentifier<D> id, final D dataBefore, final WriteContext ctx) + throws WriteFailedException { // Make sure the key is present if(isWildcarded(id)) { super.deleteCurrent(getSpecificId(id, dataBefore), dataBefore, ctx); |