private boolean trace(@Nonnull IpAccessList ipAccessList) { List<IpAccessListLine> lines = ipAccessList.getLines(); newTrace(); for (int i = 0; i < lines.size(); i++) { IpAccessListLine line = lines.get(i); if (line.getMatchCondition().accept(this)) { recordAction(ipAccessList, i, line); endTrace(); return line.getAction() == LineAction.PERMIT; } nextLine(); } recordDefaultDeny(ipAccessList); endTrace(); return false; }
@Override public Boolean visitAclIpSpace(AclIpSpace aclIpSpace) { String name = _aclTracer.getIpSpaceNames().get(aclIpSpace); _aclTracer.newTrace(); List<AclIpSpaceLine> lines = aclIpSpace.getLines(); for (int i = 0; i < lines.size(); i++) { AclIpSpaceLine line = lines.get(i); if (line.getIpSpace().accept(this)) { if (name != null) { _aclTracer.recordAction( name, _aclTracer.getIpSpaceMetadata().get(aclIpSpace), i, line, _ip, _ipDescription, _ipSpaceDescriber); } _aclTracer.endTrace(); return line.getAction() == LineAction.PERMIT; } _aclTracer.nextLine(); } if (name != null) { _aclTracer.recordDefaultDeny( name, _aclTracer.getIpSpaceMetadata().get(aclIpSpace), _ip, _ipDescription); } _aclTracer.endTrace(); return false; }