package org.itx.jspwiki.plugin.network; import java.net.InetAddress; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import com.ecyrd.jspwiki.WikiContext; import com.ecyrd.jspwiki.plugin.PluginException; import com.ecyrd.jspwiki.plugin.WikiPlugin; /** * * @author D.Yacenko ITx * */ public class EchoStatus implements WikiPlugin { private static Logger log = Logger.getLogger(EchoStatus.class.toString()); public void prnError(Exception msg, StringBuffer out ) { log.log(Level.WARNING, msg.getClass().getName() + " thrown by ping plugin: " + msg.getMessage()); // I18N out.append("
\n"); out.append(msg.getClass().getName() + " thrown by ping plugin: " + msg.getMessage()); // I18N out.append("
\n"); } @SuppressWarnings("unchecked") public String execute(WikiContext context, Map params) throws PluginException { StringBuffer out = new StringBuffer(); int timeout; String address; address = (String) params.get("address"); if (address==null) address="127.0.0.1"; String s = (String) params.get("timeout"); if (s != null) timeout = Integer.parseInt(s); else timeout = 800; try { InetAddress addr = InetAddress.getByName(address); String color="black"; if(!addr.isReachable(timeout))color="red"; out.append(""+address+""); } catch (Exception e) { prnError(e,out); } return out.toString(); } }