X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Foperations%2Feditconfig%2FNoneEditConfigStrategy.java;h=83afd708163e2068ddd287aac7058b4330c79480;hb=071a641d7c12c0e6112d5ce0afe806b54f116ed2;hp=8347c6b88e23325fa579527a5f30785a99216b7d;hpb=576aa6018e48dfca8f223b7ac929139a32135201;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/NoneEditConfigStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/NoneEditConfigStrategy.java index 8347c6b88e..83afd70816 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/NoneEditConfigStrategy.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/NoneEditConfigStrategy.java @@ -8,22 +8,36 @@ package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig; +import java.util.Collections; import java.util.Map; - import org.opendaylight.controller.config.util.ConfigTransactionClient; +import org.opendaylight.controller.netconf.confignetconfconnector.exception.NetconfConfigHandlingException; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.AttributeConfigElement; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.Services; +import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ServiceRegistryWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class NoneEditConfigStrategy implements EditConfigStrategy { - private static final Logger logger = LoggerFactory.getLogger(NoneEditConfigStrategy.class); + private static final Logger LOG = LoggerFactory.getLogger(NoneEditConfigStrategy.class); @Override public void executeConfiguration(String module, String instance, Map configuration, - ConfigTransactionClient ta, Services services) { - logger.debug("Skipping configuration element for {}:{}", module, instance); + ConfigTransactionClient ta, ServiceRegistryWrapper services) throws NetconfConfigHandlingException { + if(configuration != null && !configuration.isEmpty()) { + for (Map.Entry attrEntry : configuration.entrySet()) { + if(attrEntry.getValue().getEditStrategy().isPresent()) { + final Map partialConfig = + Collections.singletonMap(attrEntry.getKey(), attrEntry.getValue()); + attrEntry.getValue().getEditStrategy().get().getFittingStrategy() + .executeConfiguration(module, instance, partialConfig, ta, services); + } else { + LOG.debug("Skipping configuration element for {}:{}:{}", module, instance, attrEntry.getKey()); + } + } + } else { + LOG.debug("Skipping configuration element for {}:{}", module, instance); + } } }