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=ef5ba753d320d8198cbe5c1a09925835a4cc8533;hb=b80124e3f7b11cf2f5e5bd4a6b033d855ff4d0d4;hp=6624fc182ebf09021500856bf6bd72cd676a6214;hpb=a92d9d6a21a0f6ca8d2153795721f500eaf29ee9;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 6624fc182e..ef5ba753d3 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,14 +8,13 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config; -import com.google.common.base.Preconditions; +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. @@ -25,32 +24,26 @@ public class InstanceConfigElementResolved { private final EditStrategyType editStrategy; private final Map configuration; - public InstanceConfigElementResolved(String strat, Map configuration) { - EditStrategyType valueOf = checkStrategy(strat); - this.editStrategy = valueOf; + public InstanceConfigElementResolved(String currentStrategy, Map configuration, + EditStrategyType defaultStrategy) + throws NetconfDocumentedException { + this.editStrategy = parseStrategy(currentStrategy, defaultStrategy); this.configuration = configuration; } - EditStrategyType checkStrategy(String strat) { - EditStrategyType valueOf = EditStrategyType.valueOf(strat); - if (EditStrategyType.defaultStrategy().isEnforcing()) { - Preconditions - .checkArgument( - valueOf == EditStrategyType.defaultStrategy(), - "With " - + EditStrategyType.defaultStrategy() - + " as " - + EditConfigXmlParser.DEFAULT_OPERATION_KEY - + " operations on module elements are not permitted since the default option is restrictive"); - } - return valueOf; + public InstanceConfigElementResolved(Map configuration, EditStrategyType defaultStrategy) { + editStrategy = defaultStrategy; + this.configuration = configuration; } - public InstanceConfigElementResolved(Map configuration) { - editStrategy = EditStrategyType.defaultStrategy(); - this.configuration = configuration; + + static EditStrategyType parseStrategy(String currentStrategy, EditStrategyType defaultStrategy) throws OperationNotPermittedException { + EditStrategyType parsedStrategy = EditStrategyType.valueOf(currentStrategy); + EditStrategyType.compareParsedStrategyToDefaultEnforcing(parsedStrategy,defaultStrategy); + return parsedStrategy; } + public EditConfigStrategy getEditStrategy() { return editStrategy.getFittingStrategy(); }