Search in sources :

Example 6 with ObstacleConstraint

use of org.onosproject.net.intent.constraint.ObstacleConstraint in project onos by opennetworkinglab.

the class EncodeConstraintCodecHelper method encode.

/**
 * Encodes the constraint in JSON.
 *
 * @return JSON node
 */
public ObjectNode encode() {
    final ObjectNode result;
    if (constraint instanceof BandwidthConstraint) {
        result = encodeBandwidthConstraint();
    } else if (constraint instanceof LinkTypeConstraint) {
        result = encodeLinkTypeConstraint();
    } else if (constraint instanceof AnnotationConstraint) {
        result = encodeAnnotationConstraint();
    } else if (constraint instanceof LatencyConstraint) {
        result = encodeLatencyConstraint();
    } else if (constraint instanceof ObstacleConstraint) {
        result = encodeObstacleConstraint();
    } else if (constraint instanceof WaypointConstraint) {
        result = encodeWaypointConstraint();
    } else if (constraint instanceof MeteredConstraint) {
        result = encodeMeteredConstraint();
    } else if (constraint instanceof TierConstraint) {
        result = encodeTierConstraint();
    } else {
        result = context.mapper().createObjectNode();
    }
    result.put(ConstraintCodec.TYPE, constraint.getClass().getSimpleName());
    return result;
}
Also used : ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) ObstacleConstraint(org.onosproject.net.intent.constraint.ObstacleConstraint) TierConstraint(org.onosproject.net.intent.constraint.TierConstraint) WaypointConstraint(org.onosproject.net.intent.constraint.WaypointConstraint) LatencyConstraint(org.onosproject.net.intent.constraint.LatencyConstraint) MeteredConstraint(org.onosproject.net.intent.constraint.MeteredConstraint) LinkTypeConstraint(org.onosproject.net.intent.constraint.LinkTypeConstraint) AnnotationConstraint(org.onosproject.net.intent.constraint.AnnotationConstraint) BandwidthConstraint(org.onosproject.net.intent.constraint.BandwidthConstraint)

Aggregations

ObstacleConstraint (org.onosproject.net.intent.constraint.ObstacleConstraint)6 DeviceId (org.onosproject.net.DeviceId)4 AnnotationConstraint (org.onosproject.net.intent.constraint.AnnotationConstraint)4 BandwidthConstraint (org.onosproject.net.intent.constraint.BandwidthConstraint)4 LatencyConstraint (org.onosproject.net.intent.constraint.LatencyConstraint)4 WaypointConstraint (org.onosproject.net.intent.constraint.WaypointConstraint)4 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)3 Constraint (org.onosproject.net.intent.Constraint)3 LinkTypeConstraint (org.onosproject.net.intent.constraint.LinkTypeConstraint)3 JsonNode (com.fasterxml.jackson.databind.JsonNode)2 Test (org.junit.Test)2 ConnectPoint (org.onosproject.net.ConnectPoint)2 AsymmetricPathConstraint (org.onosproject.net.intent.constraint.AsymmetricPathConstraint)2 MeteredConstraint (org.onosproject.net.intent.constraint.MeteredConstraint)2 TierConstraint (org.onosproject.net.intent.constraint.TierConstraint)2 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)1 ArrayList (java.util.ArrayList)1 FilteredConnectPoint (org.onosproject.net.FilteredConnectPoint)1 Lambda (org.onosproject.net.Lambda)1 DefaultTrafficSelector (org.onosproject.net.flow.DefaultTrafficSelector)1