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%2Fmapping%2Fconfig%2FModuleElementDefinition.java;h=92b7a487e08cd00397f7cb943055c0e9d2660be4;hp=9111701ba01d08e604d255da904846dae202839f;hb=8720a3f3498bbc6fab675431f4200d26641a8ec8;hpb=a57a5b4002790af8574db2b1d940106298bf18c3 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..92b7a487e0 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,23 +23,32 @@ 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() { return instanceName; } - public EditStrategyType getEditStrategyType() { - return editStrategy; - } - public EditConfigStrategy getEditStrategy() { switch (editStrategy) { case delete :