diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2016-04-12 10:51:45 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2016-04-12 14:09:40 +0200 |
commit | 24a6bf1fee7871fb9c93d277c5d676a48de0cf67 (patch) | |
tree | 5df64c2f0318e53c7e62cd83d8818bef66656df9 /v3po/vpp-cfg-init/src/main/java/io/fd/honeycomb/v3po/vpp/data/init/AbstractDataTreeConverter.java | |
parent | 3fc50709f4c7daddf5002758663bf01b8311416b (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.java | 25 |
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); } |