Refactor master slave (#24)

* Refactor master slave

* Refactor master slave
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/SlaveDataSourceDTO.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/ReplicaDataSourceDTO.java
similarity index 87%
rename from shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/SlaveDataSourceDTO.java
rename to shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/ReplicaDataSourceDTO.java
index 9e61fd3..ebe4dfa 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/SlaveDataSourceDTO.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/common/dto/ReplicaDataSourceDTO.java
@@ -23,19 +23,19 @@
 import lombok.Setter;
 
 /**
- * Slave data source DTO.
+ * Replica data source DTO.
  */
 @Setter
 @Getter
 @NoArgsConstructor
 @AllArgsConstructor
-public final class SlaveDataSourceDTO {
+public final class ReplicaDataSourceDTO {
     
     private String schema;
     
-    private String masterDataSourceName;
+    private String primaryDataSourceName;
     
-    private String slaveDataSourceName;
+    private String replicaDataSourceName;
     
     private boolean enabled;
     
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/GovernanceService.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/GovernanceService.java
index f0ff9c0..2152781 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/GovernanceService.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/GovernanceService.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.ui.servcie;
 
 import org.apache.shardingsphere.ui.common.dto.InstanceDTO;
-import org.apache.shardingsphere.ui.common.dto.SlaveDataSourceDTO;
+import org.apache.shardingsphere.ui.common.dto.ReplicaDataSourceDTO;
 
 import java.util.Collection;
 
@@ -43,18 +43,18 @@
     void updateInstanceStatus(String instanceId, boolean enabled);
     
     /**
-     * Get all slave data source.
+     * Get all replica data source.
      *
-     * @return all slaver data source dto
+     * @return all replica data source dto
      */
-    Collection<SlaveDataSourceDTO> getAllSlaveDataSource();
+    Collection<ReplicaDataSourceDTO> getAllReplicaDataSource();
     
     /**
-     * update slave data source status.
+     * update replica data source status.
      *
      * @param schemaNames schema name
-     * @param slaveDataSourceName slave data source name
+     * @param replicaDataSourceName replica data source name
      * @param enabled enabled
      */
-    void updateSlaveDataSourceStatus(String schemaNames, String slaveDataSourceName, boolean enabled);
+    void updateReplicaDataSourceStatus(String schemaNames, String replicaDataSourceName, boolean enabled);
 }
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/GovernanceServiceImpl.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/GovernanceServiceImpl.java
index 409187f..aa98978 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/GovernanceServiceImpl.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/servcie/impl/GovernanceServiceImpl.java
@@ -20,10 +20,10 @@
 import com.google.common.base.Joiner;
 import org.apache.shardingsphere.governance.core.registry.RegistryCenterNodeStatus;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import org.apache.shardingsphere.masterslave.api.config.MasterSlaveRuleConfiguration;
-import org.apache.shardingsphere.masterslave.api.config.rule.MasterSlaveDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
 import org.apache.shardingsphere.ui.common.dto.InstanceDTO;
-import org.apache.shardingsphere.ui.common.dto.SlaveDataSourceDTO;
+import org.apache.shardingsphere.ui.common.dto.ReplicaDataSourceDTO;
 import org.apache.shardingsphere.ui.servcie.GovernanceService;
 import org.apache.shardingsphere.ui.servcie.RegistryCenterService;
 import org.apache.shardingsphere.ui.servcie.ShardingSchemaService;
@@ -67,13 +67,13 @@
     }
     
     @Override
-    public Collection<SlaveDataSourceDTO> getAllSlaveDataSource() {
-        Collection<SlaveDataSourceDTO> result = new ArrayList<>();
+    public Collection<ReplicaDataSourceDTO> getAllReplicaDataSource() {
+        Collection<ReplicaDataSourceDTO> result = new ArrayList<>();
         for (String schemaName : shardingSchemaService.getAllSchemaNames()) {
             String configData = shardingSchemaService.getRuleConfiguration(schemaName);
             if (configData.contains("!SHARDING")) {
                 handleShardingRuleConfiguration(result, configData, schemaName);
-            } else if (configData.contains("!MASTER_SLAVE")) {
+            } else if (configData.contains("!PRIMARY_REPLICA_REPLICATION")) {
                 handleMasterSlaveRuleConfiguration(result, configData, schemaName);
             }
         }
@@ -81,9 +81,9 @@
     }
     
     @Override
-    public void updateSlaveDataSourceStatus(final String schemaNames, final String slaveDataSourceName, final boolean enabled) {
+    public void updateReplicaDataSourceStatus(final String schemaNames, final String replicaDataSourceName, final boolean enabled) {
         String value = enabled ? "" : RegistryCenterNodeStatus.DISABLED.toString();
-        registryCenterService.getActivatedRegistryCenter().persist(registryCenterService.getActivatedStateNode().getDataSourcePath(schemaNames, slaveDataSourceName), value);
+        registryCenterService.getActivatedRegistryCenter().persist(registryCenterService.getActivatedStateNode().getDataSourcePath(schemaNames, replicaDataSourceName), value);
     }
     
     private String getInstancesNodeFullRootPath() {
@@ -91,31 +91,31 @@
         return result.substring(0, result.length() - 1);
     }
     
-    private void handleShardingRuleConfiguration(final Collection<SlaveDataSourceDTO> slaveDataSourceDTOS, final String configData, final String schemaName) {
+    private void handleShardingRuleConfiguration(final Collection<ReplicaDataSourceDTO> replicaDataSourceDTOS, final String configData, final String schemaName) {
         Collection<RuleConfiguration> configurations = ConfigurationYamlConverter.loadRuleConfigurations(configData);
-        Collection<MasterSlaveRuleConfiguration> masterSlaveRuleConfigs = configurations.stream().filter(
-            config -> config instanceof MasterSlaveRuleConfiguration).map(config -> (MasterSlaveRuleConfiguration) config).collect(Collectors.toList());
-        for (MasterSlaveRuleConfiguration masterSlaveRuleConfiguration : masterSlaveRuleConfigs) {
-            addSlaveDataSource(slaveDataSourceDTOS, masterSlaveRuleConfiguration, schemaName);
+        Collection<PrimaryReplicaReplicationRuleConfiguration> primaryReplicaReplicationRuleConfigs = configurations.stream().filter(
+            config -> config instanceof PrimaryReplicaReplicationRuleConfiguration).map(config -> (PrimaryReplicaReplicationRuleConfiguration) config).collect(Collectors.toList());
+        for (PrimaryReplicaReplicationRuleConfiguration primaryReplicaReplicationRuleConfiguration : primaryReplicaReplicationRuleConfigs) {
+            addSlaveDataSource(replicaDataSourceDTOS, primaryReplicaReplicationRuleConfiguration, schemaName);
         }
     }
     
-    private void handleMasterSlaveRuleConfiguration(final Collection<SlaveDataSourceDTO> slaveDataSourceDTOS, final String configData, final String schemaName) {
-        MasterSlaveRuleConfiguration masterSlaveRuleConfiguration = ConfigurationYamlConverter.loadMasterSlaveRuleConfiguration(configData);
-        addSlaveDataSource(slaveDataSourceDTOS, masterSlaveRuleConfiguration, schemaName);
+    private void handleMasterSlaveRuleConfiguration(final Collection<ReplicaDataSourceDTO> replicaDataSourceDTOS, final String configData, final String schemaName) {
+        PrimaryReplicaReplicationRuleConfiguration primaryReplicaReplicationRuleConfiguration = ConfigurationYamlConverter.loadPrimaryReplicaRuleConfiguration(configData);
+        addSlaveDataSource(replicaDataSourceDTOS, primaryReplicaReplicationRuleConfiguration, schemaName);
     }
     
-    private void addSlaveDataSource(final Collection<SlaveDataSourceDTO> slaveDataSourceDTOS, final MasterSlaveRuleConfiguration masterSlaveRuleConfiguration, final String schemaName) {
+    private void addSlaveDataSource(final Collection<ReplicaDataSourceDTO> replicaDataSourceDTOS, final PrimaryReplicaReplicationRuleConfiguration primaryReplicaReplicationRuleConfiguration, final String schemaName) {
         Collection<String> disabledSchemaDataSourceNames = getDisabledSchemaDataSourceNames();
-        for (MasterSlaveDataSourceRuleConfiguration each : masterSlaveRuleConfiguration.getDataSources()) {
-            slaveDataSourceDTOS.addAll(getSlaveDataSourceDTOS(schemaName, disabledSchemaDataSourceNames, each));
+        for (PrimaryReplicaReplicationDataSourceRuleConfiguration each : primaryReplicaReplicationRuleConfiguration.getDataSources()) {
+            replicaDataSourceDTOS.addAll(getReplicaDataSourceDTOS(schemaName, disabledSchemaDataSourceNames, each));
         }
     }
     
-    private Collection<SlaveDataSourceDTO> getSlaveDataSourceDTOS(final String schemaName, final Collection<String> disabledSchemaDataSourceNames, final MasterSlaveDataSourceRuleConfiguration group) {
-        Collection<SlaveDataSourceDTO> result = new LinkedList<>();
-        for (String each : group.getSlaveDataSourceNames()) {
-            result.add(new SlaveDataSourceDTO(schemaName, group.getMasterDataSourceName(), each, !disabledSchemaDataSourceNames.contains(schemaName + "." + each)));
+    private Collection<ReplicaDataSourceDTO> getReplicaDataSourceDTOS(final String schemaName, final Collection<String> disabledSchemaDataSourceNames, final PrimaryReplicaReplicationDataSourceRuleConfiguration group) {
+        Collection<ReplicaDataSourceDTO> result = new LinkedList<>();
+        for (String each : group.getReplicaDataSourceNames()) {
+            result.add(new ReplicaDataSourceDTO(schemaName, group.getPrimaryDataSourceName(), each, !disabledSchemaDataSourceNames.contains(schemaName + "." + each)));
         }
         return result;
     }
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/util/ConfigurationYamlConverter.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/util/ConfigurationYamlConverter.java
index 1dd5d59..24f79de 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/util/ConfigurationYamlConverter.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/util/ConfigurationYamlConverter.java
@@ -31,7 +31,7 @@
 import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
-import org.apache.shardingsphere.masterslave.api.config.MasterSlaveRuleConfiguration;
+import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
 
 import java.util.Collection;
 import java.util.Map;
@@ -68,15 +68,15 @@
     }
     
     /**
-     * Load master-slave rule configuration.
+     * Load primary replica rule configuration.
      *
      * @param data data
-     * @return master-slave rule configuration
+     * @return primary replica rule configuration
      */
-    public static MasterSlaveRuleConfiguration loadMasterSlaveRuleConfiguration(final String data) {
+    public static PrimaryReplicaReplicationRuleConfiguration loadPrimaryReplicaRuleConfiguration(final String data) {
         Collection<RuleConfiguration> ruleConfigurations = loadRuleConfigurations(data);
-        Optional<MasterSlaveRuleConfiguration> result = ruleConfigurations.stream().filter(
-            each -> each instanceof MasterSlaveRuleConfiguration).map(ruleConfiguration -> (MasterSlaveRuleConfiguration) ruleConfiguration).findFirst();
+        Optional<PrimaryReplicaReplicationRuleConfiguration> result = ruleConfigurations.stream().filter(
+            each -> each instanceof PrimaryReplicaReplicationRuleConfiguration).map(ruleConfiguration -> (PrimaryReplicaReplicationRuleConfiguration) ruleConfiguration).findFirst();
         Preconditions.checkState(result.isPresent());
         return result.get();
     }
diff --git a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/web/controller/GovernanceController.java b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/web/controller/GovernanceController.java
index 1b587f1..334a0a2 100644
--- a/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/web/controller/GovernanceController.java
+++ b/shardingsphere-ui-backend/src/main/java/org/apache/shardingsphere/ui/web/controller/GovernanceController.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.ui.web.controller;
 
 import org.apache.shardingsphere.ui.common.dto.InstanceDTO;
-import org.apache.shardingsphere.ui.common.dto.SlaveDataSourceDTO;
+import org.apache.shardingsphere.ui.common.dto.ReplicaDataSourceDTO;
 import org.apache.shardingsphere.ui.servcie.GovernanceService;
 import org.apache.shardingsphere.ui.web.response.ResponseResult;
 import org.apache.shardingsphere.ui.web.response.ResponseResultUtil;
@@ -63,24 +63,24 @@
     }
     
     /**
-     * Load all slave data sources.
+     * Load all replica data sources.
      *
      * @return response result
      */
     @RequestMapping(value = "/datasource", method = RequestMethod.GET)
-    public ResponseResult<Collection<SlaveDataSourceDTO>> loadAllSlaveDataSources() {
-        return ResponseResultUtil.build(governanceService.getAllSlaveDataSource());
+    public ResponseResult<Collection<ReplicaDataSourceDTO>> loadAllReplicaDataSources() {
+        return ResponseResultUtil.build(governanceService.getAllReplicaDataSource());
     }
     
     /**
-     * Update slave data source status.
+     * Update replica data source status.
      *
-     * @param slaveDataSourceDTO slave data source DTO
+     * @param replicaDataSourceDTO replica data source DTO
      * @return response result
      */
     @RequestMapping(value = "/datasource", method = RequestMethod.PUT)
-    public ResponseResult updateSlaveDataSourceStatus(@RequestBody final SlaveDataSourceDTO slaveDataSourceDTO) {
-        governanceService.updateSlaveDataSourceStatus(slaveDataSourceDTO.getSchema(), slaveDataSourceDTO.getSlaveDataSourceName(), slaveDataSourceDTO.isEnabled());
+    public ResponseResult updateReplicaDataSourceStatus(@RequestBody final ReplicaDataSourceDTO replicaDataSourceDTO) {
+        governanceService.updateReplicaDataSourceStatus(replicaDataSourceDTO.getSchema(), replicaDataSourceDTO.getReplicaDataSourceName(), replicaDataSourceDTO.isEnabled());
         return ResponseResultUtil.success();
     }
     
diff --git a/shardingsphere-ui-frontend/src/lang/en-US.js b/shardingsphere-ui-frontend/src/lang/en-US.js
index 4bb125a..5908fce 100644
--- a/shardingsphere-ui-frontend/src/lang/en-US.js
+++ b/shardingsphere-ui-frontend/src/lang/en-US.js
@@ -117,11 +117,11 @@
   },
   runtimeStatus: {
     serviceNode: 'Service Node',
-    slaveDataSourceName: 'Slave DataSource Info',
+    slaveDataSourceName: 'Replica DataSource Info',
     dataSource: {
       schema: 'Schema',
-      masterDataSourceName: 'Master DataSource Name',
-      slaveDataSourceName: 'Slave DataSource Name'
+      masterDataSourceName: 'Primary DataSource Name',
+      slaveDataSourceName: 'Replica DataSource Name'
     },
     instance: {
       instanceId: 'Instance Id',
diff --git a/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue b/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue
index cda9737..07119cc 100644
--- a/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue
+++ b/shardingsphere-ui-frontend/src/views/data-scaling/module/index.vue
@@ -420,7 +420,7 @@
         }
       )
       const masterSlaveYamlType = new yaml.Type(
-        '!MASTER_SLAVE',
+        '!PRIMARY_REPLICA_REPLICATION',
         {
           kind: 'mapping',
           construct(data) {
diff --git a/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue b/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue
index 0244b1d..492940f 100644
--- a/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue
+++ b/shardingsphere-ui-frontend/src/views/rule-config/module/schema.vue
@@ -207,7 +207,7 @@
         }
       )
       const masterSlaveYamlType = new yaml.Type(
-        '!MASTER_SLAVE',
+        '!PRIMARY_REPLICA_REPLICATION',
         {
           kind: 'mapping',
           construct(data) {
diff --git a/shardingsphere-ui-frontend/src/views/runtime-status/module/dataSource.vue b/shardingsphere-ui-frontend/src/views/runtime-status/module/dataSource.vue
index 9f59e80..f5ea177 100644
--- a/shardingsphere-ui-frontend/src/views/runtime-status/module/dataSource.vue
+++ b/shardingsphere-ui-frontend/src/views/runtime-status/module/dataSource.vue
@@ -57,11 +57,11 @@
         },
         {
           label: this.$t('runtimeStatus').dataSource.masterDataSourceName,
-          prop: 'masterDataSourceName'
+          prop: 'primaryDataSourceName'
         },
         {
           label: this.$t('runtimeStatus').dataSource.slaveDataSourceName,
-          prop: 'slaveDataSourceName'
+          prop: 'replicaDataSourceName'
         }
       ],
       tableData: [],