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();
}
}