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%2Fmapping%2Fconfig%2FModuleElementDefinition.java;h=b772eee0d7a9f3b37a5c8854cfe6b9d1650270b2;hb=4fee0ccd36697c748340eb0d836864699e213da9;hp=9111701ba01d08e604d255da904846dae202839f;hpb=91d7c1ee52322acad08e9f81228ac36b3aa684f5;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleElementDefinition.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleElementDefinition.java index 9111701ba0..b772eee0d7 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleElementDefinition.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleElementDefinition.java @@ -8,10 +8,13 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config; +import org.opendaylight.controller.netconf.confignetconfconnector.exception.OperationNotPermittedException; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfigStrategy; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditStrategyType; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.MissingInstanceHandlingStrategy; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.NoneEditConfigStrategy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ModuleElementDefinition { @@ -20,13 +23,26 @@ public class ModuleElementDefinition { private final String instanceName; private final EditStrategyType editStrategy; + private static final Logger logger = LoggerFactory.getLogger(ModuleElementDefinition.class); public ModuleElementDefinition(String instanceName, String currentStrategy, EditStrategyType defaultStrategy) { this.instanceName = instanceName; - if (currentStrategy == null || currentStrategy.isEmpty()) + if (currentStrategy == null || currentStrategy.isEmpty()) { this.editStrategy = defaultStrategy; - else - this.editStrategy = InstanceConfigElementResolved.parseStrategy(currentStrategy, defaultStrategy); + } else { + EditStrategyType _edStrategy = null; + try { + _edStrategy = InstanceConfigElementResolved.parseStrategy(currentStrategy, defaultStrategy); + } catch (OperationNotPermittedException e) { + _edStrategy = defaultStrategy; + logger.warn("Operation not permitted on current strategy {} while default strategy is {}. Element definition strategy set to default.", + currentStrategy, + defaultStrategy, + e); + } + this.editStrategy = _edStrategy; + } + } public String getInstanceName() {