Blame view

OD/src/main/java/edu/auth/od_pcap_mcod/report/ReportManager.java 1.78 KB
0d8c0f816   Thanasis Naskos   initial commit
1
2
3
4
  package edu.auth.od_pcap_mcod.report;
  
  import edu.auth.od_pcap_mcod.model.Data;
  import edu.auth.od_pcap_mcod.webapp.DetectionAPIParameters;
f7581a436   Thanasis Naskos   Implementing an r...
5
6
  import java.util.ArrayList;
  import java.util.List;
0d8c0f816   Thanasis Naskos   initial commit
7
8
9
10
11
12
13
14
15
  import java.util.logging.Level;
  import java.util.logging.Logger;
  
  /**
   *
   * @author thanasis
   */
  public class ReportManager {
      
f7581a436   Thanasis Naskos   Implementing an r...
16
      private List<IReporter> reporters;
0d8c0f816   Thanasis Naskos   initial commit
17
18
19
      private Logger logger;
  
      public ReportManager(DetectionAPIParameters params) {
16f21ad3e   Thanasis Naskos   Fixing sonarqube ...
20
21
          logger = Logger.getLogger(ReportManager.class.getName());
          logger.setLevel(Level.INFO);
f7581a436   Thanasis Naskos   Implementing an r...
22
          reporters = new ArrayList<>();
470b51243   Thanasis Naskos   further bug fixes...
23
          if(!params.getRsyslogServer().equals("")){
850b58c41   Thanasis Naskos   Update OD to dete...
24
25
26
27
28
29
30
31
              reporters.add(new RsyslogHandler(params.getRsyslogServer(), params.getRsyslogPort()));
          } else if(System.getenv("RSYSLOG_SERVER") != null){
              int rsyslogPort = 514;
              String port = System.getenv("RSYSLOG_PORT");
              if (port != null){
                  rsyslogPort = Integer.parseInt(port);
              }
              reporters.add(new RsyslogHandler(System.getenv("RSYSLOG_SERVER"), rsyslogPort));
f7581a436   Thanasis Naskos   Implementing an r...
32
33
          }
          reporters.add(new TimescaleDbHandler(params.getTimeDbHost(),
0d8c0f816   Thanasis Naskos   initial commit
34
35
36
37
38
                  Integer.parseInt(params.getTimeDbPort()),
                  params.getTimeDbUsername(),
                  params.getTimeDbPassword(),
                  Boolean.parseBoolean(params.getTimeDbSsl()),
                  params.getResutlsDB(),
f7581a436   Thanasis Naskos   Implementing an r...
39
                  params.getResultsTable()));
0d8c0f816   Thanasis Naskos   initial commit
40
41
42
43
      }
      
      
      public void reportOutlier(Data outlier, String label){
470b51243   Thanasis Naskos   further bug fixes...
44
          logger.fine("Reporting Outlier");
f7581a436   Thanasis Naskos   Implementing an r...
45
46
47
48
49
50
          for (IReporter reporter : reporters){
              try {
                  reporter.reportOutlier(outlier, label);
              } catch(Exception ex) {
                  logger.severe("Couldn't report to Timescale");
              }
0d8c0f816   Thanasis Naskos   initial commit
51
52
53
54
          }
      }
      
  }