|
15 | 15 | import org.elasticsearch.license.XPackLicenseState;
|
16 | 16 | import org.elasticsearch.xpack.monitoring.exporter.http.HttpExporter;
|
17 | 17 |
|
18 |
| -import java.time.ZoneOffset; |
19 | 18 | import java.util.Arrays;
|
20 | 19 | import java.util.Collections;
|
21 | 20 | import java.util.Iterator;
|
@@ -103,9 +102,14 @@ public Iterator<Setting<?>> settings() {
|
103 | 102 | /**
|
104 | 103 | * Every {@code Exporter} allows users to use a different index time format.
|
105 | 104 | */
|
106 |
| - private static final Setting.AffixSetting<String> INDEX_NAME_TIME_FORMAT_SETTING = |
107 |
| - Setting.affixKeySetting("xpack.monitoring.exporters.","index.name.time_format", |
108 |
| - key -> Setting.simpleString(key, Property.Dynamic, Property.NodeScope)); |
| 105 | + static final Setting.AffixSetting<DateFormatter> INDEX_NAME_TIME_FORMAT_SETTING = |
| 106 | + Setting.affixKeySetting("xpack.monitoring.exporters.","index.name.time_format", |
| 107 | + key -> new Setting<DateFormatter>( |
| 108 | + key, |
| 109 | + Exporter.INDEX_FORMAT, |
| 110 | + DateFormatter::forPattern, |
| 111 | + Property.Dynamic, |
| 112 | + Property.NodeScope)); |
109 | 113 |
|
110 | 114 | private static final String INDEX_FORMAT = "yyyy.MM.dd";
|
111 | 115 |
|
@@ -151,14 +155,8 @@ public void close() {
|
151 | 155 | protected abstract void doClose();
|
152 | 156 |
|
153 | 157 | protected static DateFormatter dateTimeFormatter(final Config config) {
|
154 |
| - Setting<String> setting = INDEX_NAME_TIME_FORMAT_SETTING.getConcreteSettingForNamespace(config.name); |
155 |
| - String format = setting.exists(config.settings()) ? setting.get(config.settings()) : INDEX_FORMAT; |
156 |
| - try { |
157 |
| - return DateFormatter.forPattern(format).withZone(ZoneOffset.UTC); |
158 |
| - } catch (IllegalArgumentException e) { |
159 |
| - throw new SettingsException("[" + INDEX_NAME_TIME_FORMAT_SETTING.getKey() + "] invalid index name time format: [" |
160 |
| - + format + "]", e); |
161 |
| - } |
| 158 | + Setting<DateFormatter> setting = INDEX_NAME_TIME_FORMAT_SETTING.getConcreteSettingForNamespace(config.name); |
| 159 | + return setting.get(config.settings()); |
162 | 160 | }
|
163 | 161 |
|
164 | 162 | public static List<Setting.AffixSetting<?>> getSettings() {
|
|
0 commit comments