1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.waarp.openr66.protocol.monitoring;
22
23 import org.joda.time.format.DateTimeFormat;
24 import org.joda.time.format.DateTimeFormatter;
25 import org.waarp.common.logging.SysErrLogger;
26 import org.waarp.common.utility.WaarpSystemUtil;
27
28
29
30
31 public class ElasticsearchMonitoringExporterClientBuilder {
32 private static ElasticsearchMonitoringExporterClientFactory factory = null;
33
34 public static final String ELASTIC_WAARPHOST = "%%WAARPHOST%%";
35 public static final String ELASTIC_DATETIME = "%%DATETIME%%";
36 public static final DateTimeFormatter FORMAT_DATETIME =
37 DateTimeFormat.forPattern("yyyy.MM.dd.HH.mm");
38 public static final String ELASTIC_DATEHOUR = "%%DATEHOUR%%";
39 public static final DateTimeFormatter FORMAT_DATEHOUR =
40 DateTimeFormat.forPattern("yyyy.MM.dd.HH");
41 public static final String ELASTIC_DATE = "%%DATE%%";
42 public static final DateTimeFormatter FORMAT_DATE =
43 DateTimeFormat.forPattern("yyyy.MM.dd");
44 public static final String ELASTIC_YEAR_MONTH = "%%YEARMONTH%%";
45 public static final DateTimeFormatter FORMAT_YEAR_MONTH =
46 DateTimeFormat.forPattern("yyyy.MM");
47 public static final String ELASTIC_YEAR = "%%YEAR%%";
48 public static final DateTimeFormatter FORMAT_YEAR =
49 DateTimeFormat.forPattern("yyyy");
50
51 public static final String ELASTICSEARCH_CLIENT_FACTORY_IMPL =
52 "org.waarp.openr66.elasticsearch.ElasticsearchMonitoringExporterClientFactoryImpl";
53
54 static {
55
56 try {
57 final Class elasticsearchFactoryClass =
58 Class.forName(ELASTICSEARCH_CLIENT_FACTORY_IMPL);
59 factory =
60 (ElasticsearchMonitoringExporterClientFactory) WaarpSystemUtil.newInstance(
61 elasticsearchFactoryClass);
62 } catch (final Exception ignore) {
63
64 SysErrLogger.FAKE_LOGGER.ignoreLog(ignore);
65 }
66 }
67
68
69
70
71
72
73 public static void setFactory(
74 final ElasticsearchMonitoringExporterClientFactory factoryToSet) {
75 factory = factoryToSet;
76 }
77
78
79
80
81
82
83 public static ElasticsearchMonitoringExporterClientFactory getFactory() {
84 if (factory == null) {
85 throw new IllegalArgumentException(
86 "No Factory setup for Elasticsearch client");
87 } else {
88 return factory;
89 }
90 }
91 }