You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/07/10 04:41:47 UTC
[shardingsphere] branch master updated: Refactor TypedSPILoader (#26867)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 d1ae41ddb78 Refactor TypedSPILoader (#26867)
d1ae41ddb78 is described below
commit d1ae41ddb78ac5c848033663b5878ee07971cf28
Author: ChenJiaHao <Pa...@163.com>
AuthorDate: Mon Jul 10 12:41:40 2023 +0800
Refactor TypedSPILoader (#26867)
* Refactor TypedSPILoader
---
.../infra/util/spi/type/typed/TypedSPILoader.java | 12 +++++-------
kernel/data-pipeline/dialect/h2/pom.xml | 5 ++---
2 files changed, 7 insertions(+), 10 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 550f287e61c..e338cb7ee6e 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
@@ -22,7 +22,6 @@ import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.util.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.util.spi.exception.ServiceProviderNotFoundServerException;
-import java.util.Collection;
import java.util.Optional;
import java.util.Properties;
@@ -67,7 +66,7 @@ public final class TypedSPILoader {
*/
public static <T extends TypedSPI> Optional<T> findService(final Class<T> spiClass, final String type, final Properties props) {
if (null == type) {
- return findService(spiClass);
+ return findDefaultService(spiClass);
}
for (T each : ShardingSphereServiceLoader.getServiceInstances(spiClass)) {
if (matchesType(type, each)) {
@@ -75,10 +74,10 @@ public final class TypedSPILoader {
return Optional.of(each);
}
}
- return findService(spiClass);
+ return findDefaultService(spiClass);
}
- private static <T extends TypedSPI> Optional<T> findService(final Class<T> spiClass) {
+ private static <T extends TypedSPI> Optional<T> findDefaultService(final Class<T> spiClass) {
for (T each : ShardingSphereServiceLoader.getServiceInstances(spiClass)) {
if (!each.isDefault()) {
continue;
@@ -120,7 +119,7 @@ public final class TypedSPILoader {
* @return service
*/
public static <T extends TypedSPI> T getService(final Class<T> spiClass, final String type, final Properties props) {
- return findService(spiClass, type, props).orElseGet(() -> findService(spiClass).orElseThrow(() -> new ServiceProviderNotFoundServerException(spiClass, type)));
+ return findService(spiClass, type, props).orElseGet(() -> findDefaultService(spiClass).orElseThrow(() -> new ServiceProviderNotFoundServerException(spiClass, type)));
}
/**
@@ -134,8 +133,7 @@ public final class TypedSPILoader {
* @throws ServiceProviderNotFoundServerException service provider not found server exception
*/
public static <T extends TypedSPI> boolean checkService(final Class<T> spiClass, final String type, final Properties props) {
- Collection<T> serviceInstances = ShardingSphereServiceLoader.getServiceInstances(spiClass);
- for (T each : serviceInstances) {
+ for (T each : ShardingSphereServiceLoader.getServiceInstances(spiClass)) {
if (matchesType(type, each)) {
each.init(null == props ? new Properties() : convertToStringTypedProperties(props));
return true;
diff --git a/kernel/data-pipeline/dialect/h2/pom.xml b/kernel/data-pipeline/dialect/h2/pom.xml
index cec7829bd17..5a6f9ee4cca 100644
--- a/kernel/data-pipeline/dialect/h2/pom.xml
+++ b/kernel/data-pipeline/dialect/h2/pom.xml
@@ -16,13 +16,12 @@
~ limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-data-pipeline-dialect</artifactId>
- <version>5.3.3-SNAPSHOT</version>
+ <version>5.4.1-SNAPSHOT</version>
</parent>
<artifactId>shardingsphere-data-pipeline-h2</artifactId>
<name>${project.artifactId}</name>