2004-07-24 02:06:07 +00:00
|
|
|
package net.i2p.router.web;
|
|
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
|
import java.io.IOException;
|
2004-09-29 22:49:19 +00:00
|
|
|
import java.io.OutputStreamWriter;
|
2004-07-24 02:06:07 +00:00
|
|
|
|
2009-12-04 00:27:05 +00:00
|
|
|
import net.i2p.data.DataHelper;
|
2004-07-24 02:06:07 +00:00
|
|
|
|
2009-01-29 02:16:18 +00:00
|
|
|
public class NetDbHelper extends HelperBase {
|
2008-09-12 13:37:22 +00:00
|
|
|
private String _routerPrefix;
|
2009-11-07 19:32:00 +00:00
|
|
|
private int _full;
|
2010-05-10 15:22:10 +00:00
|
|
|
private boolean _lease;
|
|
|
|
private boolean _debug;
|
2004-07-24 02:06:07 +00:00
|
|
|
|
|
|
|
public NetDbHelper() {}
|
|
|
|
|
2009-12-04 00:27:05 +00:00
|
|
|
public void setRouter(String r) {
|
2009-12-06 21:42:28 +00:00
|
|
|
if (r != null)
|
|
|
|
_routerPrefix = DataHelper.stripHTML(r); // XSS
|
2009-12-04 00:27:05 +00:00
|
|
|
}
|
|
|
|
|
2009-11-07 19:32:00 +00:00
|
|
|
public void setFull(String f) {
|
|
|
|
try {
|
|
|
|
_full = Integer.parseInt(f);
|
|
|
|
} catch (NumberFormatException nfe) {}
|
|
|
|
}
|
2010-05-10 15:22:10 +00:00
|
|
|
|
|
|
|
public void setLease(String l) {
|
|
|
|
_debug = "2".equals(l);
|
|
|
|
_lease = _debug || "1".equals(l);
|
|
|
|
}
|
2004-09-29 22:49:19 +00:00
|
|
|
|
2004-07-24 02:06:07 +00:00
|
|
|
public String getNetDbSummary() {
|
2009-10-17 23:16:53 +00:00
|
|
|
NetDbRenderer renderer = new NetDbRenderer(_context);
|
2004-07-24 02:06:07 +00:00
|
|
|
try {
|
2004-09-29 22:49:19 +00:00
|
|
|
if (_out != null) {
|
2008-09-12 13:37:22 +00:00
|
|
|
if (_routerPrefix != null)
|
2009-10-17 23:16:53 +00:00
|
|
|
renderer.renderRouterInfoHTML(_out, _routerPrefix);
|
2009-04-23 22:34:25 +00:00
|
|
|
else if (_lease)
|
2010-05-10 15:22:10 +00:00
|
|
|
renderer.renderLeaseSetHTML(_out, _debug);
|
2008-09-12 13:37:22 +00:00
|
|
|
else
|
2009-10-17 23:16:53 +00:00
|
|
|
renderer.renderStatusHTML(_out, _full);
|
2004-09-29 22:49:19 +00:00
|
|
|
return "";
|
|
|
|
} else {
|
|
|
|
ByteArrayOutputStream baos = new ByteArrayOutputStream(32*1024);
|
2008-09-12 13:37:22 +00:00
|
|
|
if (_routerPrefix != null)
|
2009-10-17 23:16:53 +00:00
|
|
|
renderer.renderRouterInfoHTML(new OutputStreamWriter(baos), _routerPrefix);
|
2009-04-23 22:34:25 +00:00
|
|
|
else if (_lease)
|
2010-05-10 15:22:10 +00:00
|
|
|
renderer.renderLeaseSetHTML(new OutputStreamWriter(baos), _debug);
|
2008-09-12 13:37:22 +00:00
|
|
|
else
|
2009-10-17 23:16:53 +00:00
|
|
|
renderer.renderStatusHTML(new OutputStreamWriter(baos), _full);
|
2004-09-29 22:49:19 +00:00
|
|
|
return new String(baos.toByteArray());
|
|
|
|
}
|
2004-07-24 02:06:07 +00:00
|
|
|
} catch (IOException ioe) {
|
|
|
|
ioe.printStackTrace();
|
2004-09-29 22:49:19 +00:00
|
|
|
return "";
|
2004-07-24 02:06:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|