Search in sources :

Example 1 with Menu

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());
}
Also used : Menu(com.alibaba.dubbo.monitor.simple.common.Menu) MenuComparator(com.alibaba.dubbo.monitor.simple.common.MenuComparator)

Example 2 with Menu

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/>");
}
Also used : Menu(com.alibaba.dubbo.monitor.simple.common.Menu)

Example 3 with Menu

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);
}
Also used : PageHandler(com.alibaba.dubbo.monitor.simple.servlet.PageHandler) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) Page(com.alibaba.dubbo.monitor.simple.common.Page) Menu(com.alibaba.dubbo.monitor.simple.common.Menu)

Aggregations

Menu (com.alibaba.dubbo.monitor.simple.common.Menu)3 MenuComparator (com.alibaba.dubbo.monitor.simple.common.MenuComparator)1 Page (com.alibaba.dubbo.monitor.simple.common.Page)1 PageHandler (com.alibaba.dubbo.monitor.simple.servlet.PageHandler)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1