/** * Directs a chart request to a ChartMediator.<br> * Referring to a given configuration (id), it directs a request for a chart to a ChartMediator * and returns the result. * * @param json String path to a .json file where request information are stored * @return a json-object which contains all information about the requested chart * @see ChartMediator */ public JSONObject computeChart(JSONObject json) { if (json == null) { throw new IllegalArgumentException(); } // checks whether a request is allowed if (!isInitialized()) { Printer.pproblem("Configurations & mediators not initalized!"); Printer.print("-> Chart creation not possible!"); return null; } if (!(tablesAreCreated())) { Printer.pproblem("Tables not created. Request not possible"); return null; } // direct request and hopefully receive a JSON object JSONObject chart = chartMedi.computeChart(json); if (chart == null) { Printer.pfail("Computing chart."); return null; } else { Printer.psuccess("Computing chart."); } return chart; }
/** * Request a old chart request from the history of a ChartMediator.<br> * Referring to a given configuration (id), it requests a chart from the history of a * ChartMediator. Thereby it requests the one, indicated by the given number. E.g. 1 stands for * the newest one, 6 for the 6 latest. * * @param number number of the latest computed chart, range from 1 (latest) to 10 (oldest) * @return the JSON object of the requested chart, referring to the id and the number */ public JSONObject historyChart(int number) { // checks whether a request is allowed if (!isInitialized()) { Printer.pproblem("Configurations & mediators not initalized!"); Printer.print("-> Chart creation not possible!"); return null; } // checks whether the parameters are legal if ((number < 0) || (getMaxSizeOfHistory() <= number)) { throw new IllegalArgumentException(); } // checks if enough charts are stored yet if (number >= getCurrentSizeOfHistory()) { Printer.pproblem("Not so many charts stored yet."); return null; } // request the chart JSONObject histo = chartMedi.getHistoryChart(number); if (histo == null) { Printer.perror("No history for " + number + " found!"); return null; } return histo; }
/** * Returns the dimensions and rows. * * @return the dimensions and rows */ public ArrayList<DimRow> getDimensions() { // checks whether a request against configuration is allowed if (!isInitialized()) { Printer.pproblem("Configurations not initalized!"); Printer.print("-> Request on it possible!"); return null; } return currentConfig.getDims(); }
/** * Directs a parsing request to a ParserMediator.<br> * Referring to the given configuration (id), it directs the request of parsing a given log-file * (path) to a ParserMediator. * * @param path path of the log file, which has to be parsed * @return whether parsing this log file was successful, to a certain point; therefore {@linkplain * ParserMediator} * @see ParserMediator */ public boolean parseLogFile(String path) { if (path == null) { throw new IllegalArgumentException(); } // Printer.ptest("creating tables: " + createDBTables()); // testing // Printer.ptest("Start parsing task."); // long start = System.currentTimeMillis(); // checks whether a request is allowed if (!isInitialized()) { Printer.pproblem("Configurations & mediators not initalized!"); Printer.print("-> Parsing not possible!"); return false; } if (!(tablesAreCreated())) { Printer.pproblem("Tables not created. Request not possible"); return false; } // directs the request if (!parsMedi.parseLogFile(path)) { Printer.pfail("Parsing."); return false; } else { Printer.psuccess("Parsing."); } // testing // Printer.ptest("Completed parsing task. Time needed: " + (System.currentTimeMillis() - // start)); // precompute strings for the web page selection boxes after parsinng computeDimensionData(); return true; }