summaryrefslogtreecommitdiffstats
path: root/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-04-11 08:56:06 +0200
committerMarek Gradzki <mgradzki@cisco.com>2016-04-12 11:04:11 +0200
commitf93415dd8b3719b380b4295ab364420b9bf3d927 (patch)
tree057de7e397985b74cef738936983c7db6e741cd7 /v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java
parentd99066504f76a181c90832b939956f43b409c075 (diff)
HONEYCOMB-34: Config tree initialization using ModifiableDataTree dependency
Change-Id: I9fa6119a92cc1979ed6f3364bb74e856a7a712c5 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java')
-rw-r--r--v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java68
1 files changed, 15 insertions, 53 deletions
diff --git a/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java b/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java
index eaf86a633..e5220f7e8 100644
--- a/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java
+++ b/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/InitializerRegistryImpl.java
@@ -16,75 +16,37 @@
package io.fd.honeycomb.v3po.vpp.data.init;
+import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
-import com.google.common.base.Optional;
-import io.fd.honeycomb.v3po.translate.Context;
-import io.fd.honeycomb.v3po.translate.read.ReadContext;
-import io.fd.honeycomb.v3po.translate.read.ReadFailedException;
-import io.fd.honeycomb.v3po.translate.read.ReaderRegistry;
+import java.util.List;
import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VppState;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.BridgeDomains;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class InitializerRegistryImpl implements InitializerRegistry, AutoCloseable {
+public class InitializerRegistryImpl implements InitializerRegistry {
private static final Logger LOG = LoggerFactory.getLogger(InitializerRegistryImpl.class);
- private final ReaderRegistry readerRegistry;
+ private final List<DataTreeInitializer> initializers;
- public InitializerRegistryImpl(@Nonnull final ReaderRegistry readerRegistry) {
- this.readerRegistry = checkNotNull(readerRegistry, "readerRegistry should not be null");
+ public InitializerRegistryImpl(@Nonnull List<DataTreeInitializer> initializers) {
+ this.initializers = checkNotNull(initializers, "initializers should not be null");
+ checkArgument(!initializers.contains(null), "initializers should not contain null elements");
}
-
@Override
public void close() throws Exception {
- LOG.info("Initializer.close()");
- // TODO remove data
- }
-
- public void initialize() {
- try {
- initializeBridgeDomains();
- } catch (Exception e) {
- LOG.error("Initialization failed", e);
+ LOG.debug("InitializerRegistryImpl.close()");
+ for (DataTreeInitializer initializer : initializers) {
+ initializer.close();
}
}
@Override
- public void clean() {
-
- }
-
- // TODO make configurable
- private void initializeBridgeDomains() throws ReadFailedException {
-
- final InstanceIdentifier<BridgeDomains> bdsID =
- InstanceIdentifier.create(VppState.class).child(BridgeDomains.class);
- final ReadContext ctx = new ReadContextImpl();
- final Optional<? extends DataObject> data = readerRegistry.read(bdsID, ctx);
-
- LOG.info("BridgeDomains data: {}", data);
-
- }
-
- // TODO move to utility module
- private static final class ReadContextImpl implements ReadContext {
- public final Context ctx = new Context();
-
- @Nonnull
- @Override
- public Context getContext() {
- return ctx;
- }
-
- @Override
- public void close() {
- // Make sure to clear the storage in case some customizer stored it to prevent memory leaks
- ctx.close();
+ public void initialize() throws InitializeException {
+ // TODO check if readers are there
+ LOG.debug("InitializerRegistryImpl.initialize()");
+ for (DataTreeInitializer initializer : initializers) {
+ initializer.initialize();
}
}
}