ONOS-958: Add a Group action to TrafficTreatment subsystem.

Change-Id: I2a377508b9721ee96a5a52b0bb2ed3a960c982ce
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
index 5b0e1ef..5c445a8 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
@@ -22,6 +22,7 @@
 import org.onlab.packet.Ip6Prefix;
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
+import org.onosproject.core.DefaultGroupId;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.flow.DefaultFlowEntry;
@@ -39,14 +40,10 @@
 import org.projectfloodlight.openflow.protocol.OFInstructionType;
 import org.projectfloodlight.openflow.protocol.action.OFAction;
 import org.projectfloodlight.openflow.protocol.action.OFActionCircuit;
-import org.projectfloodlight.openflow.protocol.action.OFActionCopyTtlIn;
-import org.projectfloodlight.openflow.protocol.action.OFActionCopyTtlOut;
-import org.projectfloodlight.openflow.protocol.action.OFActionDecMplsTtl;
-import org.projectfloodlight.openflow.protocol.action.OFActionDecNwTtl;
 import org.projectfloodlight.openflow.protocol.action.OFActionExperimenter;
+import org.projectfloodlight.openflow.protocol.action.OFActionGroup;
 import org.projectfloodlight.openflow.protocol.action.OFActionOutput;
 import org.projectfloodlight.openflow.protocol.action.OFActionPopMpls;
-import org.projectfloodlight.openflow.protocol.action.OFActionPushMpls;
 import org.projectfloodlight.openflow.protocol.action.OFActionSetDlDst;
 import org.projectfloodlight.openflow.protocol.action.OFActionSetDlSrc;
 import org.projectfloodlight.openflow.protocol.action.OFActionSetField;
@@ -207,25 +204,24 @@
                 builder.popMpls((short) popMpls.getEthertype().getValue());
                 break;
             case PUSH_MPLS:
-                OFActionPushMpls pushMpls = (OFActionPushMpls) act;
                 builder.pushMpls();
                 break;
             case COPY_TTL_IN:
-                OFActionCopyTtlIn copyTtlIn = (OFActionCopyTtlIn) act;
                 builder.copyTtlIn();
                 break;
             case COPY_TTL_OUT:
-                OFActionCopyTtlOut copyTtlOut = (OFActionCopyTtlOut) act;
                 builder.copyTtlOut();
                 break;
             case DEC_MPLS_TTL:
-                OFActionDecMplsTtl decMplsTtl = (OFActionDecMplsTtl) act;
                 builder.decMplsTtl();
                 break;
             case DEC_NW_TTL:
-                OFActionDecNwTtl decNwTtl = (OFActionDecNwTtl) act;
                 builder.decNwTtl();
                 break;
+            case GROUP:
+                OFActionGroup group = (OFActionGroup) act;
+                builder.group(new DefaultGroupId(group.getGroup().getGroupNumber()));
+                break;
             case SET_TP_DST:
             case SET_TP_SRC:
             case POP_PBB:
@@ -241,8 +237,6 @@
             case SET_QUEUE:
             case STRIP_VLAN:
             case ENQUEUE:
-
-            case GROUP:
             default:
                 log.warn("Action type {} not yet implemented.", act.getType());
             }