Esempio n. 1
0
  public String getVersionNumber(String toolName) {
    try {
      File findbugsFile = new File(FINDBUGS_FILE);
      DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
      // Prevent XXE
      docBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
      DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
      InputSource is = null;
      Document doc = null;
      Node root = null;
      Reader reader = new Reader();

      switch (toolName) {
        case "findbugs":
          is = new InputSource(new FileInputStream(findbugsFile));
          doc = docBuilder.parse(is);
          root = doc.getDocumentElement();
          return reader.getAttributeValue("version", root);
        case "findsecbugs":
          return WriteFiles.getLine(new File("pom.xml"), "findsecbugs-plugin", true)
              .trim()
              .replace("<version>", "")
              .replace("</version>", "");
        case "pmd":
          is = new InputSource(new FileInputStream(new File(PMD_FILE)));
          doc = docBuilder.parse(is);
          root = doc.getDocumentElement();
          return reader.getAttributeValue("version", root);
        case "sonar":
          return "TBD";
      }
    } catch (Exception e) {
      System.out.println("An error ocurred during results file parsing.");
    }
    return "";
  }