Add priority to Intents

Change-Id: Ibe63356f5b15a6aa6ca7731dba3382c3317a95ec
diff --git a/core/api/src/main/java/org/onosproject/net/intent/PointToPointIntent.java b/core/api/src/main/java/org/onosproject/net/intent/PointToPointIntent.java
index d8434ad..2df7b8b 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/PointToPointIntent.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/PointToPointIntent.java
@@ -49,6 +49,7 @@
      * @param ingressPoint ingress port
      * @param egressPoint  egress port
      * @param constraints  optional list of constraints
+     * @param priority     priority to use for flows generated by this intent
      * @throws NullPointerException if {@code ingressPoint} or {@code egressPoints} is null.
      */
     public PointToPointIntent(ApplicationId appId,
@@ -57,8 +58,10 @@
                               TrafficTreatment treatment,
                               ConnectPoint ingressPoint,
                               ConnectPoint egressPoint,
-                              List<Constraint> constraints) {
-        super(appId, key, Collections.emptyList(), selector, treatment, constraints);
+                              List<Constraint> constraints,
+                              int priority) {
+        super(appId, key, Collections.emptyList(), selector, treatment, constraints,
+                priority);
 
         checkNotNull(ingressPoint);
         checkNotNull(egressPoint);
@@ -85,7 +88,8 @@
                               ConnectPoint ingressPoint,
                               ConnectPoint egressPoint) {
         this(appId, null, selector, treatment, ingressPoint, egressPoint,
-             ImmutableList.of(new LinkTypeConstraint(false, Link.Type.OPTICAL)));
+             ImmutableList.of(new LinkTypeConstraint(false, Link.Type.OPTICAL)),
+                DEFAULT_INTENT_PRIORITY);
     }
 
     /**
@@ -98,14 +102,17 @@
      * @param ingressPoint ingress port
      * @param egressPoint  egress port
      * @param constraints  optional list of constraints
+     * @param priority     priority to use for flows generated by this intent
      * @throws NullPointerException if {@code ingressPoint} or {@code egressPoints} is null.
      */
     public PointToPointIntent(ApplicationId appId, TrafficSelector selector,
                               TrafficTreatment treatment,
                               ConnectPoint ingressPoint,
                               ConnectPoint egressPoint,
-                              List<Constraint> constraints) {
-        super(appId, null, Collections.emptyList(), selector, treatment, constraints);
+                              List<Constraint> constraints,
+                              int priority) {
+        super(appId, null, Collections.emptyList(), selector, treatment,
+                constraints, priority);
 
         checkNotNull(ingressPoint);
         checkNotNull(egressPoint);
@@ -150,6 +157,7 @@
                 .add("id", id())
                 .add("key", key())
                 .add("appId", appId())
+                .add("priority", priority())
                 .add("resources", resources())
                 .add("selector", selector())
                 .add("treatment", treatment())