- Fix the bug of removing group for tunnel
- Added checking if group was removed or not successfully

Change-Id: I2180db38b0023cedc418faa1dbf7328f27262d00
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
index 492dc33..4c9c1d5 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
@@ -1674,7 +1674,9 @@
                 return false;
             }
             else {
-                sw13.removeGroup(route.getGroupId());
+                if (!sw13.removeGroup(route.getGroupId())) {
+                    log.warn("Tunnel {} was not removed ", tunnelId);
+                    return false;                }
             }
         }
 
diff --git a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
index 5bd8e08..f426428 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
@@ -1863,13 +1863,14 @@
                 int nextGroupIdToBeDeleted =
                         userDefinedGroups.get(currGroupIdToBeDeleted).
                         buckets.get(0).groupNo;
-                deleteGroup(groupId);
+                deleteGroup(currGroupIdToBeDeleted);
                 userDefinedGroups.remove(currGroupIdToBeDeleted);
                 currGroupIdToBeDeleted = nextGroupIdToBeDeleted;
             }
         }
 
-        userDefinedGroups.remove(groupid);
+        deleteGroup(groupId);
+        userDefinedGroups.remove(groupId);
         log.debug("removeGroup: removed group with group id {}", groupId);
         return true;
     }