X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Foperations%2Feditconfig%2FReplaceEditConfigStrategy.java;h=8d786d2c8d17757a7104e2e362499a22836c13ab;hp=4976244eae57cb6eadfec806620a10f43a2387d4;hb=992a433ff8fd0ce7335bf5ea9e59a75602a95a19;hpb=0ae12c54560ef14cb8c08beef4553f7523d41578 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/ReplaceEditConfigStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/ReplaceEditConfigStrategy.java index 4976244eae..8d786d2c8d 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/ReplaceEditConfigStrategy.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/ReplaceEditConfigStrategy.java @@ -8,65 +8,36 @@ package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; -import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; +import java.util.Map; +import java.util.Map.Entry; +import javax.management.Attribute; +import javax.management.ObjectName; import org.opendaylight.controller.config.util.ConfigTransactionClient; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; +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.ServiceRegistryWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.management.Attribute; -import javax.management.InstanceNotFoundException; -import javax.management.ObjectName; -import java.util.Map; -import java.util.Map.Entry; - public class ReplaceEditConfigStrategy extends AbstractEditConfigStrategy { - private static final Logger logger = LoggerFactory.getLogger(ReplaceEditConfigStrategy.class); - - private final Multimap providedServices; - - public ReplaceEditConfigStrategy() { - this.providedServices = HashMultimap.create(); - } - - public ReplaceEditConfigStrategy(Multimap providedServices) { - this.providedServices = providedServices; - } + private static final Logger LOG = LoggerFactory.getLogger(ReplaceEditConfigStrategy.class); @Override void handleMissingInstance(Map configuration, ConfigTransactionClient ta, - String module, String instance, ServiceRegistryWrapper services) { - throw new IllegalStateException( - "Unable to handle missing instance, no missing instances should appear at this point, missing: " - + module + ":" + instance); - } - - private void addRefNames(ServiceRegistryWrapper services, Multimap providedServices, ConfigTransactionClient ta, ObjectName on) throws InstanceNotFoundException { - for (Entry namespaceToService : providedServices.entries()) { - - if(services.hasRefName(namespaceToService.getKey(), - namespaceToService.getValue(), on)) - continue; - - String refName = services.getNewDefaultRefName(namespaceToService.getKey(), namespaceToService.getValue(), - ObjectNameUtil.getFactoryName(on), ObjectNameUtil.getInstanceName(on)); - ta.saveServiceReference( - ta.getServiceInterfaceName(namespaceToService.getKey(), namespaceToService.getValue()), refName, on); - } + String module, String instance, ServiceRegistryWrapper services) throws NetconfConfigHandlingException { + throw new NetconfConfigHandlingException( + String.format("Unable to handle missing instance, no missing instances should appear at this point, missing: %s : %s ", + module, + instance), + NetconfDocumentedException.ErrorType.application, + NetconfDocumentedException.ErrorTag.operation_failed, + NetconfDocumentedException.ErrorSeverity.error); } @Override - void executeStrategy(Map configuration, ConfigTransactionClient ta, ObjectName on, ServiceRegistryWrapper services) { - try { - addRefNames(services, providedServices, ta, on); - } catch (InstanceNotFoundException e) { - throw new IllegalStateException("Unable to save default ref name for instance " + on, e); - } - + void executeStrategy(Map configuration, ConfigTransactionClient ta, ObjectName on, ServiceRegistryWrapper services) throws NetconfConfigHandlingException { for (Entry configAttributeEntry : configuration.entrySet()) { try { AttributeConfigElement ace = configAttributeEntry.getValue(); @@ -74,12 +45,12 @@ public class ReplaceEditConfigStrategy extends AbstractEditConfigStrategy { if (!ace.getResolvedValue().isPresent()) { Object value = ace.getResolvedDefaultValue(); ta.setAttribute(on, ace.getJmxName(), new Attribute(ace.getJmxName(), value)); - logger.debug("Attribute {} set to default value {} for {}", configAttributeEntry.getKey(), value, + LOG.debug("Attribute {} set to default value {} for {}", configAttributeEntry.getKey(), value, on); } else { Object value = ace.getResolvedValue().get(); ta.setAttribute(on, ace.getJmxName(), new Attribute(ace.getJmxName(), value)); - logger.debug("Attribute {} set to value {} for {}", configAttributeEntry.getKey(), value, on); + LOG.debug("Attribute {} set to value {} for {}", configAttributeEntry.getKey(), value, on); } } catch (Exception e) {