From 985c23d208b81de42f9ff03262595c69b7be0d7b Mon Sep 17 00:00:00 2001 From: kimmking Date: Thu, 3 Sep 2020 19:09:22 +0800 Subject: [PATCH] minor refactoring for repository --- .../repository/api/GovernanceRepository.java | 10 ++++++++++ .../governance/repository/apollo/ApolloRepository.java | 4 ---- .../governance/repository/etcd/EtcdRepository.java | 5 +++-- .../governance/repository/nacos/NacosRepository.java | 4 ---- .../zookeeper/CuratorZookeeperRepository.java | 6 +++--- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/GovernanceRepository.java b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/GovernanceRepository.java index 18b834d523..d07f06d419 100644 --- a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/GovernanceRepository.java +++ b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/GovernanceRepository.java @@ -28,6 +28,16 @@ import java.util.List; */ public interface GovernanceRepository extends TypedSPI { + /** + * Path separator. + */ + String PATH_SEPARATOR = "/"; + + /** + * Dot separator. + */ + String DOT_SEPARATOR = "."; + /** * Initialize governance center. * diff --git a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/main/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepository.java b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/main/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepository.java index f804b023f7..b545c5dc90 100644 --- a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/main/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepository.java +++ b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/main/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepository.java @@ -44,10 +44,6 @@ import java.util.Properties; @Slf4j public final class ApolloRepository implements ConfigurationRepository { - private static final String DOT_SEPARATOR = "."; - - private static final String PATH_SEPARATOR = "/"; - private final Map caches = new HashMap<>(); private ApolloConfigWrapper configWrapper; diff --git a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdRepository.java b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdRepository.java index fe3d63fdbe..ad31260b4f 100644 --- a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdRepository.java +++ b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdRepository.java @@ -32,6 +32,7 @@ import lombok.Getter; import lombok.Setter; import lombok.SneakyThrows; import org.apache.shardingsphere.governance.repository.api.ConfigurationRepository; +import org.apache.shardingsphere.governance.repository.api.GovernanceRepository; import org.apache.shardingsphere.governance.repository.api.RegistryRepository; import org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration; import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent; @@ -72,7 +73,7 @@ public final class EtcdRepository implements ConfigurationRepository, RegistryRe @SneakyThrows({InterruptedException.class, ExecutionException.class}) @Override public List getChildrenKeys(final String key) { - String prefix = key + "/"; + String prefix = key + PATH_SEPARATOR; ByteSequence prefixByteSequence = ByteSequence.from(prefix, Charsets.UTF_8); GetOption getOption = GetOption.newBuilder().withPrefix(prefixByteSequence).withSortField(GetOption.SortTarget.KEY).withSortOrder(GetOption.SortOrder.ASCEND).build(); List keyValues = client.getKVClient().get(prefixByteSequence, getOption).get().getKvs(); @@ -81,7 +82,7 @@ public final class EtcdRepository implements ConfigurationRepository, RegistryRe private String getSubNodeKeyName(final String prefix, final String fullPath) { String pathWithoutPrefix = fullPath.substring(prefix.length()); - return pathWithoutPrefix.contains("/") ? pathWithoutPrefix.substring(0, pathWithoutPrefix.indexOf('/')) : pathWithoutPrefix; + return pathWithoutPrefix.contains(PATH_SEPARATOR) ? pathWithoutPrefix.substring(0, pathWithoutPrefix.indexOf(PATH_SEPARATOR)) : pathWithoutPrefix; } @SneakyThrows({InterruptedException.class, ExecutionException.class}) diff --git a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/main/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepository.java b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/main/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepository.java index f2886480e3..67e985c763 100644 --- a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/main/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepository.java +++ b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/main/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepository.java @@ -41,10 +41,6 @@ import java.util.concurrent.Executor; @Slf4j public final class NacosRepository implements ConfigurationRepository { - private static final String DOT_SEPARATOR = "."; - - private static final String PATH_SEPARATOR = "/"; - private ConfigService configService; private NacosProperties nacosProperties; diff --git a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepository.java b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepository.java index 24d4895372..5f92ca676c 100644 --- a/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepository.java +++ b/shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepository.java @@ -90,7 +90,7 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository builder.connectionTimeoutMs(operationTimeoutMilliseconds); } if (!Strings.isNullOrEmpty(digest)) { - builder.authorization("digest", digest.getBytes(Charsets.UTF_8)) + builder.authorization(ZookeeperPropertyKey.DIGEST.getKey(), digest.getBytes(Charsets.UTF_8)) .aclProvider(new ACLProvider() { @Override @@ -229,7 +229,7 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository @Override public void watch(final String key, final DataChangedEventListener listener) { - String path = key + "/"; + String path = key + PATH_SEPARATOR; if (!caches.containsKey(path)) { addCacheData(key); } @@ -253,7 +253,7 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository // CHECKSTYLE:ON CuratorZookeeperExceptionHandler.handleException(ex); } - caches.put(cachePath + "/", cache); + caches.put(cachePath + PATH_SEPARATOR, cache); } private ChangedType getChangedType(final CuratorCacheListener.Type type) { -- GitLab