package org.batfish.datamodel; import java.util.Map; import java.util.TreeSet; import com.fasterxml.jackson.annotation.JsonCreator; public class NeighborsDiff extends ConfigDiffElement { @JsonCreator private NeighborsDiff() { } public NeighborsDiff(Map<Prefix, BgpNeighbor> before, Map<Prefix, BgpNeighbor> after) { super(new TreeSet<>(), new TreeSet<>()); for (Prefix beforePrefix : before.keySet()) { BgpNeighbor beforeNeighbor = before.get(beforePrefix); String beforeDescription = beforeNeighbor.getDescription(); if (beforeDescription == null) { beforeDescription = beforePrefix.toString(); } if (after.containsKey(beforePrefix)) { BgpNeighbor bNeighbor = after.get(beforePrefix); if (beforeNeighbor.equals(bNeighbor)) { super._identical.add(beforeDescription); } else { _diff.add(beforeDescription); } } else { super._inBeforeOnly.add(beforeDescription); } } for (Prefix afterPrefix : after.keySet()) { BgpNeighbor afterNeighbor = after.get(afterPrefix); if (!before.containsKey(afterPrefix)) { String afterDescription = afterNeighbor.getDescription(); if (afterDescription == null) { afterDescription = afterPrefix.toString(); } super._inAfterOnly.add(afterDescription); } } super.summarizeIdentical(); } }