add key parameter to PathIntent and MplsPathIntent constructors

Change-Id: I157c1e3e10dc3e3ebc1dbc6f9a1c9fe769337ee3
diff --git a/core/api/src/main/java/org/onosproject/net/intent/PathIntent.java b/core/api/src/main/java/org/onosproject/net/intent/PathIntent.java
index 0c831fd..9bf137a 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/PathIntent.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/PathIntent.java
@@ -42,6 +42,7 @@
      * ports and using the specified explicit path.
      *
      * @param appId     application identifier
+     * @param key       intent key
      * @param selector  traffic selector
      * @param treatment treatment
      * @param path      traversed links
@@ -50,12 +51,13 @@
      * @throws NullPointerException {@code path} is null
      */
     protected PathIntent(ApplicationId appId,
+                         Key key,
                          TrafficSelector selector,
                          TrafficTreatment treatment,
                          Path path,
                          List<Constraint> constraints,
                          int priority) {
-        super(appId, null, resources(path.links()), selector, treatment, constraints,
+        super(appId, key, resources(path.links()), selector, treatment, constraints,
                 priority);
         PathIntent.validate(path.links());
         this.path = path;
@@ -138,6 +140,7 @@
 
             return new PathIntent(
                     appId,
+                    key,
                     selector,
                     treatment,
                     path,
@@ -184,6 +187,7 @@
     public String toString() {
         return MoreObjects.toStringHelper(getClass())
                 .add("id", id())
+                .add("key", key())
                 .add("appId", appId())
                 .add("priority", priority())
                 .add("resources", resources())