package org.hive2hive.client.menu; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; import org.hive2hive.client.console.ConsoleMenu; import org.hive2hive.client.console.H2HConsoleMenuItem; public class UtilMenu extends ConsoleMenu { @Override protected void addMenuItems() { add(new H2HConsoleMenuItem("Show Local Network Interfaces & IP Addresses") { @Override protected void execute() throws Exception { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) interfaces.nextElement(); print(String.format("* %s: ", netInterface.getDisplayName())); Enumeration<InetAddress> addresses = netInterface.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress address = (InetAddress) addresses.nextElement(); print(String.format("\t- %s", address.getHostAddress())); } } exit(); } }); // TODO add menu item for showing external IP // add(new H2HConsoleMenuItem("Show External IP") { // // @Override // protected void execute() throws Exception { // // URL ipService = new URL("http://automation.whatismyip.com/n09230945.asp"); // BufferedReader in = new BufferedReader(new InputStreamReader(ipService.openStream())); // // String ip = in.readLine(); // System.out.printf("External IP: %s", ip); // } // }); } @Override protected String getInstruction() { return "Please select a util option:"; } }