[ONOS-7583]Adding PI flow rules via REST API and unit tests

Change-Id: I15537097e7b6f8138f8ae43676d5dd22d8b9093a
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/PiActionGroupIdInstruction.json b/core/common/src/test/resources/org/onosproject/codec/impl/PiActionGroupIdInstruction.json
new file mode 100644
index 0000000..50a7d30
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/PiActionGroupIdInstruction.json
@@ -0,0 +1,5 @@
+{
+  "type":"PROTOCOL_INDEPENDENT",
+  "subtype":"ACTION_GROUP_ID",
+  "groupId": 100
+}
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/PiActionInstruction.json b/core/common/src/test/resources/org/onosproject/codec/impl/PiActionInstruction.json
new file mode 100644
index 0000000..b35bda8
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/PiActionInstruction.json
@@ -0,0 +1,8 @@
+{
+    "type":"PROTOCOL_INDEPENDENT",
+    "subtype":"ACTION",
+    "actionId": "set_egress_port",
+    "actionParams":{
+      "port": "1"
+    }
+}
\ No newline at end of file
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/PiActionMemberIdInstruction.json b/core/common/src/test/resources/org/onosproject/codec/impl/PiActionMemberIdInstruction.json
new file mode 100644
index 0000000..c3fce67
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/PiActionMemberIdInstruction.json
@@ -0,0 +1,5 @@
+{
+  "type":"PROTOCOL_INDEPENDENT",
+  "subtype":"GROUP_MEMBER_ID",
+  "memberId": 100
+}
\ No newline at end of file
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/PiCriterion.json b/core/common/src/test/resources/org/onosproject/codec/impl/PiCriterion.json
new file mode 100644
index 0000000..01d9226
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/PiCriterion.json
@@ -0,0 +1,33 @@
+{
+    "type": "PROTOCOL_INDEPENDENT",
+    "matches": [
+        {
+            "field": "ingress_port",
+            "match": "exact",
+            "value": "10"
+        },
+        {
+            "field": "src_addr",
+            "match": "lpm",
+            "value": "0a010101",
+            "prefixLength": 24
+        },
+        {
+            "field": "dst_addr",
+            "match": "ternary",
+            "value": "0a010101",
+            "mask": "0fffffff"
+        },
+        {
+            "field": "egress_port",
+            "match": "range",
+            "highValue": "20",
+            "lowValue": "10"
+        },
+        {
+            "field": "ethernet_t.etherType",
+            "match": "valid",
+            "value": true
+        }
+    ]
+}
\ No newline at end of file