Added command 'show tunnel details', replaced node with policyIds
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/ISegmentRoutingService.java b/src/main/java/net/onrc/onos/apps/segmentrouting/ISegmentRoutingService.java
index add898f..44411cd 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/ISegmentRoutingService.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/ISegmentRoutingService.java
@@ -5,6 +5,7 @@
 
 import net.floodlightcontroller.core.module.IFloodlightService;
 import net.floodlightcontroller.util.MACAddress;
+import net.onrc.onos.apps.segmentrouting.SegmentRoutingManager.PolicyInfo;
 import net.onrc.onos.apps.segmentrouting.SegmentRoutingManager.TunnelInfo;
 import net.onrc.onos.core.util.IPv4Net;
 
@@ -77,4 +78,9 @@
      * dpid is not found
      */
     public int getTunnelGroupId(String tunnelId, String dpid);
+    /**
+     * return list of all the policies currently there in Segment Router
+     * @return Collection<PolicyInfo>
+     */
+    public Collection<PolicyInfo> getPoclicyTable();
 }
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
index 3ed4bdf..8a9ec48 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/SegmentRoutingManager.java
@@ -1052,6 +1052,10 @@
     public Collection<TunnelInfo> getTunnelTable() {
         return this.tunnelTable.values();
     }
+    
+    public Collection<PolicyInfo> getPoclicyTable() {
+        return this.policyTable.values();
+    }
 
     /**
      * Return router DPIDs for the tunnel
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
index 4c6457a..105983b 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
@@ -9,12 +9,14 @@
     private String tunnelId;
     private List<List<String>> labelStack;
     private List<String> dpidGroup;
+    private String policies;
     
-    public SegmentRouterTunnelInfo (String tId,
-            List<List<String>> tunnelRoutes, List<String> dpidsWithGroup){
+    public SegmentRouterTunnelInfo (String tId,List<List<String>> tunnelRoutes,
+            List<String> dpidsWithGroup,String policiesId){
         this.tunnelId = tId;
         this.labelStack = tunnelRoutes;
         this.dpidGroup = dpidsWithGroup;
+        this.policies = policiesId;
     }
     public String getTunnelId (){
         return this.tunnelId;
@@ -25,4 +27,7 @@
     public List<String> getDpidGroup (){
         return this.dpidGroup;
     }
+    public String getPolicies (){
+        return this.policies;
+    }
 }
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
index d391082..32d9cc6 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
@@ -2,12 +2,14 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
 import net.onrc.onos.apps.segmentrouting.ISegmentRoutingService;
+import net.onrc.onos.apps.segmentrouting.SegmentRoutingManager.PolicyInfo;
 import net.onrc.onos.apps.segmentrouting.SegmentRoutingManager.TunnelInfo;
 import net.onrc.onos.apps.segmentrouting.SegmentRoutingManager.TunnelRouteInfo;
 
@@ -80,18 +82,31 @@
         List<SegmentRouterTunnelInfo> infoList = new ArrayList<SegmentRouterTunnelInfo>();
         while(ttI.hasNext()){
            TunnelInfo tunnelInfo = ttI.next();
+           String tunnelId = tunnelInfo.getTunnelId();
+           Collection<PolicyInfo> policies = segmentRoutingService.getPoclicyTable();
+           Iterator<PolicyInfo> piI = policies.iterator();
+           String policiesId = "";
+           while(piI.hasNext()){
+               PolicyInfo policy = piI.next();
+               if(policy.getTunnelId().equals(tunnelId)){
+                   policiesId += (policy.getPolicyId()+",");
+               }
+           }
+           if (policiesId.endsWith(",")){
+               policiesId = (String) policiesId.subSequence(0, policiesId.length()-1);
+           }
            Iterator<TunnelRouteInfo>trI = tunnelInfo.getRoutes().iterator();
            List<List<String>> labelStack = new ArrayList<List<String>>();
            List<String> dpidGroup = new ArrayList<String>();
            while(trI.hasNext()){
                TunnelRouteInfo label = trI.next();
                labelStack.add(label.getRoute());
-               Integer gId = segmentRoutingService.getTunnelGroupId(tunnelInfo.getTunnelId(), 
+               Integer gId = segmentRoutingService.getTunnelGroupId(tunnelId, 
                        label.getSrcSwDpid());
                dpidGroup.add(label.getSrcSwDpid() + "/"+ gId);
            }
-           SegmentRouterTunnelInfo info = new SegmentRouterTunnelInfo(tunnelInfo.getTunnelId(),
-                    labelStack, dpidGroup);
+           SegmentRouterTunnelInfo info = new SegmentRouterTunnelInfo(tunnelId,
+                    labelStack, dpidGroup, policiesId);
            infoList.add(info);
         }
         log.debug("getTunnel with params");