Merge "Add test for generated code checking list of dependencies."
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / operations / editconfig / EditStrategyType.java
index a7a0518cc53f6b1711ee017026bf41bb8928e459..06560b2d2724d2efb7996736649a2d90219e168c 100644 (file)
@@ -8,11 +8,11 @@
 
 package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig;
 
+import com.google.common.collect.Multimap;
+
 import java.util.EnumSet;
 import java.util.Set;
 
-import com.google.common.base.Preconditions;
-
 public enum EditStrategyType {
     // can be default
     merge, replace, none,
@@ -21,20 +21,8 @@ public enum EditStrategyType {
 
     private static final Set<EditStrategyType> defaultStrats = EnumSet.of(merge, replace, none);
 
-    private static EditStrategyType defaultStrat = merge;
-
-    public static EditStrategyType defaultStrategy() {
-        return defaultStrat;
-    }
-
-    public static void setDefaultStrategy(EditStrategyType strat) {
-        Preconditions.checkArgument(strat.canBeDefault(), "Default edit strategy can be only of value " + defaultStrats
-                + ", but was " + strat);
-        defaultStrat = strat;
-    }
-
-    public static void resetDefaultStrategy() {
-        setDefaultStrategy(EditStrategyType.merge);
+    public static EditStrategyType getDefaultStrategy() {
+        return merge;
     }
 
     public boolean isEnforcing() {
@@ -53,24 +41,14 @@ public enum EditStrategyType {
         }
     }
 
-    private static final EnumSet<EditStrategyType> defaults;
-
-    static {
-        defaults = EnumSet.of(merge, replace, none);
-    }
-
-    private boolean canBeDefault() {
-        return defaults.contains(this);
-    }
-
-    public EditConfigStrategy getFittingStrategy() {
+    public EditConfigStrategy getFittingStrategy(Multimap<String, String> providedServices) {
         switch (this) {
         case merge:
-            return new MergeEditConfigStrategy();
+            return new MergeEditConfigStrategy(providedServices);
         case replace:
-            return new ReplaceEditConfigStrategy();
+            return new ReplaceEditConfigStrategy(providedServices);
         case delete:
-            return new DeleteEditConfigStrategy();
+            return new DeleteEditConfigStrategy(providedServices);
         case remove:
             return new RemoveEditConfigStrategy();
         case none: