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/06/02 08:08:36 UTC

[shardingsphere] branch master updated: Move rule node converters to feature module (#26008)

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

zhaojinchao 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 14f17ec2cd8 Move rule node converters to feature module (#26008)
14f17ec2cd8 is described below

commit 14f17ec2cd89ce5846c91de4b827c43573048c79
Author: ChenJiaHao <Pa...@163.com>
AuthorDate: Fri Jun 2 16:08:25 2023 +0800

    Move rule node converters to feature module (#26008)
    
    * Move rule node converters to feature module
    
    * Update related test cases
---
 features/encrypt/core/pom.xml                      |  5 ----
 .../metadata/converter}/EncryptNodeConverter.java  |  3 +--
 .../NewYamlEncryptRuleConfigurationSwapper.java    |  2 +-
 features/mask/core/pom.xml                         |  5 ----
 .../metadata/converter}/MaskNodeConverter.java     |  3 +--
 .../NewYamlMaskRuleConfigurationSwapper.java       |  2 +-
 ...writeSplittingRuleConfigurationSwapperTest.java |  6 ++---
 features/shadow/core/pom.xml                       |  5 ----
 .../metadata/converter}/ShadowNodeConverter.java   | 11 ++++-----
 .../NewYamlShadowRuleConfigurationSwapper.java     |  2 +-
 .../metadata/converter}/ShardingNodeConverter.java | 28 +++++++++++-----------
 .../NewYamlShardingRuleConfigurationSwapper.java   | 10 ++++----
 .../ReadwriteSplittingNodeConverter.java           | 10 ++++----
 13 files changed, 38 insertions(+), 54 deletions(-)

diff --git a/features/encrypt/core/pom.xml b/features/encrypt/core/pom.xml
index d6367d6e57d..8904d2683b0 100644
--- a/features/encrypt/core/pom.xml
+++ b/features/encrypt/core/pom.xml
@@ -68,11 +68,6 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-metadata-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         
         <dependency>
             <groupId>commons-codec</groupId>
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/encrypt/EncryptNodeConverter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/converter/EncryptNodeConverter.java
similarity index 93%
rename from kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/encrypt/EncryptNodeConverter.java
rename to features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/converter/EncryptNodeConverter.java
index 8c5df783d06..17b19eb4357 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/encrypt/EncryptNodeConverter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/converter/EncryptNodeConverter.java
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.metadata.persist.node.metadata.config.encrypt;
+package org.apache.shardingsphere.encrypt.metadata.converter;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
 /**
- * TODO move to features module
  * Encrypt node converter.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
index b2022d17357..92e6cccc4e4 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.util.yaml.datanode.YamlDataNode;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
 import org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.metadata.persist.node.metadata.config.encrypt.EncryptNodeConverter;
+import org.apache.shardingsphere.encrypt.metadata.converter.EncryptNodeConverter;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/features/mask/core/pom.xml b/features/mask/core/pom.xml
index c96cb8a2f63..f863a2f057f 100644
--- a/features/mask/core/pom.xml
+++ b/features/mask/core/pom.xml
@@ -38,11 +38,6 @@
             <artifactId>shardingsphere-infra-merge</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-metadata-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/converter/MaskNodeConverter.java
similarity index 93%
rename from kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java
rename to features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/converter/MaskNodeConverter.java
index a2f35adbde1..aee2eaac42f 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/converter/MaskNodeConverter.java
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.metadata.persist.node.metadata.config.mask;
+package org.apache.shardingsphere.mask.metadata.converter;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
 /**
- * TODO move to features module
  * Mask node converter.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
index 90b2638d5ff..7b813c94ddf 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
 import org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
 import org.apache.shardingsphere.mask.constant.MaskOrder;
 import org.apache.shardingsphere.mask.yaml.swapper.rule.YamlMaskTableRuleConfigurationSwapper;
-import org.apache.shardingsphere.metadata.persist.node.metadata.config.mask.MaskNodeConverter;
+import org.apache.shardingsphere.mask.metadata.converter.MaskNodeConverter;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
index c8156c806db..1e2ea03f32e 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
@@ -42,7 +42,7 @@ class NewYamlReadwriteSplittingRuleConfigurationSwapperTest {
                 "write_ds", Arrays.asList("read_ds_0", "read_ds_1"), null)), Collections.emptyMap());
         Collection<YamlDataNode> result = swapper.swapToDataNodes(config);
         assertThat(result.size(), is(1));
-        assertThat(result.iterator().next().getKey(), is("/group_0"));
+        assertThat(result.iterator().next().getKey(), is("data_sources/group_0"));
     }
     
     @Test
@@ -52,7 +52,7 @@ class NewYamlReadwriteSplittingRuleConfigurationSwapperTest {
         Collection<YamlDataNode> result = swapper.swapToDataNodes(config);
         assertThat(result.size(), is(2));
         Iterator<YamlDataNode> iterator = result.iterator();
-        assertThat(iterator.next().getKey(), is("/group_0"));
-        assertThat(iterator.next().getKey(), is("/load_balancers/random"));
+        assertThat(iterator.next().getKey(), is("data_sources/group_0"));
+        assertThat(iterator.next().getKey(), is("load_balancers/random"));
     }
 }
diff --git a/features/shadow/core/pom.xml b/features/shadow/core/pom.xml
index 5346cfd198b..350042f9fb9 100644
--- a/features/shadow/core/pom.xml
+++ b/features/shadow/core/pom.xml
@@ -49,11 +49,6 @@
             <artifactId>shardingsphere-infra-rewrite</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-metadata-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/shadow/ShadowNodeConverter.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/converter/ShadowNodeConverter.java
similarity index 93%
rename from kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/shadow/ShadowNodeConverter.java
rename to features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/converter/ShadowNodeConverter.java
index d585dffc9cc..e7f3f8e3f36 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/shadow/ShadowNodeConverter.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/converter/ShadowNodeConverter.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.metadata.persist.node.metadata.config.shadow;
+package org.apache.shardingsphere.shadow.metadata.converter;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
 /**
- * TODO move to feature
- * Sharding node converter.
+ * Shadow node converter.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ShadowNodeConverter {
@@ -37,7 +36,7 @@ public final class ShadowNodeConverter {
     
     /**
      * Get data source path.
-     *
+     * 
      * @param dataSourceName data source name
      * @return data source path
      */
@@ -57,7 +56,7 @@ public final class ShadowNodeConverter {
     
     /**
      * Get shadow algorithm path.
-     *
+     * 
      * @param shadowAlgorithmName shadow algorithm name
      * @return shadow algorithm path
      */
@@ -67,7 +66,7 @@ public final class ShadowNodeConverter {
     
     /**
      * Get default shadow algorithm path.
-     *
+     * 
      * @return default shadow algorithm path
      */
     public static String getDefaultShadowAlgorithmPath() {
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
index 4ff2a107e84..0e2bac362f6 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.util.yaml.datanode.YamlDataNode;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
 import org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.metadata.persist.node.metadata.config.shadow.ShadowNodeConverter;
+import org.apache.shardingsphere.shadow.metadata.converter.ShadowNodeConverter;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
 import org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration;
 import org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration;
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/sharding/ShardingNodeConverter.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/converter/ShardingNodeConverter.java
similarity index 90%
rename from kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/sharding/ShardingNodeConverter.java
rename to features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/converter/ShardingNodeConverter.java
index 3d2ffc255d7..cef7fc8a9ec 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/sharding/ShardingNodeConverter.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/converter/ShardingNodeConverter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.metadata.persist.node.metadata.config.sharding;
+package org.apache.shardingsphere.sharding.metadata.converter;
 
 /**
  * Sharding node converter.
@@ -141,38 +141,38 @@ public final class ShardingNodeConverter {
     }
     
     /**
-     * Get sharding algorithm name path.
-     *
+     * Get sharding algorithm path.
+     * 
      * @param shardingAlgorithmName sharding algorithm name
-     * @return sharding algorithm name path
+     * @return sharding algorithm path
      */
-    public String getShardingAlgorithmsPath(final String shardingAlgorithmName) {
+    public String getShardingAlgorithmPath(final String shardingAlgorithmName) {
         return String.join("/", SHARDING_ALGORITHMS, shardingAlgorithmName);
     }
     
     /**
-     * Get key generator name path.
-     *
+     * Get key generator path.
+     * 
      * @param keyGeneratorName key generator name
-     * @return key generator name path
+     * @return key generator path
      */
-    public String getKeyGeneratorsPath(final String keyGeneratorName) {
+    public String getKeyGeneratorPath(final String keyGeneratorName) {
         return String.join("/", KEY_GENERATORS, keyGeneratorName);
     }
     
     /**
-     * Get auditor name path.
-     *
+     * Get auditor path.
+     * 
      * @param auditorName auditor name
-     * @return auditor name path
+     * @return auditor path
      */
-    public String getAuditorsPath(final String auditorName) {
+    public String getAuditorPath(final String auditorName) {
         return String.join("/", AUDITORS, auditorName);
     }
     
     /**
      * Get sharding cache path.
-     *
+     * 
      * @return sharding cache path
      */
     public String getShardingCachePath() {
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
index ad6700fea29..a35318d03e9 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.util.yaml.datanode.YamlDataNode;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
 import org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.metadata.persist.node.metadata.config.sharding.ShardingNodeConverter;
+import org.apache.shardingsphere.sharding.metadata.converter.ShardingNodeConverter;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
@@ -40,7 +40,7 @@ import java.util.LinkedHashSet;
 import java.util.Map.Entry;
 
 /**
- * TODO Rename to NewYamlShardingRuleConfigurationSwapper when metadata structure adjustment completed. #25485
+ * TODO Rename to YamlShardingRuleConfigurationSwapper when metadata structure adjustment completed. #25485
  * New YAML sharding rule configuration swapper.
  */
 public final class NewYamlShardingRuleConfigurationSwapper implements NewYamlRuleConfigurationSwapper<ShardingRuleConfiguration> {
@@ -109,13 +109,13 @@ public final class NewYamlShardingRuleConfigurationSwapper implements NewYamlRul
     
     private void swapAlgorithms(final ShardingRuleConfiguration data, final Collection<YamlDataNode> result) {
         for (Entry<String, AlgorithmConfiguration> each : data.getShardingAlgorithms().entrySet()) {
-            result.add(new YamlDataNode(converter.getShardingAlgorithmsPath(each.getKey()), YamlEngine.marshal(each.getValue())));
+            result.add(new YamlDataNode(converter.getShardingAlgorithmPath(each.getKey()), YamlEngine.marshal(each.getValue())));
         }
         for (Entry<String, AlgorithmConfiguration> each : data.getKeyGenerators().entrySet()) {
-            result.add(new YamlDataNode(converter.getKeyGeneratorsPath(each.getKey()), YamlEngine.marshal(each.getValue())));
+            result.add(new YamlDataNode(converter.getKeyGeneratorPath(each.getKey()), YamlEngine.marshal(each.getValue())));
         }
         for (Entry<String, AlgorithmConfiguration> each : data.getAuditors().entrySet()) {
-            result.add(new YamlDataNode(converter.getAuditorsPath(each.getKey()), YamlEngine.marshal(each.getValue())));
+            result.add(new YamlDataNode(converter.getAuditorPath(each.getKey()), YamlEngine.marshal(each.getValue())));
         }
     }
     
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/readwritesplitting/ReadwriteSplittingNodeConverter.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/readwritesplitting/ReadwriteSplittingNodeConverter.java
index cc08d858b4e..68fe724d280 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/readwritesplitting/ReadwriteSplittingNodeConverter.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/readwritesplitting/ReadwriteSplittingNodeConverter.java
@@ -22,25 +22,27 @@ package org.apache.shardingsphere.metadata.persist.node.metadata.config.readwrit
  */
 public final class ReadwriteSplittingNodeConverter {
     
+    private static final String DATA_SOURCES = "data_sources";
+    
     private static final String LOAD_BALANCER_NODE = "load_balancers";
     
     /**
      * Get group name path.
-     *
+     * 
      * @param groupName group name
      * @return group name path
      */
     public String getGroupNamePath(final String groupName) {
-        return String.join("/", "", groupName);
+        return String.join("/", DATA_SOURCES, groupName);
     }
     
     /**
      * Get load balancer name.
-     *
+     * 
      * @param loadBalancerName load balancer name
      * @return load balancer path
      */
     public String getLoadBalancerPath(final String loadBalancerName) {
-        return String.join("/", "", LOAD_BALANCER_NODE, loadBalancerName);
+        return String.join("/", LOAD_BALANCER_NODE, loadBalancerName);
     }
 }