summaryrefslogtreecommitdiffstats
path: root/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-04-12 10:51:45 +0200
committerMarek Gradzki <mgradzki@cisco.com>2016-04-12 14:09:40 +0200
commit24a6bf1fee7871fb9c93d277c5d676a48de0cf67 (patch)
tree5df64c2f0318e53c7e62cd83d8818bef66656df9 /v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java
parent3fc50709f4c7daddf5002758663bf01b8311416b (diff)
HONEYCOMB-34: Config initializer for ietf-interfaces
Change-Id: I164ab014638d40d1494dacb704c079c166256128 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/AbstractDataTreeConverter.java')
-rw-r--r--v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java25
1 files changed, 20 insertions, 5 deletions
diff --git a/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java b/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java
index a8144f258..18c0dce59 100644
--- a/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java
+++ b/v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java
@@ -47,11 +47,20 @@ public abstract class AbstractDataTreeConverter<O extends DataObject, C extends
private final DataBroker bindingDataBroker;
public AbstractDataTreeConverter(final DataBroker bindingDataBroker,
- final InstanceIdentifier<O> idOper,
- final InstanceIdentifier<C> idConfig) {
+ final InstanceIdentifier<O> operRootId,
+ final InstanceIdentifier<C> cfgRootId) {
this.bindingDataBroker = checkNotNull(bindingDataBroker, "bindingDataBroker should not be null");
- this.idOper = checkNotNull(idOper, "idOper should not be null");
- this.idConfig = checkNotNull(idConfig, "idConfig should not be null");
+ this.idOper = checkNotNull(operRootId, "operRootId should not be null");
+ this.idConfig = checkNotNull(cfgRootId, "cfgRootId should not be null");
+ }
+
+ @Override
+ public void close() throws Exception {
+ LOG.debug("AbstractDataTreeConverter.close()");
+ final WriteTransaction writeTx = bindingDataBroker.newWriteOnlyTransaction();
+ writeTx.delete(LogicalDatastoreType.CONFIGURATION, idConfig);
+ writeTx.submit().checkedGet();
+ LOG.info("Config initialization data for {} successfully removed.", idConfig);
}
@Override
@@ -90,9 +99,15 @@ public abstract class AbstractDataTreeConverter<O extends DataObject, C extends
private void writeData(final C configData) throws TransactionCommitFailedException {
final WriteTransaction writeTx = bindingDataBroker.newWriteOnlyTransaction();
- writeTx.merge(LogicalDatastoreType.CONFIGURATION, idConfig, configData);
+ writeTx.put(LogicalDatastoreType.CONFIGURATION, idConfig, configData);
writeTx.submit().checkedGet();
}
+ // TODO make this class concrete and use function dependency instead of abstract method
+ /**
+ * Converts operational data to config data for given root node
+ * @param operationalData data object representing operational data
+ * @return data object representing config data
+ */
protected abstract C convert(final O operationalData);
}