Added back end of 'show policy', removed unicode from 'show tunnel detail'
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java
index cbea58d..0931dd3 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterPolicyResource.java
@@ -1,8 +1,14 @@
package net.onrc.onos.apps.segmentrouting.web;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
import net.onrc.onos.apps.segmentrouting.ISegmentRoutingService;
+import net.onrc.onos.apps.segmentrouting.SegmentRoutingManager.PolicyInfo;
+import net.onrc.onos.core.matchaction.match.PacketMatch;
import net.onrc.onos.core.packet.IPv4;
import net.onrc.onos.core.util.IPv4Net;
@@ -95,9 +101,23 @@
}
@Get("json")
- public String getPolicy() {
- String reply = "success";
+ public Object getPolicy() {
+ ISegmentRoutingService segmentRoutingService =
+ (ISegmentRoutingService) getContext().getAttributes().
+ get(ISegmentRoutingService.class.getCanonicalName());
+ List<SegmentRouterPolicyInfo> policyList = new ArrayList<SegmentRouterPolicyInfo>();
+ Collection<PolicyInfo> policies = segmentRoutingService.getPoclicyTable();
+ Iterator<PolicyInfo> piI = policies.iterator();
+ while(piI.hasNext()){
+ PolicyInfo policy = piI.next();
+ String policyId = policy.getPolicyId();
+ int priority = policy.getPriority();
+ int policyType = policy.getType();
+ PacketMatch flowEntries = policy.getMatch();
+ SegmentRouterPolicyInfo pInfo = new SegmentRouterPolicyInfo(policyId, policyType, priority, flowEntries);
+ policyList.add(pInfo);
+ }
log.debug("getPolicy with params");
- return reply;
+ return policyList;
}
}