[ONOS-4228]Parase and set priority for sfc classification

Change-Id: I0e25465d47ad1bd6c6035ff309ef631b8ef7c75e
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/FlowClassifierCodec.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/FlowClassifierCodec.java
index 412cefe..94e02db 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/FlowClassifierCodec.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/web/FlowClassifierCodec.java
@@ -40,6 +40,7 @@
     private static final String DESCRIPTION = "description";
     private static final String ETHER_TYPE = "ethertype";
     private static final String PROTOCOL = "protocol";
+    private static final String PRIORITY = "priority";
     private static final String MIN_SRC_PORT_RANGE = "source_port_range_min";
     private static final String MAX_SRC_PORT_RANGE = "source_port_range_max";
     private static final String MIN_DST_PORT_RANGE = "destination_port_range_min";
@@ -79,6 +80,9 @@
             resultBuilder.setProtocol(protocol);
         }
 
+        int priority = (json.get(PRIORITY)).asInt();
+        resultBuilder.setPriority(priority);
+
         int minSrcPortRange = (json.get(MIN_SRC_PORT_RANGE)).asInt();
         resultBuilder.setMinSrcPortRange(minSrcPortRange);
 
@@ -123,6 +127,7 @@
                 .put(DESCRIPTION, flowClassifier.description())
                 .put(ETHER_TYPE, flowClassifier.etherType())
                 .put(PROTOCOL, flowClassifier.protocol())
+                .put(PRIORITY, flowClassifier.priority())
                 .put(MIN_SRC_PORT_RANGE, flowClassifier.minSrcPortRange())
                 .put(MAX_SRC_PORT_RANGE, flowClassifier.maxSrcPortRange())
                 .put(MIN_DST_PORT_RANGE, flowClassifier.minDstPortRange())
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java
index 673e088..b21a80f 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java
@@ -65,8 +65,9 @@
     VirtualPortId dstPortId1 = VirtualPortId.portId("aef3478a-4a56-2a6e-cd3a-9dee4e2ec345");
 
     final MockFlowClassifier flowClassifier1 = new MockFlowClassifier(flowClassifierId1, tenantId1, "flowClassifier1",
-                                                                      "Mock flow classifier", "IPv4", "IP", 1001, 1500,
-                                                                      5001, 6000, IpPrefix.valueOf("1.1.1.1/16"),
+                                                                      "Mock flow classifier", "IPv4", "IP", 10000,
+                                                                      1001, 1500, 5001, 6000,
+                                                                      IpPrefix.valueOf("1.1.1.1/16"),
                                                                       IpPrefix.valueOf("22.12.34.45/16"),
                                                                       srcPortId1, dstPortId1);
 
@@ -81,6 +82,7 @@
         private final String description;
         private final String etherType;
         private final String protocol;
+        private final int priority;
         private final int minSrcPortRange;
         private final int maxSrcPortRange;
         private final int minDstPortRange;
@@ -91,15 +93,17 @@
         private final VirtualPortId dstPort;
 
         public MockFlowClassifier(FlowClassifierId flowClassifierId, TenantId tenantId, String name,
-                                  String description, String etherType, String protocol, int minSrcPortRange,
-                                  int maxSrcPortRange, int minDstPortRange, int maxDstPortRange, IpPrefix srcIpPrefix,
-                                  IpPrefix dstIpPrefix, VirtualPortId srcPort, VirtualPortId dstPort) {
+                                  String description, String etherType, String protocol, int priority,
+                                  int minSrcPortRange, int maxSrcPortRange, int minDstPortRange, int maxDstPortRange,
+                                  IpPrefix srcIpPrefix, IpPrefix dstIpPrefix, VirtualPortId srcPort,
+                                  VirtualPortId dstPort) {
             this.flowClassifierId = flowClassifierId;
             this.tenantId = tenantId;
             this.name = name;
             this.description = description;
             this.etherType = etherType;
             this.protocol = protocol;
+            this.priority = priority;
             this.minSrcPortRange = minSrcPortRange;
             this.maxSrcPortRange = maxSrcPortRange;
             this.minDstPortRange = minDstPortRange;
@@ -142,6 +146,11 @@
         }
 
         @Override
+        public int priority() {
+            return priority;
+        }
+
+        @Override
         public int minSrcPortRange() {
             return minSrcPortRange;
         }
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/web/FlowClassifierCodecTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/web/FlowClassifierCodecTest.java
index 6daec8a..ea28613 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/web/FlowClassifierCodecTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/web/FlowClassifierCodecTest.java
@@ -89,6 +89,7 @@
         assertThat(flowClassifier.tenantId().toString(), is(tenantId.toString()));
         assertThat(flowClassifier.description(), is("flow classifier"));
         assertThat(flowClassifier.protocol(), is("tcp"));
+        assertThat(flowClassifier.priority(), is(65535));
         assertThat(flowClassifier.minSrcPortRange(), is(22));
         assertThat(flowClassifier.maxSrcPortRange(), is(4000));
         assertThat(flowClassifier.minDstPortRange(), is(80));
diff --git a/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/resources/post-FlowClassifier.json b/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/resources/post-FlowClassifier.json
index 6e72e8f..5ed095d 100644
--- a/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/resources/post-FlowClassifier.json
+++ b/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/resources/post-FlowClassifier.json
@@ -5,6 +5,7 @@
     "description": "flow classifier",
     "ethertype": "IPv4",
     "protocol": "tcp",
+    "priority": 10000,
     "source_port_range_min": 22, "source_port_range_max": 4000,
     "destination_port_range_min": 80, "destination_port_range_max": 80,
     "source_ip_prefix": "1.1.1.1/16" , "destination_ip_prefix": "22.12.34.45/16",
diff --git a/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/web/flowClassifier.json b/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/web/flowClassifier.json
index 0fc0b74..3fd5ac9 100644
--- a/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/web/flowClassifier.json
+++ b/apps/vtn/vtnweb/src/test/resources/org/onosproject/vtnweb/web/flowClassifier.json
@@ -5,6 +5,7 @@
     "description": "flow classifier",
     "ethertype": "IPv4",
     "protocol": "tcp",
+    "priority": 65535,
     "source_port_range_min": 22, "source_port_range_max": 4000,
     "destination_port_range_min": 80, "destination_port_range_max": 80,
     "source_ip_prefix": "1.1.1.1/16" , "destination_ip_prefix": "22.12.34.45/16"