@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof ReachabilitySettings)) { return false; } ReachabilitySettings other = (ReachabilitySettings) obj; return _actions.equals(other._actions) && _finalNodes.equals(other._finalNodes) && _headerSpace.equals(other._headerSpace) && _ingressNodes.equals(other._ingressNodes) && _maxChunkSize == other._maxChunkSize && _nonTransitNodes.equals(other._nonTransitNodes) && Objects.equals(_srcNatted, other._srcNatted) && _transitNodes.equals(other._transitNodes) && _specialize == other._specialize && _useCompression == other._useCompression; }
/** * Returns true if local node, remote node, and session type in row match the question's filters */ protected static boolean matchesNodesAndType( Row row, Set<String> nodes, Set<String> remoteNodes, BgpSessionQuestion question) { if (!question.getNodes().equals(NodesSpecifier.ALL)) { Node node = (Node) row.get(COL_NODE, Schema.NODE); if (node == null || !nodes.contains(node.getName())) { return false; } } if (!question.getRemoteNodes().equals(NodesSpecifier.ALL)) { Node remoteNode = (Node) row.get(COL_REMOTE_NODE, Schema.NODE); if (remoteNode == null || !remoteNodes.contains(remoteNode.getName())) { return false; } } String typeName = (String) row.get(COL_SESSION_TYPE, Schema.STRING); SessionType type = typeName == null ? null : SessionType.valueOf(typeName); if (!question.matchesType(type)) { return false; } return true; }
retString += String.format(", %s=%s", PROP_DST_PROTOCOLS, getDstProtocols()); if (!getFinalNodeRegex().equals(DEFAULT_FINAL_NODES)) { retString += String.format(", %s=%s", PROP_FINAL_NODE_REGEX, getFinalNodeRegex()); retString += String.format(", %s=%s", PROP_ICMP_TYPES, getIcmpTypes()); if (!getIngressNodeRegex().equals(DEFAULT_INGRESS_NODES)) { retString += String.format(", %s=%s", PROP_INGRESS_NODE_REGEX, getIngressNodeRegex()); retString += String.format(", %s=%s", PROP_SRC_OR_DST_PROTOCOLS, getSrcOrDstProtocols()); if (!getTransitNodes().equals(DEFAULT_TRANSIT_NODES)) { retString += String.format(", %s=%s", PROP_TRANSIT_NODES, getTransitNodes()); retString += String.format(", %s=%s", PROP_NOT_DST_PROTOCOLS, getNotDstProtocols()); if (!getNotFinalNodeRegex().equals(DEFAULT_NOT_FINAL_NODE_REGEX)) { retString += String.format(", %s=%s", PROP_NOT_FINAL_NODE_REGEX, getNotFinalNodeRegex()); retString += String.format(", %s=%s", PROP_NOT_ICMP_TYPES, getNotIcmpTypes()); if (!getNotIngressNodeRegex().equals(DEFAULT_NOT_INGRESS_NODE_REGEX)) { retString += String.format(", %s=%s", PROP_NOT_INGRESS_NODE_REGEX, getNotIngressNodeRegex()); if (!getNonTransitNodes().equals(DEFAULT_NON_TRANSIT_NODES)) { retString += String.format(", %s=%s", PROP_NON_TRANSIT_NODES, getNonTransitNodes());