Search in sources :

Example 1 with Td

use of web.Td in project common by zenlunatics.

the class Admin method doGet.

// --------------------------------------------------------------------------
@Override
public boolean doGet(Request request) throws IOException {
    if (!request.userIsAdministrator())
        return false;
    String action = request.getParameter("action");
    if (action != null)
        try {
            if (action.equals("edit settings"))
                request.site.newView("_settings_", request).writeComponent();
            else if (action.equals("edit_table"))
                request.site.newView("admin__" + request.getParameter("table"), request).writeComponent();
            else if (action.equals("exportCSV"))
                exportCSV(request.getParameter("table"), request.getParameter("filename"), request);
            else if (action.equals("generate jdbctable")) {
                request.writer.write("<p><b>JDBCTable</b></p>");
                request.writer.write(request.db.getTable(request.getParameter("table")).getCode());
            } else if (action.equals("generate sql")) {
                request.writer.write("<p><b>SQL</b></p>");
                request.writer.write(request.db.getTable(request.getParameter("table")).getSQL());
            } else // writeAddModuleForm(request);
            if (action.equals("get_column_form")) {
                String table = request.getParameter("table");
                String column = request.getParameter("column");
                writeColumnForm(table, column == null ? null : request.db.getTable(table).getColumn(column), request);
            } else if (action.equals("get default form")) {
                String table = request.getParameter("table");
                writeDefaultForm(table, request.db.getTable(table).getColumn(request.getParameter("column")), request);
            } else if (action.equals("get file manager"))
                ((FileManager) request.site.getModule("FileManager")).write(request);
            else if (action.equals("get log")) {
                request.writer.write("<pre>");
                BufferedReader br = new BufferedReader(new FileReader(request.site.getSettings().getString("log path") + "/" + request.getParameter("log")));
                String l = br.readLine();
                while (l != null) {
                    request.writer.write(l).write("\n");
                    l = br.readLine();
                }
                br.close();
                request.writer.write("</pre>");
            } else if (action.equals("get logs")) {
                request.writer.write("<table border=\"1\"><tr><td valign=\"top\">");
                String[] logs = new File(request.site.getSettings().getString("log path")).list();
                if (logs == null || logs.length == 0)
                    request.writer.write("no logs found in " + request.site.getSettings().getString("log path"));
                else {
                    for (String log : logs) {
                        request.writer.aOnClick(log, "$('log').replace('admin?action=get log&log=" + log + "')");
                        request.writer.br();
                    }
                    request.writer.write("</td><td id=\"log\" valign=\"top\"></td></tr></table>");
                }
            } else if (action.equals("get_many_to_many_link_table_create_form"))
                writeManyToManyLinkTableCreateForm(request);
            else if (action.equals("get_method_form")) {
                String class_name = request.getParameter("class");
                String site_class = request.site.getClass().getName();
                if (class_name == null)
                    new MethodForm(request.site.getModule(request.getParameter("module"))).write(request.getParameter("method"), request);
                else if (class_name.equals("Admin"))
                    new MethodForm(Admin.class).write(request.getParameter("method"), request);
                else if (class_name.equals(site_class.substring(site_class.indexOf('.') + 1)))
                    new MethodForm(request.site.getClass()).write(request.getParameter("method"), request);
                else {
                    Class<?>[] classes = request.site.getClasses();
                    for (Class<?> c : classes) if (c.getSimpleName().equals(class_name)) {
                        new MethodForm(c).write(request.getParameter("method"), request);
                        break;
                    }
                }
            } else if (action.equals("get_module")) {
                String module_name = request.getParameter("module");
                Module module = request.site.getModule(module_name);
                if (module == null)
                    request.writer.write("module " + module_name + " not found");
                module.writeAdminPane(null, true, true, request);
            } else if (action.equals("get_object"))
                request.site.newView(request.getParameter("object"), request).writeComponent();
            else if (action.equals("get_nav_list"))
                writeAccordion(request);
            else if (action.equals("get_schema_diff_form"))
                writeSchemaDiffForm(request);
            else if (action.equals("get_session_attributes"))
                writeSessionAttributes(request);
            else if (action.equals("get sql form"))
                writeSQLForm(request);
            else if (action.equals("get state")) {
                Table table = new Table(request.writer).addClass("table").addStyle("width", "auto");
                Td td = new Td(request.writer).addStyle("vertical-align", "top");
                table.td(td);
                request.writer.h3("Tomcat");
                writeTomcatState(request);
                table.td(td);
                request.writer.h3("Session Attributes");
                writeSessionAttributes(request);
                table.td(td);
                request.writer.h3("Threads");
                writeThreads(request);
                table.td(td);
                request.writer.h3("ViewDef Cache");
                componentOpen(null, request);
                writeViewDefCache(request);
                table.close();
            } else if (action.equals("get_table"))
                writeTablePane(request.getParameter("table"), request);
            else if (action.equals("get_table_create_form"))
                writeTableCreateForm(request);
            else if (action.equals("get_table_def")) {
                ViewState.setShowReturnLink("_tables_", false, request);
                request.site.newView("_tables_", request).writeEditForm();
            } else if (action.equals("get_view")) {
                ViewState.setShowReturnLink("_views_", false, request);
                request.site.newView("_views_", request).writeEditForm();
            } else if (action.equals("get_view_def_cache"))
                writeViewDefCache(request);
            else if (action.equals("schema_diff"))
                new Schema().diff(request.getParameter("url"), request);
            else if (action.equals("search"))
                writeSearchPanel(request);
            else if (action.equals("sql")) {
                List<String> tables = request.db.readValues(new db.Select("table_name").from("information_schema.tables").where("table_name ilike '" + request.getParameter("tables") + "'"));
                for (String table : tables) {
                    request.writer.h4(table);
                    writeResultSet(request.db.select(new db.Select(request.getParameter("columns")).from(table).where(request.getParameter("where"))), request);
                }
            } else if (action.equals("tables with column")) {
                String column = request.getParameter("column");
                String where = request.getParameter("where");
                List<String> tables = request.db.findTablesWithColumn(column);
                if (where.length() > 0) {
                    request.writer.h4("Tables with column " + column + " where " + where);
                    for (String table : tables) {
                        int num_rows = request.db.countRows(table, column + where);
                        if (num_rows > 0)
                            request.writer.write(table).write("(").write(num_rows).write(")").br();
                    }
                } else {
                    request.writer.h4("Tables with column " + column);
                    for (String table : tables) request.writer.write(table).br();
                }
            } else {
                request.writer.write("unknown action: " + action);
                return false;
            }
            return true;
        } catch (SQLException e) {
            request.abort(e);
        }
    writeAdminPage(request);
    return true;
}
Also used : Table(web.Table) JDBCTable(db.JDBCTable) SQLException(java.sql.SQLException) Schema(db.Schema) Td(web.Td) BufferedReader(java.io.BufferedReader) Select(web.Select) FileReader(java.io.FileReader) List(java.util.List) ArrayList(java.util.ArrayList) Module(app.Module) File(java.io.File)

Aggregations

Module (app.Module)1 JDBCTable (db.JDBCTable)1 Schema (db.Schema)1 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 FileReader (java.io.FileReader)1 SQLException (java.sql.SQLException)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Select (web.Select)1 Table (web.Table)1 Td (web.Td)1