jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java
changeset 44671 d1d011d4654d
parent 34522 fa15f1bdaec2
child 45186 387a39577f09
--- a/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java	Fri Apr 14 00:05:54 2017 -0700
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java	Fri Apr 14 10:47:08 2017 +0100
@@ -31,9 +31,9 @@
  * @bug 6216082
  * @summary  Redirect problem with HttpsURLConnection using a proxy
  * @modules java.base/sun.net.www
- * @library ..
+ * @library .. /lib/testlibrary
  * @build HttpCallback TestHttpsServer ClosedChannelList
- *        HttpTransaction TunnelProxy
+ *        HttpTransaction TunnelProxy jdk.testlibrary.NetworkConfiguration
  * @key intermittent
  * @run main/othervm B6216082
  */
@@ -43,6 +43,8 @@
 import javax.net.ssl.*;
 import java.util.*;
 
+import jdk.testlibrary.NetworkConfiguration;
+
 public class B6216082 {
     static SimpleHttpTransaction httpTrans;
     static TestHttpsServer server;
@@ -118,21 +120,17 @@
     }
 
     public static InetAddress getNonLoAddress() throws Exception {
-        NetworkInterface loNIC = NetworkInterface.getByInetAddress(InetAddress.getByName("localhost"));
-        Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces();
-        while (nics.hasMoreElements()) {
-            NetworkInterface nic = nics.nextElement();
-            if (!nic.getName().equalsIgnoreCase(loNIC.getName())) {
-                Enumeration<InetAddress> addrs = nic.getInetAddresses();
-                while (addrs.hasMoreElements()) {
-                    InetAddress addr = addrs.nextElement();
-                    if (!addr.isLoopbackAddress())
-                        return addr;
-                }
-            }
-        }
+        InetAddress lh = InetAddress.getByName("localhost");
+        NetworkInterface loNIC = NetworkInterface.getByInetAddress(lh);
 
-        return null;
+        NetworkConfiguration nc = NetworkConfiguration.probe();
+        Optional<InetAddress> oaddr = nc.interfaces()
+                .filter(nif -> !nif.getName().equalsIgnoreCase(loNIC.getName()))
+                .flatMap(nif -> nc.addresses(nif))
+                .filter(a -> !a.isLoopbackAddress())
+                .findFirst();
+
+        return oaddr.orElseGet(() -> null);
     }
 
     public static void startHttpServer() throws IOException {