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%2Foperations%2Feditconfig%2FEditStrategyType.java;h=25d772f4ac565c5ecd4d1e84c1b98d302b810f52;hb=b80124e3f7b11cf2f5e5bd4a6b033d855ff4d0d4;hp=06560b2d2724d2efb7996736649a2d90219e168c;hpb=c9a6ef776ba6b7a2abaa2d566998787fa0b8c4ef;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditStrategyType.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditStrategyType.java index 06560b2d27..25d772f4ac 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditStrategyType.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditStrategyType.java @@ -8,10 +8,10 @@ package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig; -import com.google.common.collect.Multimap; - import java.util.EnumSet; import java.util.Set; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; +import org.opendaylight.controller.netconf.confignetconfconnector.exception.OperationNotPermittedException; public enum EditStrategyType { // can be default @@ -40,15 +40,30 @@ public enum EditStrategyType { + this); } } + public static void compareParsedStrategyToDefaultEnforcing(EditStrategyType parsedStrategy, + EditStrategyType defaultStrategy) throws OperationNotPermittedException { + if (defaultStrategy.isEnforcing()) { + if (parsedStrategy != defaultStrategy){ + throw new OperationNotPermittedException(String.format("With " + + defaultStrategy + + " as " + + EditConfigXmlParser.DEFAULT_OPERATION_KEY + + " operations on module elements are not permitted since the default option is restrictive"), + NetconfDocumentedException.ErrorType.application, + NetconfDocumentedException.ErrorTag.operation_failed, + NetconfDocumentedException.ErrorSeverity.error); + } + } - public EditConfigStrategy getFittingStrategy(Multimap providedServices) { + } + public EditConfigStrategy getFittingStrategy() { switch (this) { case merge: - return new MergeEditConfigStrategy(providedServices); + return new MergeEditConfigStrategy(); case replace: - return new ReplaceEditConfigStrategy(providedServices); + return new ReplaceEditConfigStrategy(); case delete: - return new DeleteEditConfigStrategy(providedServices); + return new DeleteEditConfigStrategy(); case remove: return new RemoveEditConfigStrategy(); case none: