3434
3535import org .opensearch .action .support .ActionFilters ;
3636import org .opensearch .action .support .HandledTransportAction ;
37+ import org .opensearch .action .support .TransportIndicesResolvingAction ;
3738import org .opensearch .cluster .ClusterState ;
3839import org .opensearch .cluster .metadata .IndexNameExpressionResolver ;
40+ import org .opensearch .cluster .metadata .ResolvedIndices ;
3941import org .opensearch .cluster .service .ClusterService ;
4042import org .opensearch .common .inject .Inject ;
4143import org .opensearch .core .action .ActionListener ;
5557 *
5658 * @opensearch.internal
5759 */
58- public class TransportGetFieldMappingsAction extends HandledTransportAction <GetFieldMappingsRequest , GetFieldMappingsResponse > {
60+ public class TransportGetFieldMappingsAction extends HandledTransportAction <GetFieldMappingsRequest , GetFieldMappingsResponse > implements
61+ TransportIndicesResolvingAction <GetFieldMappingsRequest > {
5962
6063 private final ClusterService clusterService ;
6164 private final TransportGetFieldMappingsIndexAction shardAction ;
@@ -78,7 +81,7 @@ public TransportGetFieldMappingsAction(
7881 @ Override
7982 protected void doExecute (Task task , GetFieldMappingsRequest request , final ActionListener <GetFieldMappingsResponse > listener ) {
8083 ClusterState clusterState = clusterService .state ();
81- String [] concreteIndices = indexNameExpressionResolver . concreteIndexNames ( clusterState , request );
84+ String [] concreteIndices = resolveIndices ( request , clusterState );
8285 final AtomicInteger indexCounter = new AtomicInteger ();
8386 final AtomicInteger completionCounter = new AtomicInteger (concreteIndices .length );
8487 final AtomicReferenceArray <Object > indexResponses = new AtomicReferenceArray <>(concreteIndices .length );
@@ -110,6 +113,15 @@ public void onFailure(Exception e) {
110113 }
111114 }
112115
116+ private String [] resolveIndices (GetFieldMappingsRequest request , ClusterState clusterState ) {
117+ return indexNameExpressionResolver .concreteIndexNames (clusterState , request );
118+ }
119+
120+ @ Override
121+ public ResolvedIndices resolveIndices (GetFieldMappingsRequest request ) {
122+ return ResolvedIndices .of (resolveIndices (request , clusterService .state ()));
123+ }
124+
113125 private GetFieldMappingsResponse merge (AtomicReferenceArray <Object > indexResponses ) {
114126 Map <String , Map <String , GetFieldMappingsResponse .FieldMappingMetadata >> mergedResponses = new HashMap <>();
115127 for (int i = 0 ; i < indexResponses .length (); i ++) {
0 commit comments