Exemple #1
0
  private static Tester getTesterForFile(String filename, String[] glossar, Language language) {
    File inF = new File(url, filename);

    File outF = new File(url, "out." + filename.substring(0, filename.indexOf('.')) + ".xml");
    PrintStream output = null;
    BufferedReader input = null;
    try {
      input = new BufferedReader(new InputStreamReader(new FileInputStream(inF)));
      StringBuilder stringBuilder = new StringBuilder();
      String tmp = null;
      while ((tmp = input.readLine()) != null) {
        stringBuilder.append(tmp);
        stringBuilder.append('\n');
      }
      String whole = stringBuilder.toString();
      if (!outF.exists()) outF.createNewFile();
      output = new PrintStream(outF);
      // Do actual checking
      String[] lines = whole.split(RegEx.Newline);
      int[] tmpLevels = new int[lines.length - 1];
      String[] tmpHadings = new String[tmpLevels.length], tmpTexts = new String[tmpLevels.length];
      for (int i = 1; i < lines.length; i++) {
        String[] split = lines[i].split("\",\"");
        tmpLevels[i - 1] = Integer.parseInt(split[0].substring(1));
        tmpHadings[i - 1] = split[1];
        tmpTexts[i - 1] =
            split[2].substring(
                0, split[2].length() - 1); // Take the whole string, except of the last char
      }
      Tester tester =
          new Tester(
              output,
              tmpLevels,
              tmpHadings,
              tmpTexts,
              glossar,
              language,
              url + "rules.xml",
              url + "rules.xsd");
      return tester;
    } catch (IOException | NumberFormatException | ArrayIndexOutOfBoundsException e) {
      e.printStackTrace();
      return null;
    }
  }