private void load()

in agent/src/jetbrains/buildServer/xmlReportPlugin/parsers/findBugs/FindBugsPluginVisitor.java [49:88]


  private void load(@NotNull File file) {
    JarFile jar = null;
    try {
      jar = new JarFile(file);

      final JarEntry messages = jar.getJarEntry("messages.xml");

      if (messages == null) {
        LOG.warn("Couldn't find messages.xml in plugin " + file);
        return;
      }

      final File tempFile = FileUtil.createTempFile("", "");
      InputStream jarFileStream = null;
      OutputStream tempFileStream = null;
      try {
        jarFileStream = jar.getInputStream(messages);
        tempFileStream = Files.newOutputStream(tempFile.toPath());

        FileUtil.copy(jarFileStream, tempFileStream);
      } finally {
        FileUtil.close(jarFileStream);
        FileUtil.close(tempFileStream);
      }

      myCallback.pluginFound(tempFile);

      FileUtil.delete(tempFile);
    } catch (Exception e) {
      LOG.warn("Couldn't copy out messages.xml from plugin " + file, e);
    } finally {
      try {
        if (jar != null) {
          jar.close();
        }
      } catch (IOException e) {
        LOG.warn("Couldn't close plugin " + file, e);
      }
    }
  }