[ONOS-6410] flexible configuration datastore specifier.

- added completer to netconf-config-get

Change-Id: I7cc88637bd51d9f4bea7d906346ffacfbd8706a6
diff --git a/protocols/netconf/api/src/main/java/org/onosproject/netconf/TargetConfig.java b/protocols/netconf/api/src/main/java/org/onosproject/netconf/TargetConfig.java
index 94c5a35..5257535 100644
--- a/protocols/netconf/api/src/main/java/org/onosproject/netconf/TargetConfig.java
+++ b/protocols/netconf/api/src/main/java/org/onosproject/netconf/TargetConfig.java
@@ -16,9 +16,12 @@
 
 package org.onosproject.netconf;
 
-// TODO Revisit if we this class should be Enum.
-// According to NETCONF RFC,
-// various additional configuration datastores may be defined by capabilities.
+/**
+ * @deprecated in 1.10.0 use TargetConfiguration instead
+ * According to NETCONF RFC,
+ * various additional configuration datastores may be defined by capabilities.
+ */
+@Deprecated
 public enum TargetConfig {
     RUNNING("running"),
     CANDIDATE("candidate"),
@@ -34,6 +37,23 @@
         return valueOf(targetConfig.toUpperCase());
     }
 
+    public static DatastoreId toDatastoreId(String cfg) {
+        return toDatastoreId(toTargetConfig(cfg));
+    }
+
+    public static DatastoreId toDatastoreId(TargetConfig cfg) {
+        switch (cfg) {
+        case CANDIDATE:
+            return DatastoreId.CANDIDATE;
+        case RUNNING:
+            return DatastoreId.RUNNING;
+        case STARTUP:
+            return DatastoreId.STARTUP;
+        default:
+            return DatastoreId.datastore(cfg.name);
+        }
+    }
+
     @Override
     public String toString() {
         return this.name;