8
8
9
9
package org .opensearch .plugin .insights .core .exporter ;
10
10
11
+ import static org .opensearch .plugin .insights .settings .QueryInsightsSettings .DEFAULT_TEMPLATE_PRIORITY ;
12
+
11
13
import java .io .IOException ;
12
14
import java .time .format .DateTimeFormatter ;
13
15
import java .util .HashMap ;
@@ -74,20 +76,34 @@ public void validateExporterType(final String exporterType) throws IllegalArgume
74
76
* @param id id of the exporter so that exporters can be retrieved and reused across services
75
77
* @param indexPattern the index pattern if creating an index exporter
76
78
* @param indexMapping index mapping file
79
+ * @param templatePriority the priority value for the template
77
80
* @return LocalIndexExporter the created exporter sink
78
81
*/
79
- public LocalIndexExporter createLocalIndexExporter (String id , String indexPattern , String indexMapping ) {
82
+ public LocalIndexExporter createLocalIndexExporter (String id , String indexPattern , String indexMapping , long templatePriority ) {
80
83
LocalIndexExporter exporter = new LocalIndexExporter (
81
84
client ,
82
85
clusterService ,
83
86
DateTimeFormatter .ofPattern (indexPattern , Locale .ROOT ),
84
87
indexMapping ,
85
88
id
86
89
);
90
+ exporter .setTemplatePriority (templatePriority );
87
91
this .exporters .put (id , exporter );
88
92
return exporter ;
89
93
}
90
94
95
+ /**
96
+ * Create a local index exporter based on provided parameters, using default template priority
97
+ *
98
+ * @param id id of the exporter so that exporters can be retrieved and reused across services
99
+ * @param indexPattern the index pattern if creating an index exporter
100
+ * @param indexMapping index mapping file
101
+ * @return LocalIndexExporter the created exporter sink
102
+ */
103
+ public LocalIndexExporter createLocalIndexExporter (String id , String indexPattern , String indexMapping ) {
104
+ return createLocalIndexExporter (id , indexPattern , indexMapping , DEFAULT_TEMPLATE_PRIORITY );
105
+ }
106
+
91
107
/**
92
108
* Create a debug exporter based on provided parameters
93
109
*
@@ -105,11 +121,14 @@ public DebugExporter createDebugExporter(String id) {
105
121
*
106
122
* @param exporter The exporter to update
107
123
* @param indexPattern the index pattern if creating a index exporter
124
+ * @param templatePriority the priority value for the template (for LocalIndexExporter)
108
125
* @return QueryInsightsExporter the updated exporter sink
109
126
*/
110
- public QueryInsightsExporter updateExporter (QueryInsightsExporter exporter , String indexPattern ) {
127
+ public QueryInsightsExporter updateExporter (QueryInsightsExporter exporter , String indexPattern , long templatePriority ) {
111
128
if (exporter .getClass () == LocalIndexExporter .class ) {
112
- ((LocalIndexExporter ) exporter ).setIndexPattern (DateTimeFormatter .ofPattern (indexPattern , Locale .ROOT ));
129
+ LocalIndexExporter localExporter = (LocalIndexExporter ) exporter ;
130
+ localExporter .setIndexPattern (DateTimeFormatter .ofPattern (indexPattern , Locale .ROOT ));
131
+ localExporter .setTemplatePriority (templatePriority );
113
132
}
114
133
return exporter ;
115
134
}
0 commit comments