[VOL-4558] actually removing the subscriber when the request come with specific vlans

Change-Id: I1097edbe087ec6221c92fe32ed39103575e9caa6
diff --git a/impl/src/main/java/org/opencord/olt/impl/Olt.java b/impl/src/main/java/org/opencord/olt/impl/Olt.java
index 79d30c6..5ee9375 100644
--- a/impl/src/main/java/org/opencord/olt/impl/Olt.java
+++ b/impl/src/main/java/org/opencord/olt/impl/Olt.java
@@ -439,7 +439,7 @@
         uniTagInformationList.add(specificService);
         si.setUniTagList(uniTagInformationList);
         DiscoveredSubscriber sub = new DiscoveredSubscriber(device, port,
-                DiscoveredSubscriber.Status.ADDED, true, si);
+                DiscoveredSubscriber.Status.REMOVED, true, si);
 
         // NOTE we need to keep a list of the subscribers that are provisioned on a port,
         // regardless of the flow status
diff --git a/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java b/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
index eed2b3e..4dafd16 100644
--- a/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
+++ b/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
@@ -395,7 +395,9 @@
                         !oltDeviceService.isNniPort(deviceService.getDevice(sk.getPort().connectPoint().deviceId()),
                                 sk.getPort().connectPoint().port()) &&
                                 // not EAPOL flow
-                                !sk.getService().equals(defaultEapolUniTag)
+                                !sk.getService().equals(defaultEapolUniTag) &&
+                                !status.subscriberFlowsStatus.equals(OltFlowsStatus.PENDING_REMOVE)
+                                && !status.subscriberFlowsStatus.equals(OltFlowsStatus.REMOVED)
 
                 ) {
                     subscribers.put(sk, sk.getService());