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);
     }
     

Reply via email to