Ejemplo n.º 1
0
  @Override
  public void complete() {

    // if smart exclusions enabled and tile is not empty, send them to
    // writer
    if (!StatsHelper.isTileEmpty(stats) && XplaneOptionsHelper.getOptions().isSmartExclusions()) {
      String exclusions = exclusionsHelper.exportExclusions();
      writer.complete(exclusions);

    } else {
      writer.complete(null);
    }

    if (!StatsHelper.isTileEmpty(stats)) {
      Osm2xpLogger.info(
          "Tile "
              + (int) currentTile.x
              + "/"
              + (int) currentTile.y
              + " stats : "
              + stats.getBuildingsNumber()
              + " buildings, "
              + stats.getForestsNumber()
              + " forests, "
              + stats.getStreetlightsNumber()
              + " street lights, "
              + stats.getObjectsNumber()
              + " objects. (generation took "
              + MiscUtils.getTimeDiff(startTime, new Date())
              + ")");

      // stats
      try {
        if (XplaneOptionsHelper.getOptions().isGenerateXmlStats()
            || XplaneOptionsHelper.getOptions().isGeneratePdfStats()) {
          StatsHelper.getStatsList().add(stats);
        }
        if (XplaneOptionsHelper.getOptions().isGenerateXmlStats()) {
          StatsHelper.saveStats(folderPath, currentTile, stats);
        }
        if (XplaneOptionsHelper.getOptions().isGeneratePdfStats()) {
          StatsHelper.generatePdfReport(folderPath, stats);
        }
      } catch (Osm2xpBusinessException e) {
        Osm2xpLogger.error("Error saving stats file for tile " + currentTile, e);
      }
    } else if (!GuiOptionsHelper.getOptions().isSinglePass()) {
      Osm2xpLogger.info(
          "Tile "
              + (int) currentTile.x
              + "/"
              + (int) currentTile.y
              + " is empty, no dsf generated");
    }
  }