diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2017-05-24 08:33:12 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-05-24 08:51:29 +0200 |
commit | 9cb05be1e97448550b60ff694c0c33dcbea702fb (patch) | |
tree | a1f8c26209f3e2b051afc70ff7272e7ed87e83c7 /tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java | |
parent | 8166c0a4615ae23694ea7a4a7b050a68e9df9770 (diff) |
Update initialization example in honeycomb archetype
Removes unsupported AbstractDataTreeConverter
Change-Id: I0b45f1d16139a55f2248294b57bfad6d8ee32c45
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java')
-rw-r--r-- | tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java b/tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java index 8f1c3a79d..22e8032a6 100644 --- a/tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java +++ b/tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java @@ -27,7 +27,8 @@ package ${package}.read; import ${package}.CrudService; import io.fd.honeycomb.translate.read.ReadContext; import io.fd.honeycomb.translate.read.ReadFailedException; -import io.fd.honeycomb.translate.spi.read.ListReaderCustomizer; +import io.fd.honeycomb.translate.spi.read.Initialized; +import io.fd.honeycomb.translate.spi.read.InitializingListReaderCustomizer; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Nonnull; @@ -43,7 +44,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; * Reader for {@link Element} list node from our YANG model. */ public final class ElementStateCustomizer implements - ListReaderCustomizer<Element, ElementKey, ElementBuilder> { + InitializingListReaderCustomizer<Element, ElementKey, ElementBuilder> { private final CrudService<Element> crudService; @@ -90,4 +91,19 @@ public final class ElementStateCustomizer implements builder.setKey(data.getKey()); builder.setDescription(data.getDescription()); } + /** + * + * Initialize configuration data based on operational data. + * <p/> + * Very useful when a plugin is initiated but the underlying layer already contains some operation state. + * Deriving the configuration from existing operational state enables reconciliation in case when + * Honeycomb's persistence is not available to do the work for us. + */ + @Nonnull + @Override + public Initialized<? extends DataObject> init(@Nonnull final InstanceIdentifier<Element> id, + @Nonnull final Element readValue, + @Nonnull final ReadContext ctx) { + return Initialized.create(id, readValue); + } } |