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%2FAbstractEditConfigStrategy.java;h=820f8ff7723237cb45a798faa6831bcfb7523d76;hb=31b7a44c89d1057489338492fcf62a64147bea24;hp=d8ea7d7af7ac955b339d629312d84b98a9fdf617;hpb=a92d9d6a21a0f6ca8d2153795721f500eaf29ee9;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/AbstractEditConfigStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/AbstractEditConfigStrategy.java index d8ea7d7af7..820f8ff772 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/AbstractEditConfigStrategy.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/AbstractEditConfigStrategy.java @@ -8,38 +8,42 @@ package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig; -import java.util.Map; - -import javax.management.InstanceNotFoundException; -import javax.management.ObjectName; - 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.ServiceRegistryWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.management.InstanceNotFoundException; +import javax.management.ObjectName; +import java.util.Map; + public abstract class AbstractEditConfigStrategy implements EditConfigStrategy { private static final Logger logger = LoggerFactory.getLogger(AbstractEditConfigStrategy.class); @Override public void executeConfiguration(String module, String instance, Map configuration, - ConfigTransactionClient ta) { + ConfigTransactionClient ta, ServiceRegistryWrapper services) throws NetconfConfigHandlingException { try { ObjectName on = ta.lookupConfigBean(module, instance); logger.debug("ServiceInstance for {} {} located successfully under {}", module, instance, on); - executeStrategy(configuration, ta, on); + executeStrategy(configuration, ta, on, services); } catch (InstanceNotFoundException e) { - handleMissingInstance(configuration, ta, module, instance); + handleMissingInstance(configuration, ta, module, instance, services); } } + // TODO split missing instances handling strategies from edit config strategies in this hierarchy = REFACTOR + // edit configs should not handle missing + abstract void handleMissingInstance(Map configuration, ConfigTransactionClient ta, - String module, String instance); + String module, String instance, ServiceRegistryWrapper services) throws NetconfConfigHandlingException; abstract void executeStrategy(Map configuration, ConfigTransactionClient ta, - ObjectName objectName); + ObjectName objectName, ServiceRegistryWrapper services) throws NetconfConfigHandlingException; }