Esempio n. 1
0
 void actionPdf() throws IOException {
   final Range range = MainPanel.getParentMainPanelFromChild(this).getSelectedRange();
   final File tempFile = createTempFileForPdf();
   final Collector collector = getCollector();
   final List<JavaInformations> javaInformationsList = getJavaInformationsList();
   final RemoteCollector remoteCollector = getRemoteCollector();
   final Map<String, byte[]> smallGraphs =
       remoteCollector.collectJRobins(
           PdfCoreReport.SMALL_GRAPH_WIDTH, PdfCoreReport.SMALL_GRAPH_HEIGHT);
   final Map<String, byte[]> smallOtherGraphs =
       remoteCollector.collectOtherJRobins(
           PdfCoreReport.SMALL_GRAPH_WIDTH, PdfCoreReport.SMALL_GRAPH_HEIGHT);
   final Map<String, byte[]> largeGraphs =
       remoteCollector.collectJRobins(
           PdfCoreReport.LARGE_GRAPH_WIDTH, PdfCoreReport.LARGE_GRAPH_HEIGHT);
   try (final OutputStream output = createFileOutputStream(tempFile)) {
     final PdfReport pdfReport =
         new PdfReport(collector, collectorServer, javaInformationsList, range, output);
     try {
       // PdfReport utilise collector.getRangeCountersToBeDisplayed(range),
       // mais les counters contiennent les bonnes données pour la période TOUT
       // et non pas celle de la variable "range"
       pdfReport.setCounterRange(Period.TOUT.getRange());
       pdfReport.preInitGraphs(smallGraphs, smallOtherGraphs, largeGraphs);
       if (!collectorServer) {
         final List<CounterRequestContext> currentRequests = new ArrayList<>();
         for (final List<CounterRequestContext> requests :
             getRemoteCollector().getCurrentRequests().values()) {
           currentRequests.addAll(requests);
         }
         Collections.sort(
             currentRequests,
             Collections.reverseOrder(
                 new CounterRequestContextComparator(System.currentTimeMillis())));
         pdfReport.setCurrentRequests(currentRequests);
       }
       pdfReport.toPdf();
     } finally {
       pdfReport.close();
     }
   }
   Desktop.getDesktop().open(tempFile);
 }
Esempio n. 2
0
  MainButtonsPanel(
      RemoteCollector remoteCollector,
      Range selectedRange,
      final URL monitoringUrl,
      boolean collectorServer) {
    super(remoteCollector, new BorderLayout());
    this.collectorServer = collectorServer;
    setOpaque(true);
    setBackground(BACKGROUND);

    final JPanel centerPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
    centerPanel.setOpaque(false);
    add(centerPanel, BorderLayout.CENTER);
    final CustomPeriodPanel customPeriodPanel =
        new CustomPeriodPanel(remoteCollector, selectedRange);
    add(customPeriodPanel, BorderLayout.SOUTH);
    final MButton refreshButton = createRefreshButton();
    final MButton pdfButton = createPdfButton();
    // on ne peut pas instancier defaultSerializable ici car sinon,
    // les données ne seraient plus à jour après une actualisation, donc on passe la valeur spéciale
    // null
    final MButton xmlJsonButton = createXmlJsonButton(null);
    final MButton onlineHelpButton = createOnlineHelpButton();

    final MButton monitoringButton = new MButton(getString("Monitoring"), MONITORING_ICON);
    monitoringButton.setToolTipText(
        getFormattedString("Monitoring_sur", remoteCollector.getApplication()));
    centerPanel.add(refreshButton);
    centerPanel.add(pdfButton);
    centerPanel.add(xmlJsonButton);
    centerPanel.add(onlineHelpButton);
    centerPanel.add(monitoringButton);

    addPeriodButtons(centerPanel, customPeriodPanel);

    refreshButton.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            actionRefresh();
          }
        });

    pdfButton.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            try {
              actionPdf();
            } catch (final Exception ex) {
              showException(ex);
            }
          }
        });

    monitoringButton.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            try {
              Desktop.getDesktop().browse(new URI(monitoringUrl.toExternalForm()));
            } catch (final Exception ex) {
              showException(ex);
            }
          }
        });

    onlineHelpButton.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            try {
              Desktop.getDesktop()
                  .browse(
                      new URI(
                          monitoringUrl.toExternalForm() + "?resource=" + getString("help_url")));
            } catch (final Exception ex) {
              showException(ex);
            }
          }
        });
  }