From 7b4c9367768fbb4f0b3dfb5bfe7ac5b270bdc21d Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 27 Apr 2017 19:16:24 +0200 Subject: [PATCH] Do not use InetAddress.getByName() We have better alternatives for these, use those. Change-Id: Ibfcea2779b822d0ff2d113bed4fe218d02f64eb5 Signed-off-by: Robert Varga --- .../mount/CallHomeMountSessionContextTest.java | 7 +++---- .../netconf/callhome/mount/ContextKeyTest.java | 9 ++++----- .../netconf/ssh/NetconfNorthboundSshServer.java | 15 +++++---------- .../netconf/tcp/NetconfNorthboundTcpServer.java | 15 +++++---------- .../singleton/impl/NetconfNodeActorTest.java | 9 ++++----- .../impl/RemoteDeviceConnectorImplTest.java | 15 ++++++++------- .../impl/tx/ReadOnlyTransactionTest.java | 4 ++-- .../impl/tx/WriteOnlyTransactionTest.java | 4 ++-- 8 files changed, 33 insertions(+), 45 deletions(-) diff --git a/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionContextTest.java b/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionContextTest.java index ab833eaa4d..1551181eed 100644 --- a/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionContextTest.java +++ b/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionContextTest.java @@ -16,10 +16,9 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import com.google.common.net.InetAddresses; import java.net.Inet4Address; -import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.UnknownHostException; import org.junit.Before; import org.junit.Test; import org.opendaylight.netconf.api.NetconfMessage; @@ -39,8 +38,8 @@ public class CallHomeMountSessionContextTest { private CallHomeProtocolSessionContext mockProtocol; @Before - public void setup() throws UnknownHostException { - someAddressIpv4 = (Inet4Address) InetAddress.getByName("1.2.3.4"); + public void setup() { + someAddressIpv4 = (Inet4Address) InetAddresses.forString("1.2.3.4"); someSocketAddress = new InetSocketAddress(someAddressIpv4, 123); mockProtocol = mock(CallHomeProtocolSessionContext.class); diff --git a/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/ContextKeyTest.java b/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/ContextKeyTest.java index c3a5da5fc0..eb65226b52 100644 --- a/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/ContextKeyTest.java +++ b/netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/ContextKeyTest.java @@ -16,11 +16,10 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import com.google.common.net.InetAddresses; import java.net.Inet4Address; import java.net.Inet6Address; -import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.UnknownHostException; import org.junit.Before; import org.junit.Test; import org.opendaylight.netconf.client.NetconfClientSession; @@ -89,10 +88,10 @@ public class ContextKeyTest { } @Test - public void newContextCanBeCreatedFromASocketAddress() throws UnknownHostException { + public void newContextCanBeCreatedFromASocketAddress() { // given - Inet4Address someAddressIpv4 = (Inet4Address) InetAddress.getByName("1.2.3.4"); - Inet6Address someAddressIpv6 = (Inet6Address) InetAddress.getByName("::1"); + Inet4Address someAddressIpv4 = (Inet4Address) InetAddresses.forString("1.2.3.4"); + Inet6Address someAddressIpv6 = (Inet6Address) InetAddresses.forString("::1"); // and ContextKey key1 = ContextKey.from(new InetSocketAddress(someAddressIpv4, 123)); ContextKey key2 = ContextKey.from(new InetSocketAddress(someAddressIpv6, 123)); diff --git a/netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java b/netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java index 300e19f594..f7b6a443d5 100644 --- a/netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java +++ b/netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java @@ -14,11 +14,11 @@ import io.netty.util.concurrent.EventExecutor; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.UnknownHostException; import java.util.concurrent.Executors; import org.apache.sshd.server.keyprovider.PEMGeneratorHostKeyProvider; import org.opendaylight.netconf.api.NetconfServerDispatcher; import org.opendaylight.netconf.auth.AuthProvider; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.slf4j.Logger; @@ -67,15 +67,10 @@ public class NetconfNorthboundSshServer { }); } - private InetSocketAddress getInetAddress(final String bindingAddress, final String portNumber) { - try { - IpAddress ipAddress = IpAddressBuilder.getDefaultInstance(bindingAddress); - final InetAddress inetAd = InetAddress.getByName(ipAddress.getIpv4Address() == null - ? ipAddress.getIpv6Address().getValue() : ipAddress.getIpv4Address().getValue()); - return new InetSocketAddress(inetAd, Integer.valueOf(portNumber)); - } catch (final UnknownHostException e) { - throw new IllegalArgumentException("Unable to bind netconf endpoint to address " + bindingAddress, e); - } + private static InetSocketAddress getInetAddress(final String bindingAddress, final String portNumber) { + IpAddress ipAddress = IpAddressBuilder.getDefaultInstance(bindingAddress); + final InetAddress inetAd = IetfInetUtil.INSTANCE.inetAddressFor(ipAddress); + return new InetSocketAddress(inetAd, Integer.parseInt(portNumber)); } public void close() { diff --git a/netconf/netconf-tcp/src/main/java/org/opendaylight/netconf/tcp/NetconfNorthboundTcpServer.java b/netconf/netconf-tcp/src/main/java/org/opendaylight/netconf/tcp/NetconfNorthboundTcpServer.java index f45f7ba80f..8b9caef47b 100644 --- a/netconf/netconf-tcp/src/main/java/org/opendaylight/netconf/tcp/NetconfNorthboundTcpServer.java +++ b/netconf/netconf-tcp/src/main/java/org/opendaylight/netconf/tcp/NetconfNorthboundTcpServer.java @@ -10,8 +10,8 @@ package org.opendaylight.netconf.tcp; import io.netty.channel.ChannelFuture; import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.UnknownHostException; import org.opendaylight.netconf.api.NetconfServerDispatcher; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.slf4j.Logger; @@ -41,15 +41,10 @@ public class NetconfNorthboundTcpServer implements AutoCloseable { }); } - private InetSocketAddress getInetAddress(final String bindingAddress, final String portNumber) { - try { - IpAddress ipAddress = IpAddressBuilder.getDefaultInstance(bindingAddress); - final InetAddress inetAd = InetAddress.getByName(ipAddress.getIpv4Address() == null - ? ipAddress.getIpv6Address().getValue() : ipAddress.getIpv4Address().getValue()); - return new InetSocketAddress(inetAd, Integer.valueOf(portNumber)); - } catch (final UnknownHostException e) { - throw new IllegalArgumentException("Unable to bind netconf tcp endpoint to address " + bindingAddress, e); - } + private static InetSocketAddress getInetAddress(final String bindingAddress, final String portNumber) { + IpAddress ipAddress = IpAddressBuilder.getDefaultInstance(bindingAddress); + final InetAddress inetAd = IetfInetUtil.INSTANCE.inetAddressFor(ipAddress); + return new InetSocketAddress(inetAd, Integer.parseInt(portNumber)); } @Override diff --git a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeActorTest.java b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeActorTest.java index 3bb0125c70..88441a1b06 100644 --- a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeActorTest.java +++ b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeActorTest.java @@ -32,15 +32,14 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; +import com.google.common.net.InetAddresses; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.SettableFuture; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.UnknownHostException; import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.After; @@ -110,11 +109,11 @@ public class NetconfNodeActorTest { private DataBroker dataBroker; @Before - public void setup() throws UnknownHostException { + public void setup() { initMocks (this); remoteDeviceId = new RemoteDeviceId("netconf-topology", - new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9999)); + new InetSocketAddress(InetAddresses.forString("127.0.0.1"), 9999)); final NetconfTopologySetup setup = mock(NetconfTopologySetup.class); final Props props = NetconfNodeActor.props(setup, remoteDeviceId, DEFAULT_SCHEMA_REPOSITORY, @@ -150,7 +149,7 @@ public class NetconfNodeActorTest { /* Test refresh master data */ final RemoteDeviceId remoteDeviceId2 = new RemoteDeviceId("netconf-topology2", - new InetSocketAddress(InetAddress.getByName("127.0.0.2"), 9999)); + new InetSocketAddress(InetAddresses.forString("127.0.0.2"), 9999)); final NetconfTopologySetup setup2 = mock(NetconfTopologySetup.class); diff --git a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImplTest.java b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImplTest.java index a8df0afd38..3d1f5ec2b9 100644 --- a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImplTest.java +++ b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImplTest.java @@ -23,9 +23,9 @@ import static org.mockito.MockitoAnnotations.initMocks; import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.util.Timeout; +import com.google.common.net.InetAddresses; import com.google.common.util.concurrent.Futures; import io.netty.util.concurrent.EventExecutor; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.concurrent.ExecutorService; @@ -109,11 +109,11 @@ public class RemoteDeviceConnectorImplTest { private RemoteDeviceId remoteDeviceId; @Before - public void setUp() throws UnknownHostException { + public void setUp() { initMocks(this); remoteDeviceId = new RemoteDeviceId(TOPOLOGY_ID, - new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9999)); + new InetSocketAddress(InetAddresses.forString("127.0.0.1"), 9999)); doReturn(txChain).when(dataBroker).createTransactionChain(any(TransactionChainListener.class)); doReturn(writeTx).when(txChain).newWriteOnlyTransaction(); @@ -199,7 +199,7 @@ public class RemoteDeviceConnectorImplTest { } @Test - public void testKeapAliveFacade() throws UnknownHostException { + public void testKeapAliveFacade() { final ExecutorService executorService = mock(ExecutorService.class); doReturn(executorService).when(processingExecutor).getExecutor(); @@ -217,7 +217,7 @@ public class RemoteDeviceConnectorImplTest { .build(); final RemoteDeviceId remoteDeviceId = new RemoteDeviceId(TOPOLOGY_ID, - new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9999)); + new InetSocketAddress(InetAddresses.forString("127.0.0.1"), 9999)); final Node node = new NodeBuilder().setNodeId(NODE_ID).addAugmentation(NetconfNode.class, netconfNode).build(); builder.setSchemaResourceDTO(NetconfTopologyUtils.setupSchemaCacheDTO(node)); @@ -233,7 +233,7 @@ public class RemoteDeviceConnectorImplTest { } @Test - public void testGetClientConfig() throws UnknownHostException { + public void testGetClientConfig() { final NetconfClientSessionListener listener = mock(NetconfClientSessionListener.class); final Host host = new Host(new IpAddress(new Ipv4Address("127.0.0.1"))); final PortNumber portNumber = new PortNumber(9999); @@ -255,7 +255,8 @@ public class RemoteDeviceConnectorImplTest { remoteDeviceConnection.getClientConfig(listener, testingNode); assertEquals(defaultClientConfig.getConnectionTimeoutMillis().longValue(), 1000L); - assertEquals(defaultClientConfig.getAddress(), new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9999)); + assertEquals(defaultClientConfig.getAddress(), new InetSocketAddress(InetAddresses.forString("127.0.0.1"), + 9999)); assertSame(defaultClientConfig.getSessionListener(), listener); assertEquals(defaultClientConfig.getAuthHandler().getUsername(), "testuser"); assertEquals(defaultClientConfig.getProtocol(), NetconfClientConfiguration.NetconfClientProtocol.TCP); diff --git a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/ReadOnlyTransactionTest.java b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/ReadOnlyTransactionTest.java index b214a51899..366a75b267 100644 --- a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/ReadOnlyTransactionTest.java +++ b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/ReadOnlyTransactionTest.java @@ -24,9 +24,9 @@ import akka.testkit.TestActorRef; import akka.util.Timeout; import com.google.common.base.Optional; import com.google.common.collect.Lists; +import com.google.common.net.InetAddresses; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.List; import java.util.concurrent.TimeUnit; @@ -88,7 +88,7 @@ public class ReadOnlyTransactionTest { system = ActorSystem.create(); final RemoteDeviceId remoteDeviceId = new RemoteDeviceId("netconf-topology", - new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9999)); + new InetSocketAddress(InetAddresses.forString("127.0.0.1"), 9999)); final NetconfTopologySetup setup = mock(NetconfTopologySetup.class); final Props props = NetconfNodeActor.props(setup, remoteDeviceId, DEFAULT_SCHEMA_REPOSITORY, diff --git a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/WriteOnlyTransactionTest.java b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/WriteOnlyTransactionTest.java index 9cd9adcaee..3457b309e2 100644 --- a/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/WriteOnlyTransactionTest.java +++ b/netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/WriteOnlyTransactionTest.java @@ -27,9 +27,9 @@ import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; import akka.util.Timeout; import com.google.common.collect.Lists; +import com.google.common.net.InetAddresses; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.List; import java.util.concurrent.TimeUnit; @@ -92,7 +92,7 @@ public class WriteOnlyTransactionTest { system = ActorSystem.create(); final RemoteDeviceId remoteDeviceId = new RemoteDeviceId("netconf-topology", - new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 9999)); + new InetSocketAddress(InetAddresses.forString("127.0.0.1"), 9999)); final NetconfTopologySetup setup = mock(NetconfTopologySetup.class); doReturn(Duration.apply(0, TimeUnit.SECONDS)).when(setup).getIdleTimeout(); -- 2.36.6