
com.khubla.pragmatach.plugin.adminapp.ShowNetworkController Maven / Gradle / Ivy
package com.khubla.pragmatach.plugin.adminapp;
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import com.khubla.pragmatach.framework.annotation.Controller;
import com.khubla.pragmatach.framework.annotation.Route;
import com.khubla.pragmatach.framework.annotation.View;
import com.khubla.pragmatach.framework.api.PragmatachException;
import com.khubla.pragmatach.framework.api.Response;
/**
* @author tome
*/
@Controller(name = "pragmatachShowNetworkController")
@View(view = "pragmatach/admin/network.html")
public class ShowNetworkController extends SecuredAdminController {
/**
* ips of this host
*/
private List ips;
private List findIPs() throws PragmatachException {
try {
final List ret = new ArrayList();
final Enumeration enumer = NetworkInterface.getNetworkInterfaces();
if (null != enumer) {
while (enumer.hasMoreElements()) {
final NetworkInterface networkInterface = enumer.nextElement();
for (final InterfaceAddress interfaceAddress : networkInterface.getInterfaceAddresses()) {
if (false == interfaceAddress.getAddress().isLoopbackAddress()) {
final String ip = interfaceAddress.getAddress().getHostAddress();
if (false == ip.contains(":")) {
ret.add(ip);
}
}
}
}
}
return ret;
} catch (final Exception e) {
throw new PragmatachException("Exception in findIPs", e);
}
}
public List getIps() {
return ips;
}
@Override
@Route(uri = "/pragmatach/admin/network")
public Response render() throws PragmatachException {
ips = findIPs();
return super.render();
}
public void setIps(List ips) {
this.ips = ips;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy