ONOS-5937

 - created enum for target config and replaced all appropiate usages
 - added old methods and had them pointing to new implementation
 - added deprecated annotation to old methods

Change-Id: I2562588d32c7ab944eb44a13e9b25a342196edf2
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfig.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfig.java
index 79d0b06..4801001 100644
--- a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfig.java
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfig.java
@@ -31,6 +31,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtility.*;
 import static org.slf4j.LoggerFactory.getLogger;
+import static org.onosproject.netconf.TargetConfig.RUNNING;
 
 /**
  * Implementation to get and set parameters available in vOLT
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfig.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfig.java
index 5b55e0c..7a47533 100644
--- a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfig.java
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfig.java
@@ -31,6 +31,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtility.*;
 import static org.slf4j.LoggerFactory.getLogger;
+import static org.onosproject.netconf.TargetConfig.RUNNING;
 
 /**
  * Implementation to get and set parameters available in vOLT
diff --git a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfig.java b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfig.java
index 2f642e3..1378bfe 100644
--- a/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfig.java
+++ b/drivers/fujitsu/src/main/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfig.java
@@ -35,6 +35,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtility.*;
 import static org.slf4j.LoggerFactory.getLogger;
+import static org.onosproject.netconf.TargetConfig.RUNNING;
 
 /**
  * Implementation to get and set parameters available in vOLT
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionListenerTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionListenerTest.java
index c35ee21..2642e6b 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionListenerTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionListenerTest.java
@@ -17,6 +17,8 @@
 package org.onosproject.drivers.fujitsu;
 
 
+import org.onosproject.netconf.TargetConfig;
+
 public interface FujitsuNetconfSessionListenerTest {
 
     /**
@@ -34,10 +36,23 @@
      * @param mode                selected mode to change the configuration
      * @param newConfiguration    configuration to set
      * @return true if everuthing as expected
+     * @deprecated - 1.10.0 Kingfisher use method overload that accepts
+     * org.onosproject.netconf.TargetConfig enum parameter instead
      */
+    @Deprecated
     boolean verifyEditConfig(String targetConfiguration, String mode, String newConfiguration);
 
     /**
+     * Verify editConfig request arguments.
+     *
+     * @param targetConfiguration the targetConfiguration to change
+     * @param mode                selected mode to change the configuration
+     * @param newConfiguration    configuration to set
+     * @return true if everuthing as expected
+     */
+    boolean verifyEditConfig(TargetConfig targetConfiguration, String mode, String newConfiguration);
+
+    /**
      * Verify get request arguments.
      *
      * @param filterSchema XML subtrees to include in the reply
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionMock.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionMock.java
index 980bcb5..b3e5932 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionMock.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuNetconfSessionMock.java
@@ -17,6 +17,7 @@
 package org.onosproject.drivers.fujitsu;
 
 import com.google.common.annotations.Beta;
+import org.onosproject.netconf.TargetConfig;
 import org.onosproject.netconf.NetconfDeviceOutputEventListener;
 import org.onosproject.netconf.NetconfException;
 import org.onosproject.netconf.NetconfSession;
@@ -80,11 +81,22 @@
     }
 
     @Override
+    public String getConfig(TargetConfig targetConfiguration) throws NetconfException {
+        return null;
+    }
+
+    @Override
     public String getConfig(String targetConfiguration) throws NetconfException {
         return null;
     }
 
     @Override
+    public String getConfig(TargetConfig targetConfiguration, String configurationFilterSchema)
+            throws NetconfException {
+        return null;
+    }
+
+    @Override
     public String getConfig(String targetConfiguration, String configurationFilterSchema)
             throws NetconfException {
         return null;
@@ -100,6 +112,16 @@
     }
 
     @Override
+    public boolean editConfig(TargetConfig targetConfiguration, String mode, String newConfiguration)
+            throws NetconfException {
+        boolean result = true;
+        if (listener != null) {
+            result = listener.verifyEditConfig(targetConfiguration, mode, newConfiguration);
+        }
+        return result;
+    }
+
+    @Override
     public boolean editConfig(String targetConfiguration, String mode, String newConfiguration)
             throws NetconfException {
         boolean result = true;
@@ -110,16 +132,28 @@
     }
 
     @Override
+    public boolean copyConfig(TargetConfig targetConfiguration, String newConfiguration)
+            throws NetconfException {
+        return false;
+    }
+
+    @Override
     public boolean copyConfig(String targetConfiguration, String newConfiguration)
             throws NetconfException {
         return false;
     }
 
     @Override
+    public boolean deleteConfig(TargetConfig targetConfiguration) throws NetconfException {
+        return false;
+    }
+
+    @Override
     public boolean deleteConfig(String targetConfiguration) throws NetconfException {
         return false;
     }
 
+
     @Override
     public void startSubscription() throws NetconfException {
     }
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfigTest.java
index 156aacc..4847671 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltAlertConfigTest.java
@@ -19,6 +19,7 @@
 import org.apache.commons.io.IOUtils;
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
@@ -30,6 +31,7 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtilityMock.*;
+import static org.onosproject.netconf.TargetConfig.*;
 
 
 /**
@@ -229,10 +231,15 @@
         }
 
         @Override
-        public boolean verifyEditConfig(String target, String mode, String request) {
+        public boolean verifyEditConfig(String targetConfiguration, String mode, String newConfiguration) {
+            return verifyEditConfig(TargetConfig.valueOf(targetConfiguration), mode, newConfiguration);
+        }
+
+        @Override
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
             boolean result;
 
-            assertTrue("Incorrect target", target.equals(TEST_RUNNING));
+            assertTrue("Incorrect target", target.equals(RUNNING));
             assertNull("Incorrect mode", mode);
 
             request = request.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE);
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltControllerConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltControllerConfigTest.java
index 72697ee..ce2befb 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltControllerConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltControllerConfigTest.java
@@ -23,6 +23,7 @@
 import org.onosproject.net.behaviour.ControllerInfo;
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -190,6 +191,11 @@
         }
 
         @Override
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
+            return false;
+        }
+
+        @Override
         public boolean verifyEditConfig(String target, String mode, String request) {
             return false;
         }
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltFwdlConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltFwdlConfigTest.java
index 3c97458..9df7ece 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltFwdlConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltFwdlConfigTest.java
@@ -18,6 +18,7 @@
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
@@ -157,12 +158,18 @@
             return false;
         }
 
+
         @Override
         public boolean verifyEditConfig(String target, String mode, String request) {
             return false;
         }
 
         @Override
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
+            return false;
+        }
+
+        @Override
         public boolean verifyGet(String filterSchema, String withDefaultsMode) {
             return false;
         }
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNeConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNeConfigTest.java
index 9a85a81..039d303 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNeConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNeConfigTest.java
@@ -18,6 +18,7 @@
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNotNull;
@@ -80,6 +81,11 @@
         }
 
         @Override
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
+            return false;
+        }
+
+        @Override
         public boolean verifyEditConfig(String target, String mode, String request) {
             return false;
         }
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfigTest.java
index 6326e26..9105a81 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltNniLinkConfigTest.java
@@ -18,12 +18,14 @@
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
 import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtilityMock.*;
+import static org.onosproject.netconf.TargetConfig.RUNNING;
 
 /**
  * Unit tests for methods of FujitsuVoltPonLinkConfig.
@@ -214,10 +216,10 @@
         }
 
         @Override
-        public boolean verifyEditConfig(String target, String mode, String request) {
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
             boolean result;
 
-            assertTrue("Incorrect target", target.equals(TEST_RUNNING));
+            assertTrue("Incorrect target", target.equals(RUNNING));
             assertNull("Incorrect mode", mode);
 
             request = request.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE);
@@ -229,6 +231,21 @@
         }
 
         @Override
+        public boolean verifyEditConfig(String target, String mode, String request) {
+            boolean result;
+
+            assertTrue("Incorrect target", target.equals(TEST_RUNNING));
+            assertNull("Incorrect mode", mode);
+
+            request = request.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE);
+            assertTrue("Does not contain:" + TEST_VOLT_NAMESPACE,
+                       request.contains(TEST_VOLT_NAMESPACE));
+            result = verifyEditConfigRequest(request);
+            assertTrue("XML verification failure", result);
+            return result;
+        }
+
+            @Override
         public boolean verifyGet(String filterSchema, String withDefaultsMode) {
             boolean result;
 
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuConfigTest.java
index 172380b..16f3aa3 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuConfigTest.java
@@ -18,6 +18,7 @@
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
@@ -344,7 +345,12 @@
         }
 
         @Override
-        public boolean verifyEditConfig(String target, String mode, String request) {
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
+            return false;
+        }
+
+        @Override
+        public boolean verifyEditConfig(String targetConfiguration, String mode, String newConfiguration) {
             return false;
         }
 
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuOperConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuOperConfigTest.java
index a48a75d..f8d8401 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuOperConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuOperConfigTest.java
@@ -18,6 +18,7 @@
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
@@ -219,6 +220,11 @@
         }
 
         @Override
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
+            return false;
+        }
+
+        @Override
         public boolean verifyEditConfig(String target, String mode, String request) {
             return false;
         }
diff --git a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfigTest.java b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfigTest.java
index 829604d..a0326d2 100644
--- a/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfigTest.java
+++ b/drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltPonLinkConfigTest.java
@@ -18,12 +18,14 @@
 
 import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.netconf.TargetConfig;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
 import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtilityMock.*;
+import static org.onosproject.netconf.TargetConfig.RUNNING;
 
 /**
  * Unit tests for methods of FujitsuVoltPonLinkConfig.
@@ -225,6 +227,21 @@
         }
 
         @Override
+        public boolean verifyEditConfig(TargetConfig target, String mode, String request) {
+            boolean result;
+
+            assertTrue("Incorrect target", target.equals(RUNNING));
+            assertNull("Incorrect mode", mode);
+
+            request = request.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE);
+            assertTrue("Does not contain:" + TEST_VOLT_NAMESPACE,
+                    request.contains(TEST_VOLT_NAMESPACE));
+            result = verifyEditConfigRequest(request);
+            assertTrue("XML verification failure", result);
+            return result;
+        }
+
+        @Override
         public boolean verifyEditConfig(String target, String mode, String request) {
             boolean result;
 
@@ -233,7 +250,7 @@
 
             request = request.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE);
             assertTrue("Does not contain:" + TEST_VOLT_NAMESPACE,
-                    request.contains(TEST_VOLT_NAMESPACE));
+                       request.contains(TEST_VOLT_NAMESPACE));
             result = verifyEditConfigRequest(request);
             assertTrue("XML verification failure", result);
             return result;