summaryrefslogtreecommitdiffstats
path: root/tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2017-05-24 08:33:12 +0200
committerMarek Gradzki <mgradzki@cisco.com>2017-05-24 08:51:29 +0200
commit9cb05be1e97448550b60ff694c0c33dcbea702fb (patch)
treea1f8c26209f3e2b051afc70ff7272e7ed87e83c7 /tools/archetype/src/main/resources/archetype-resources/__rootArtifactId__-impl/src/main/java/read/ElementStateCustomizer.java
parent8166c0a4615ae23694ea7a4a7b050a68e9df9770 (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.java20
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);
+ }
}