[ONOS-4476]As with Group type is FAILOVER,watchPort&watchGroup does not set correctly When builds the Group Modification Openflow message

Change-Id: I344e3b03cd18e16f4e30ceb5b67ce9e55e871876
diff --git a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupModBuilder.java b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupModBuilder.java
old mode 100644
new mode 100755
index 1f1491c..ce2df5f
--- a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupModBuilder.java
+++ b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupModBuilder.java
@@ -194,8 +194,17 @@
             if (type == GroupDescription.Type.SELECT) {
                 bucketBuilder.setWeight(1);
             }
-            bucketBuilder.setWatchGroup(OFGroup.ANY);
-            bucketBuilder.setWatchPort(OFPort.ANY);
+            if (type == GroupDescription.Type.FAILOVER && bucket.watchPort() != null) {
+                bucketBuilder.setWatchPort(OFPort.of((int) bucket.watchPort().toLong()));
+            } else {
+                bucketBuilder.setWatchPort(OFPort.ANY);
+            }
+            if (type == GroupDescription.Type.FAILOVER &&  bucket.watchGroup() != null) {
+                bucketBuilder.setWatchGroup(OFGroup.of(bucket.watchGroup().id()));
+            } else {
+                bucketBuilder.setWatchGroup(OFGroup.ANY);
+            }
+
             OFBucket ofBucket = bucketBuilder.build();
             ofBuckets.add(ofBucket);
         }