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%2FInstanceConfigElementResolved.java;h=c9605af5868db41a4910523d61347d2d83ae1729;hb=d166f8ebd062f3a28a6ad7b7eb03988bb9052600;hp=55cb60bed5e7df0268908b160650ecd46101e137;hpb=a50a652c906bf6fdf3c149f223b763ef6f5aaf68;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/InstanceConfigElementResolved.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/InstanceConfigElementResolved.java index 55cb60bed5..c9605af586 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/InstanceConfigElementResolved.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/InstanceConfigElementResolved.java @@ -8,15 +8,14 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config; -import com.google.common.base.Preconditions; import com.google.common.collect.Multimap; +import java.util.Map; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; +import org.opendaylight.controller.netconf.confignetconfconnector.exception.OperationNotPermittedException; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.AttributeConfigElement; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfigStrategy; -import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfigXmlParser; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditStrategyType; -import java.util.Map; - /** * Parsed xml element containing whole configuration for an instance of some * module. Contains preferred edit strategy type. @@ -27,8 +26,9 @@ public class InstanceConfigElementResolved { private final Map configuration; private final Multimap providedServices; - public InstanceConfigElementResolved(String currentStrategy, Map configuration, EditStrategyType defaultStrategy, Multimap providedServices) { - EditStrategyType valueOf = checkStrategy(currentStrategy, defaultStrategy); + public InstanceConfigElementResolved(String currentStrategy, Map configuration, EditStrategyType defaultStrategy, Multimap providedServices) throws NetconfDocumentedException { + EditStrategyType valueOf = null; + valueOf = parseStrategy(currentStrategy, defaultStrategy); this.editStrategy = valueOf; this.configuration = configuration; this.providedServices = providedServices; @@ -41,19 +41,10 @@ public class InstanceConfigElementResolved { } - EditStrategyType checkStrategy(String currentStrategy, EditStrategyType defaultStrategy) { - EditStrategyType valueOf = EditStrategyType.valueOf(currentStrategy); - if (defaultStrategy.isEnforcing()) { - Preconditions - .checkArgument( - valueOf == defaultStrategy, - "With " - + defaultStrategy - + " as " - + EditConfigXmlParser.DEFAULT_OPERATION_KEY - + " operations on module elements are not permitted since the default option is restrictive"); - } - return valueOf; + static EditStrategyType parseStrategy(String currentStrategy, EditStrategyType defaultStrategy) throws OperationNotPermittedException { + EditStrategyType parsedStrategy = EditStrategyType.valueOf(currentStrategy); + EditStrategyType.compareParsedStrategyToDefaultEnforcing(parsedStrategy,defaultStrategy); + return parsedStrategy; }