You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2011/09/07 22:04:39 UTC
svn commit: r1166362 -
/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java
Author: olegk
Date: Wed Sep 7 20:04:38 2011
New Revision: 1166362
URL: http://svn.apache.org/viewvc?rev=1166362&view=rev
Log:
Simplified InMemoryDnsResolver#add method
Modified:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java?rev=1166362&r1=1166361&r2=1166362&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java Wed Sep 7 20:04:38 2011
@@ -34,7 +34,6 @@ import java.util.concurrent.ConcurrentHa
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.http.conn.util.InetAddressUtils;
import org.apache.http.conn.DnsResolver;
/**
@@ -64,40 +63,23 @@ public class InMemoryDnsResolver impleme
}
/**
- * Associates the given IP address to the given host in this DNS overrider.
+ * Associates the given array of IP addresses to the given host in this DNS overrider.
+ * The IP addresses are assumed to be already resolved.
*
* @param host
* The host name to be associated with the given IP.
- * @param ip
- * IPv4 address to be resolved by this DNS overrider to the given
+ * @param ips
+ * array of IP addresses to be resolved by this DNS overrider to the given
* host name.
- *
- * @throws IllegalArgumentException
- * if the given IP is not a valid IPv4 address or an InetAddress
- * instance cannot be built based on the given IPv4 address.
- *
- * @see InetAddress#getByAddress
*/
- public void add(final String host, final String ip) {
- if (!InetAddressUtils.isIPv4Address(ip)) {
- throw new IllegalArgumentException(ip + " must be a valid IPv4 address");
- }
-
- String[] ipParts = ip.split("\\.");
-
- byte[] byteIpAddress = new byte[4];
-
- for (int i = 0; i < 4; i++) {
- byteIpAddress[i] = Integer.decode(ipParts[i]).byteValue();
+ public void add(final String host, final InetAddress... ips) {
+ if (host == null) {
+ throw new IllegalArgumentException("Host name may not be null");
}
-
- try {
- dnsMap.put(host, new InetAddress[] { InetAddress.getByAddress(byteIpAddress) });
- } catch (UnknownHostException e) {
- log.error("Unable to build InetAddress for " + ip, e);
- throw new IllegalArgumentException(e);
+ if (ips == null) {
+ throw new IllegalArgumentException("Array of IP addresses may not be null");
}
-
+ dnsMap.put(host, ips);
}
/**
@@ -108,11 +90,9 @@ public class InMemoryDnsResolver impleme
if (log.isInfoEnabled()) {
log.info("Resolving " + host + " to " + Arrays.deepToString(resolvedAddresses));
}
-
if(resolvedAddresses == null){
- throw new UnknownHostException(host + " cannot be resolved.");
+ throw new UnknownHostException(host + " cannot be resolved");
}
-
return resolvedAddresses;
}
Re: svn commit: r1166362
Posted by Oleg Kalnichevski <ol...@apache.org>.
On Thu, 2011-09-08 at 10:32 +0300, Vasile Alin wrote:
> Is the class's comment "Currently this class supports only IPv4
> addresses." still valid with the new changes?
>
>
No, it is not. I overlooked it. I'll updated javadocs in a sec.
Cheers
Oleg
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org
Re: svn commit: r1166362 - /httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java
Posted by Vasile Alin <al...@gmail.com>.
Is the class's comment "Currently this class supports only IPv4
addresses." still valid with the new changes?
On 7 September 2011 23:04, <ol...@apache.org> wrote:
> Author: olegk
> Date: Wed Sep 7 20:04:38 2011
> New Revision: 1166362
>
> URL: http://svn.apache.org/viewvc?rev=1166362&view=rev
> Log:
> Simplified InMemoryDnsResolver#add method
>
> Modified:
> httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java
>
> Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java
> URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java?rev=1166362&r1=1166361&r2=1166362&view=diff
> ==============================================================================
> --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java (original)
> +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/InMemoryDnsResolver.java Wed Sep 7 20:04:38 2011
> @@ -34,7 +34,6 @@ import java.util.concurrent.ConcurrentHa
>
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> -import org.apache.http.conn.util.InetAddressUtils;
> import org.apache.http.conn.DnsResolver;
>
> /**
> @@ -64,40 +63,23 @@ public class InMemoryDnsResolver impleme
> }
>
> /**
> - * Associates the given IP address to the given host in this DNS overrider.
> + * Associates the given array of IP addresses to the given host in this DNS overrider.
> + * The IP addresses are assumed to be already resolved.
> *
> * @param host
> * The host name to be associated with the given IP.
> - * @param ip
> - * IPv4 address to be resolved by this DNS overrider to the given
> + * @param ips
> + * array of IP addresses to be resolved by this DNS overrider to the given
> * host name.
> - *
> - * @throws IllegalArgumentException
> - * if the given IP is not a valid IPv4 address or an InetAddress
> - * instance cannot be built based on the given IPv4 address.
> - *
> - * @see InetAddress#getByAddress
> */
> - public void add(final String host, final String ip) {
> - if (!InetAddressUtils.isIPv4Address(ip)) {
> - throw new IllegalArgumentException(ip + " must be a valid IPv4 address");
> - }
> -
> - String[] ipParts = ip.split("\\.");
> -
> - byte[] byteIpAddress = new byte[4];
> -
> - for (int i = 0; i < 4; i++) {
> - byteIpAddress[i] = Integer.decode(ipParts[i]).byteValue();
> + public void add(final String host, final InetAddress... ips) {
> + if (host == null) {
> + throw new IllegalArgumentException("Host name may not be null");
> }
> -
> - try {
> - dnsMap.put(host, new InetAddress[] { InetAddress.getByAddress(byteIpAddress) });
> - } catch (UnknownHostException e) {
> - log.error("Unable to build InetAddress for " + ip, e);
> - throw new IllegalArgumentException(e);
> + if (ips == null) {
> + throw new IllegalArgumentException("Array of IP addresses may not be null");
> }
> -
> + dnsMap.put(host, ips);
> }
>
> /**
> @@ -108,11 +90,9 @@ public class InMemoryDnsResolver impleme
> if (log.isInfoEnabled()) {
> log.info("Resolving " + host + " to " + Arrays.deepToString(resolvedAddresses));
> }
> -
> if(resolvedAddresses == null){
> - throw new UnknownHostException(host + " cannot be resolved.");
> + throw new UnknownHostException(host + " cannot be resolved");
> }
> -
> return resolvedAddresses;
> }
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org