mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-22 14:22:05 +01:00
Deprecate setHostAddressByNameOrIp() and move logic into setHost()
in ConnectionConfiguration.Builder.
This commit is contained in:
parent
44649ef3f5
commit
01e0ae230b
2 changed files with 27 additions and 25 deletions
|
@ -646,7 +646,7 @@ public abstract class ConnectionConfiguration {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the Internet address of the host providing the XMPP service. If set, then this will overwrite anything
|
* Set the Internet address of the host providing the XMPP service. If set, then this will overwrite anything
|
||||||
* set via {@link #setHost(String)}.
|
* set via {@link #setHost(CharSequence)}.
|
||||||
*
|
*
|
||||||
* @param address the Internet address of the host providing the XMPP service.
|
* @param address the Internet address of the host providing the XMPP service.
|
||||||
* @return a reference to this builder.
|
* @return a reference to this builder.
|
||||||
|
@ -658,16 +658,29 @@ public abstract class ConnectionConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the name of the host providing the XMPP service. Note that this method does only allow DNS names and not
|
* Set the name of the host providing the XMPP service. This method takes DNS names and
|
||||||
* IP addresses. Use {@link #setHostAddress(InetAddress)} if you want to explicitly set the Internet address of
|
* IP addresses.
|
||||||
* the host providing the XMPP service.
|
|
||||||
*
|
*
|
||||||
* @param host the DNS name of the host providing the XMPP service.
|
* @param host the DNS name of the host providing the XMPP service.
|
||||||
* @return a reference to this builder.
|
* @return a reference to this builder.
|
||||||
*/
|
*/
|
||||||
public B setHost(String host) {
|
public B setHost(CharSequence host) {
|
||||||
DnsName hostDnsName = DnsName.from(host);
|
String fqdnOrIpString = host.toString();
|
||||||
return setHost(hostDnsName);
|
if (InetAddressUtil.isIpAddress(fqdnOrIpString)) {
|
||||||
|
InetAddress hostInetAddress;
|
||||||
|
try {
|
||||||
|
hostInetAddress = InetAddress.getByName(fqdnOrIpString);
|
||||||
|
}
|
||||||
|
catch (UnknownHostException e) {
|
||||||
|
// Should never happen.
|
||||||
|
throw new AssertionError(e);
|
||||||
|
}
|
||||||
|
setHostAddress(hostInetAddress);
|
||||||
|
} else {
|
||||||
|
DnsName dnsName = DnsName.from(fqdnOrIpString);
|
||||||
|
setHost(dnsName);
|
||||||
|
}
|
||||||
|
return getThis();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -691,23 +704,12 @@ public abstract class ConnectionConfiguration {
|
||||||
* @see #setHost(DnsName)
|
* @see #setHost(DnsName)
|
||||||
* @see #setHostAddress(InetAddress)
|
* @see #setHostAddress(InetAddress)
|
||||||
* @since 4.3.2
|
* @since 4.3.2
|
||||||
|
* @deprecated use {@link #setHost(CharSequence)} instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
|
// TODO: Remove in Smack 4.5.
|
||||||
public B setHostAddressByNameOrIp(CharSequence fqdnOrIp) {
|
public B setHostAddressByNameOrIp(CharSequence fqdnOrIp) {
|
||||||
String fqdnOrIpString = fqdnOrIp.toString();
|
return setHost(fqdnOrIp);
|
||||||
if (InetAddressUtil.isIpAddress(fqdnOrIp)) {
|
|
||||||
InetAddress hostInetAddress;
|
|
||||||
try {
|
|
||||||
hostInetAddress = InetAddress.getByName(fqdnOrIpString);
|
|
||||||
}
|
|
||||||
catch (UnknownHostException e) {
|
|
||||||
// Should never happen.
|
|
||||||
throw new AssertionError(e);
|
|
||||||
}
|
|
||||||
setHostAddress(hostInetAddress);
|
|
||||||
} else {
|
|
||||||
setHost(fqdnOrIpString);
|
|
||||||
}
|
|
||||||
return getThis();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public B setPort(int port) {
|
public B setPort(int port) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Copyright 2018 Florian Schmaus.
|
* Copyright 2018-2019 Florian Schmaus.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +28,7 @@ public class ConnectionConfigurationTest {
|
||||||
DummyConnectionConfiguration.Builder builder = newUnitTestBuilder();
|
DummyConnectionConfiguration.Builder builder = newUnitTestBuilder();
|
||||||
|
|
||||||
final String ip = "192.168.0.1";
|
final String ip = "192.168.0.1";
|
||||||
builder.setHostAddressByNameOrIp(ip);
|
builder.setHost(ip);
|
||||||
|
|
||||||
DummyConnectionConfiguration connectionConfiguration = builder.build();
|
DummyConnectionConfiguration connectionConfiguration = builder.build();
|
||||||
assertEquals('/' + ip, connectionConfiguration.getHostAddress().toString());
|
assertEquals('/' + ip, connectionConfiguration.getHostAddress().toString());
|
||||||
|
@ -39,7 +39,7 @@ public class ConnectionConfigurationTest {
|
||||||
DummyConnectionConfiguration.Builder builder = newUnitTestBuilder();
|
DummyConnectionConfiguration.Builder builder = newUnitTestBuilder();
|
||||||
|
|
||||||
final String fqdn = "foo.example.org";
|
final String fqdn = "foo.example.org";
|
||||||
builder.setHostAddressByNameOrIp(fqdn);
|
builder.setHost(fqdn);
|
||||||
|
|
||||||
DummyConnectionConfiguration connectionConfiguration = builder.build();
|
DummyConnectionConfiguration connectionConfiguration = builder.build();
|
||||||
assertEquals(fqdn, connectionConfiguration.getHost().toString());
|
assertEquals(fqdn, connectionConfiguration.getHost().toString());
|
||||||
|
|
Loading…
Reference in a new issue