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 {
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 :