public String getForeignSource(InetAddress address) { getReadLock().lock(); try { LOG.debug( "Looking for matching foreign source specific IP or IP range with address: {}...", address); List<Specific> specificCollection = getConfiguration().getSpecificCollection(); for (Specific specific : specificCollection) { String ipAddr = specific.getContent(); if (ipAddr.equals(InetAddressUtils.str(address))) { String foreignSource = specific.getForeignSource(); LOG.debug( "Matched foreign source {} matching address: {} against specific {}.", foreignSource, address, ipAddr); return foreignSource; } } final byte[] laddr = address.getAddress(); List<IncludeRange> includeRangeCollection = getConfiguration().getIncludeRangeCollection(); for (IncludeRange range : includeRangeCollection) { if (InetAddressUtils.isInetAddressInRange(laddr, range.getBegin(), range.getEnd())) { String foreignSource = range.getForeignSource(); LOG.debug( "Found foreign source {} with address {} in the range begin: {} and end: {}.", foreignSource, address, range.getBegin(), range.getEnd()); return foreignSource; } } List<IncludeUrl> includeUrlCollection = getConfiguration().getIncludeUrlCollection(); for (IncludeUrl includeUrl : includeUrlCollection) { String ipAddr = includeUrl.getContent(); if (ipAddr.equals(InetAddressUtils.str(address))) { String foreignSource = includeUrl.getForeignSource(); LOG.debug( "Matched foreign source {} matching address: {} in specified URL.", foreignSource, address); return foreignSource; } } return getConfiguration().getForeignSource(); } finally { getReadLock().unlock(); } }
/** * getSpecifics * * @return a {@link java.util.List} object. */ public List<IPPollAddress> getSpecifics() { final List<IPPollAddress> specifics = new LinkedList<IPPollAddress>(); getReadLock().lock(); try { Long defaultTimeout = null; Integer defaultRetries = null; if (getConfiguration().hasTimeout()) defaultTimeout = getConfiguration().getTimeout(); if (getConfiguration().hasRetries()) defaultRetries = getConfiguration().getRetries(); for (final Specific s : getConfiguration().getSpecificCollection()) { long timeout = 800L; if (s.hasTimeout()) { timeout = s.getTimeout(); } else if (defaultTimeout != null) { timeout = defaultTimeout; } int retries = 3; if (s.hasRetries()) { retries = s.getRetries(); } else if (defaultRetries != null) { retries = defaultRetries; } try { specifics.add(new IPPollAddress(s.getContent(), timeout, retries)); } catch (final UnknownHostException uhE) { LogUtils.warnf(this, uhE, "Failed to convert address %s", s.getContent()); } } return specifics; } finally { getReadLock().unlock(); } }
/** * getSpecifics * * @return a {@link java.util.List} object. */ public List<IPPollAddress> getSpecifics() { final List<IPPollAddress> specifics = new LinkedList<IPPollAddress>(); getReadLock().lock(); try { Long defaultTimeout = null; Integer defaultRetries = null; if (getConfiguration().hasTimeout()) defaultTimeout = getConfiguration().getTimeout(); if (getConfiguration().hasRetries()) defaultRetries = getConfiguration().getRetries(); for (final Specific s : getConfiguration().getSpecificCollection()) { long timeout = 800L; if (s.hasTimeout()) { timeout = s.getTimeout(); } else if (defaultTimeout != null) { timeout = defaultTimeout; } int retries = 3; if (s.hasRetries()) { retries = s.getRetries(); } else if (defaultRetries != null) { retries = defaultRetries; } final String address = s.getContent(); try { specifics.add(new IPPollAddress(InetAddressUtils.addr(address), timeout, retries)); } catch (final IllegalArgumentException e) { LOG.warn("Failed to convert address {}", address, e); } } return specifics; } finally { getReadLock().unlock(); } }