use of org.onosproject.segmentrouting.policy.api.Policy in project trellis-control by opennetworkinglab.
the class PolicyWebResource method getPolicies.
/**
* Get all Policies.
*
* @return 200 OK will a collection of Policies
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getPolicies() {
PolicyService policyService = get(PolicyService.class);
ObjectNode root = mapper().createObjectNode();
ArrayNode policiesArr = root.putArray(POLICY);
// Create a filter set contains all PolicyType
Set<PolicyType> policyTypes = Set.of(PolicyType.values());
for (PolicyData policyData : policyService.policies(policyTypes)) {
Policy policy = policyData.policy();
switch(policy.policyType()) {
case DROP:
policiesArr.add(codec(DropPolicy.class).encode((DropPolicy) policy, this));
break;
case REDIRECT:
policiesArr.add(codec(RedirectPolicy.class).encode((RedirectPolicy) policy, this));
break;
default:
continue;
}
}
return Response.ok(root).build();
}
use of org.onosproject.segmentrouting.policy.api.Policy in project trellis-control by opennetworkinglab.
the class PolicyWebResource method getDropPolicies.
/**
* Get all Drop Policies.
*
* @return 200 OK will a collection of Dop Policies
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("drop")
public Response getDropPolicies() {
PolicyService policyService = get(PolicyService.class);
ObjectNode root = mapper().createObjectNode();
ArrayNode policiesArr = root.putArray(POLICY);
Set<PolicyType> policyTypes = Set.of(PolicyType.DROP);
for (PolicyData policyData : policyService.policies(policyTypes)) {
Policy policy = policyData.policy();
policiesArr.add(codec(DropPolicy.class).encode((DropPolicy) policy, this));
}
return Response.ok(root).build();
}
use of org.onosproject.segmentrouting.policy.api.Policy in project trellis-control by opennetworkinglab.
the class PolicyWebResource method getRedirectPolicies.
/**
* Get all Redirect Policies.
*
* @return 200 OK will a collection of Redirect Policies
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("redirect")
public Response getRedirectPolicies() {
PolicyService policyService = get(PolicyService.class);
ObjectNode root = mapper().createObjectNode();
ArrayNode policiesArr = root.putArray(POLICY);
Set<PolicyType> policyTypes = Set.of(PolicyType.REDIRECT);
for (PolicyData policyData : policyService.policies(policyTypes)) {
Policy policy = policyData.policy();
policiesArr.add(codec(RedirectPolicy.class).encode((RedirectPolicy) policy, this));
}
return Response.ok(root).build();
}
Aggregations