Skip to content

Commit 42762d1

Browse files
committed
remove registry from SPI
Signed-off-by: Karen Xu <[email protected]>
1 parent 3c79981 commit 42762d1

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

modules/transport-grpc/spi/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public interface QueryBuilderProtoConverter {
2222
}
2323
```
2424

25-
### QueryBuilderProtoConverterSpiRegistry
25+
### QueryBuilderProtoConverterRegistry
2626

27-
Registry that manages and discovers all available query converters. External plugins can register their custom converters through this registry.
27+
Interface for accessing the query converter registry. This provides a clean abstraction for plugins that need to convert nested queries without exposing internal implementation details.
2828

2929
## Usage for Plugin Developers
3030

modules/transport-grpc/spi/src/main/java/org/opensearch/transport/grpc/spi/package-info.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,22 @@
99
/**
1010
* Service Provider Interface (SPI) for extending gRPC transport query conversion capabilities.
1111
* <p>
12-
* This package provides the core interfaces and registry for implementing custom query converters
12+
* This package provides a minimal, stable API for implementing custom query converters
1313
* that can transform protobuf query messages into OpenSearch QueryBuilder objects. External plugins
1414
* can implement the {@link org.opensearch.transport.grpc.spi.QueryBuilderProtoConverter} interface
1515
* to add support for custom query types in gRPC requests.
1616
* </p>
1717
* <p>
18-
* The SPI mechanism leverages OpenSearch's {@code ExtensiblePlugin} framework, which internally
19-
* uses Java's {@code ServiceLoader} for discovery. Plugins must:
18+
* The SPI contains only two interfaces:
19+
* </p>
20+
* <ul>
21+
* <li>{@link org.opensearch.transport.grpc.spi.QueryBuilderProtoConverter} -
22+
* Interface for implementing custom query converters</li>
23+
* <li>{@link org.opensearch.transport.grpc.spi.QueryBuilderProtoConverterRegistry} -
24+
* Interface for accessing the registry to convert nested queries</li>
25+
* </ul>
26+
* <p>
27+
* The SPI mechanism leverages OpenSearch's {@code ExtensiblePlugin} framework. Plugins must:
2028
* </p>
2129
* <ul>
2230
* <li>Implement {@link org.opensearch.transport.grpc.spi.QueryBuilderProtoConverter}</li>

modules/transport-grpc/src/main/java/org/opensearch/transport/grpc/proto/request/search/query/QueryBuilderProtoConverterRegistryImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.opensearch.protobufs.QueryContainer;
1616
import org.opensearch.transport.grpc.spi.QueryBuilderProtoConverter;
1717
import org.opensearch.transport.grpc.spi.QueryBuilderProtoConverterRegistry;
18-
import org.opensearch.transport.grpc.spi.QueryBuilderProtoConverterSpiRegistry;
1918

2019
/**
2120
* Registry for QueryBuilderProtoConverter implementations.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
* this file be licensed under the Apache-2.0 license or a
66
* compatible open source license.
77
*/
8-
package org.opensearch.transport.grpc.spi;
8+
package org.opensearch.transport.grpc.proto.request.search.query;
99

1010
import org.apache.logging.log4j.LogManager;
1111
import org.apache.logging.log4j.Logger;
1212
import org.opensearch.common.inject.Inject;
1313
import org.opensearch.common.inject.Singleton;
1414
import org.opensearch.index.query.QueryBuilder;
1515
import org.opensearch.protobufs.QueryContainer;
16+
import org.opensearch.transport.grpc.spi.QueryBuilderProtoConverter;
1617

1718
import java.util.HashMap;
1819
import java.util.Map;
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55
* this file be licensed under the Apache-2.0 license or a
66
* compatible open source license.
77
*/
8-
package org.opensearch.transport.grpc.spi;
8+
package org.opensearch.transport.grpc.proto.request.search.query;
99

1010
import org.opensearch.index.query.QueryBuilder;
1111
import org.opensearch.index.query.TermQueryBuilder;
1212
import org.opensearch.protobufs.QueryContainer;
1313
import org.opensearch.test.OpenSearchTestCase;
14+
import org.opensearch.transport.grpc.spi.QueryBuilderProtoConverter;
1415

1516
import static org.hamcrest.Matchers.containsString;
1617
import static org.hamcrest.Matchers.equalTo;

0 commit comments

Comments
 (0)