Bug-fix: Remove flows from voltha for deleted subscriber, even if sadis cannot
fetch information about the deleted subscriber.

Other changes:
      - Added a cli command that details subscribers that have actually been programmed in the data plane
      - Changed all cli commands to start with volt-* as all app cli commands should
      - removed DeviceIdCompleter from the 'olts' cli command as it is not needed
      - removed unused method, renamed another one, fixed some logs
      - S-tags are no longer 'DeviceVlans', so changed variable name

Change-Id: I7cfde850669ed5b581fbac3195f68da28c4514c3
diff --git a/api/pom.xml b/api/pom.xml
index 74e93d8..87c67a4 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -32,6 +32,9 @@
     <url>http://opencord.org</url>
 
     <description>OLT application API</description>
+    <properties>
+        <sadis.api.version>2.1.0</sadis.api.version>
+    </properties>
 
     <dependencies>
         <dependency>
@@ -46,6 +49,12 @@
             <artifactId>onos-core-serializers</artifactId>
             <version>${onos.version}</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.opencord</groupId>
+            <artifactId>sadis-api</artifactId>
+            <version>${sadis.api.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/api/src/main/java/org/opencord/olt/AccessDeviceService.java b/api/src/main/java/org/opencord/olt/AccessDeviceService.java
index 9b1e574..6387a03 100644
--- a/api/src/main/java/org/opencord/olt/AccessDeviceService.java
+++ b/api/src/main/java/org/opencord/olt/AccessDeviceService.java
@@ -16,14 +16,17 @@
 
 package org.opencord.olt;
 
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
 import org.onlab.packet.VlanId;
 import org.onosproject.event.ListenerService;
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.DeviceId;
+import org.opencord.sadis.SubscriberAndDeviceInformation;
 
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.ImmutableMap;
 
 /**
  * Service for interacting with an access device (OLT).
@@ -77,4 +80,12 @@
      */
     List<DeviceId> fetchOlts();
 
+    /**
+     * Returns information about subscribers that have been programmed in the
+     * dataplane.
+     *
+     * @return an immutable map of locations and subscriber information
+     */
+    ImmutableMap<ConnectPoint, SubscriberAndDeviceInformation> getProgSubs();
+
 }