Adding experimental tunnel primitive and small API tweaks

Change-Id: Id7a950ab7b2e001d0527e935c077c538dfede7fd
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentResource.java b/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentResource.java
index a49bf95..6902483 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentResource.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentResource.java
@@ -21,21 +21,27 @@
  * The abstract base class for the resource that satisfies an intent primitive.
  */
 @Beta
-public abstract class IntentResource {
+public class IntentResource {
 
     private final IntentPrimitive primitive;
+    private final long tunnelId;
 
     // TODO add other common fields
     //String ingressTag;
     //String egressTag;
     //etc.
 
-    IntentResource(IntentPrimitive primitive) {
+    public IntentResource(IntentPrimitive primitive, long tunnelId) {
         this.primitive = primitive;
+        this.tunnelId = tunnelId;
     }
 
     public IntentPrimitive primitive() {
         return primitive;
     }
 
+    public long tunnelId() {
+        return tunnelId;
+    }
+
 }