This is an automated email from the ASF dual-hosted git repository.
yx9o pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 411d65185bf Enhance TypedSPILoader (#24253)
411d65185bf is described below
commit 411d65185bfec801de05c78698ea1e08461fa4ab
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Feb 20 13:28:13 2023 +0800
Enhance TypedSPILoader (#24253)
---
.../shardingsphere/infra/util/spi/type/typed/TypedSPILoader.java | 3 +++
.../handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java | 2 +-
.../admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/infra/util/src/main/java/org/apache/shardingsphere/infra/util/spi/type/typed/TypedSPILoader.java
b/infra/util/src/main/java/org/apache/shardingsphere/infra/util/spi/type/typed/TypedSPILoader.java
index f63b5950ddf..e6c10619ee2 100644
---
a/infra/util/src/main/java/org/apache/shardingsphere/infra/util/spi/type/typed/TypedSPILoader.java
+++
b/infra/util/src/main/java/org/apache/shardingsphere/infra/util/spi/type/typed/TypedSPILoader.java
@@ -65,6 +65,9 @@ public final class TypedSPILoader {
* @return service
*/
public static <T extends TypedSPI> Optional<T> findService(final Class<T>
spiClass, final String type, final Properties props) {
+ if (null == type) {
+ return findService(spiClass);
+ }
for (T each :
ShardingSphereServiceLoader.getServiceInstances(spiClass)) {
if (matchesType(type, each)) {
each.init(null == props ? new Properties() :
convertToStringTypedProperties(props));
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
index ad884b5eec6..8aa7ea34644 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
@@ -38,7 +38,7 @@ public final class DefaultMySQLSessionVariableHandlerTest {
@Test
public void assertHandleDiscard() {
ConnectionSession connectionSession = mock(ConnectionSession.class);
- new DefaultMySQLSessionVariableHandler().handle(connectionSession, "",
"");
+ TypedSPILoader.getService(MySQLSessionVariableHandler.class,
null).handle(connectionSession, "", "");
verifyNoInteractions(connectionSession);
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
index 2b0bc705050..b958e4a7d9f 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
@@ -38,7 +38,7 @@ public final class
DefaultPostgreSQLSessionVariableHandlerTest {
@Test
public void assertHandleDiscard() {
ConnectionSession connectionSession = mock(ConnectionSession.class);
- new
DefaultPostgreSQLSessionVariableHandler().handle(connectionSession, "", "");
+ TypedSPILoader.getService(PostgreSQLSessionVariableHandler.class,
null).handle(connectionSession, "", "");
verifyNoInteractions(connectionSession);
}