Merge "Do not start netconf-impl for css netconf endpoint"
[netconf.git] / netconf / netconf-tcp / src / main / java / org / opendaylight / netconf / tcp / NetconfNorthboundTcpServer.java
index 5792ebb61e31c805b2678afb9cfde6959ca8dc22..69090c283f6a93cd3c8136d701f5e6846791f890 100644 (file)
@@ -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,19 +41,14 @@ 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
-    public void close() throws Exception {
+    public void close() {
         if (tcpServer.isDone()) {
             tcpServer.channel().close();
         } else {