use of com.alibaba.dubbo.monitor.simple.common.Menu in project incubator-dubbo-ops by apache.
the class PageServlet method init.
@Override
public void init() throws ServletException {
super.init();
INSTANCE = this;
String config = getServletConfig().getInitParameter("pages");
Collection<String> names;
if (config != null && config.length() > 0) {
names = Arrays.asList(Constants.COMMA_SPLIT_PATTERN.split(config));
} else {
names = ExtensionLoader.getExtensionLoader(PageHandler.class).getSupportedExtensions();
}
for (String name : names) {
PageHandler handler = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtension(name);
pages.put(ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(handler), handler);
Menu menu = handler.getClass().getAnnotation(Menu.class);
if (menu != null) {
menus.add(handler);
}
}
Collections.sort(menus, new MenuComparator());
}
use of com.alibaba.dubbo.monitor.simple.common.Menu in project incubator-dubbo-ops by apache.
the class PageServlet method writeMenu.
protected final void writeMenu(HttpServletRequest request, PrintWriter writer, String nav) {
writer.println("<table>");
writer.println("<thead>");
writer.println(" <tr>");
for (PageHandler handler : menus) {
String uri = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(handler);
Menu menu = handler.getClass().getAnnotation(Menu.class);
writer.println(" <th><a href=\"" + uri + ".html\">" + menu.name() + "</a></th>");
}
writer.println(" </tr>");
writer.println("</thead>");
writer.println("<tbody>");
writer.println(" <tr>");
writer.println(" <td style=\"text-align: left\" colspan=\"" + menus.size() + "\">");
writer.println(nav);
writer.println(" </td>");
writer.println(" </tr>");
writer.println("</tbody>");
writer.println("</table>");
writer.println("<br/>");
}
use of com.alibaba.dubbo.monitor.simple.common.Menu in project incubator-dubbo-ops by apache.
the class HomePageHandler method handle.
public Page handle(URL url) {
List<List<String>> rows = new ArrayList<List<String>>();
for (PageHandler handler : PageServlet.getInstance().getMenus()) {
String uri = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(handler);
Menu menu = handler.getClass().getAnnotation(Menu.class);
List<String> row = new ArrayList<String>();
row.add("<a href=\"" + uri + ".html\">" + menu.name() + "</a>");
row.add(menu.desc());
rows.add(row);
}
return new Page("Home", "Menus", new String[] { "Menu Name", "Menu Desc" }, rows);
}
Aggregations