fixing INVALID_GROUP error for FAILOVER type

Change-Id: Ieec82404d347dc812f49cf40c617e667381249d8
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
index 83abf37..c91616d 100644
--- 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
@@ -154,8 +154,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);
         }