Beispiel #1
0
  /**
   * 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;
  }
Beispiel #2
0
  /**
   * 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;
  }
Beispiel #3
0
  /**
   * 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();
  }
Beispiel #4
0
  /**
   * 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;
  }