This is an automated email from the ASF dual-hosted git repository.

jianglongtao 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 1ac5eaecf2b Refactor TypedSPILoader (#29428)
1ac5eaecf2b is described below

commit 1ac5eaecf2b044fe9a1e1d9d91dd48941d301c6e
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Dec 18 14:55:19 2023 +0800

    Refactor TypedSPILoader (#29428)
    
    * Refactor TypedSPILoader
    
    * Refactor TypedSPILoader
---
 .../infra/database/core/spi/DatabaseTypedSPILoader.java              | 2 +-
 .../infra/expr/groovy/GroovyInlineExpressionParser.java              | 5 -----
 .../apache/shardingsphere/infra/spi/type/typed/TypedSPILoader.java   | 2 +-
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoader.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoader.java
index 2be6b7f781e..1dd2be52291 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoader.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoader.java
@@ -80,7 +80,7 @@ public final class DatabaseTypedSPILoader {
      * @return found service
      */
     public static <T extends DatabaseTypedSPI> T getService(final Class<T> 
spiClass, final DatabaseType databaseType) {
-        return findService(spiClass, databaseType).orElseThrow(() -> new 
ServiceProviderNotFoundException(spiClass, databaseType.getType()));
+        return findService(spiClass, databaseType).orElseGet(() -> 
TypedSPILoader.getService(spiClass, null));
     }
     
     /**
diff --git 
a/infra/expr/type/groovy/src/main/java/org/apache/shardingsphere/infra/expr/groovy/GroovyInlineExpressionParser.java
 
b/infra/expr/type/groovy/src/main/java/org/apache/shardingsphere/infra/expr/groovy/GroovyInlineExpressionParser.java
index e3ef59d9d49..86c36d4beec 100644
--- 
a/infra/expr/type/groovy/src/main/java/org/apache/shardingsphere/infra/expr/groovy/GroovyInlineExpressionParser.java
+++ 
b/infra/expr/type/groovy/src/main/java/org/apache/shardingsphere/infra/expr/groovy/GroovyInlineExpressionParser.java
@@ -168,9 +168,4 @@ public final class GroovyInlineExpressionParser implements 
InlineExpressionParse
     public String getType() {
         return "GROOVY";
     }
-    
-    @Override
-    public boolean isDefault() {
-        return true;
-    }
 }
diff --git 
a/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPILoader.java
 
b/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPILoader.java
index 718e09fd4b8..c3c664c47db 100644
--- 
a/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPILoader.java
+++ 
b/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/type/typed/TypedSPILoader.java
@@ -107,7 +107,7 @@ public final class TypedSPILoader {
      * @return service
      */
     public static <T extends TypedSPI> T getService(final Class<T> 
serviceInterface, final Object type, final Properties props) {
-        return findService(serviceInterface, type, props).orElseThrow(() -> 
new ServiceProviderNotFoundException(serviceInterface, type));
+        return findService(serviceInterface, type, props).orElseGet(() -> 
findService(serviceInterface, null, props).orElseThrow(() -> new 
ServiceProviderNotFoundException(serviceInterface, type)));
     }
     
     /**

Reply via email to