[CORD-2903] Improve SR/Multicast APIs

Change-Id: Id44af87569e0a83129c96504b21c69e1d455f785
(cherry picked from commit a2858a34a26e02e9d2dd66dc562d0f6fb2c4bdd1)
diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
index aabed47..87ba7f3 100644
--- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
+++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.segmentrouting;
 
+import com.google.common.collect.Multimap;
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.IpPrefix;
 import org.onosproject.cluster.NodeId;
@@ -237,7 +238,10 @@
      *
      * @param mcastIp the group ip
      * @return the mapping mcastIp-device to mcast role
+     *
+     * @deprecated in 1.12 ("Magpie") release.
      */
+    @Deprecated
     Map<McastStoreKey, McastRole> getMcastRoles(IpAddress mcastIp);
 
     /**
@@ -245,9 +249,23 @@
      *
      * @param mcastIp the group ip
      * @return the mapping egress point to mcast path
+     *
+     * @deprecated in 1.12 ("Magpie") release.
      */
+    @Deprecated
     Map<ConnectPoint, List<ConnectPoint>> getMcastPaths(IpAddress mcastIp);
 
+
+    /**
+     * Returns the associated trees to the mcast group.
+     *
+     * @param mcastIp the group ip
+     * @param sourcecp the source connect point
+     * @return the mapping egress point to mcast path
+     */
+    Multimap<ConnectPoint, List<ConnectPoint>> getMcastTrees(IpAddress mcastIp,
+                                                             ConnectPoint sourcecp);
+
     /**
      * Return the leaders of the mcast groups.
      *