Add TAPI object resolver and DCS-dependent data provider ( to update cache )

- refactor TapiInstanceBuilder and add some util method
- add skeleton code for tapi-common get RPCs

Change-Id: I548623ad29f9b72b425713720c5081d790b42bd2
diff --git a/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/tapi/TapiNepRef.java b/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/tapi/TapiNepRef.java
index a28d53d..d837362 100644
--- a/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/tapi/TapiNepRef.java
+++ b/apps/odtn/api/src/main/java/org/onosproject/odtn/utils/tapi/TapiNepRef.java
@@ -16,6 +16,7 @@
 
 package org.onosproject.odtn.utils.tapi;
 
+import java.util.Optional;
 import java.util.UUID;
 import org.onosproject.net.ConnectPoint;
 
@@ -28,8 +29,18 @@
     private final UUID topologyId;
     private final UUID nodeId;
     private final UUID nepId;
-    private UUID sipId;
-    private ConnectPoint cp;
+    private UUID sipId = null;
+    private ConnectPoint cp = null;
+
+    TapiNepRef(String topologyId, String nodeId, String nepId) {
+        this.topologyId = UUID.fromString(topologyId);
+        this.nodeId = UUID.fromString(nodeId);
+        this.nepId = UUID.fromString(nepId);
+    }
+
+    public static TapiNepRef create(String topologyId, String nodeId, String nepId) {
+        return new TapiNepRef(topologyId, nodeId, nepId);
+    }
 
     public String getTopologyId() {
         return topologyId.toString();
@@ -44,7 +55,9 @@
     }
 
     public String getSipId() {
-        return sipId.toString();
+        return Optional.ofNullable(sipId)
+                .map(UUID::toString)
+                .orElse(null);
     }
 
     public ConnectPoint getConnectPoint() {
@@ -61,12 +74,6 @@
         return this;
     }
 
-    public TapiNepRef(String topologyId, String nodeId, String nepId) {
-        this.topologyId = UUID.fromString(topologyId);
-        this.nodeId = UUID.fromString(nodeId);
-        this.nepId = UUID.fromString(nepId);
-    }
-
     public String toString() {
         return toStringHelper(getClass())
 //                .add("topologyId", topologyId)