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

yuzelin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new 024751c6a [flink][refactor] Remove duplicate code in 
MySqlSyncTableAction (#1098)
024751c6a is described below

commit 024751c6a8479874c0d2c84287df3f6d0db26975
Author: yuzelin <33053040+yuze...@users.noreply.github.com>
AuthorDate: Tue May 9 10:37:30 2023 +0800

    [flink][refactor] Remove duplicate code in MySqlSyncTableAction (#1098)
---
 .../action/cdc/mysql/MySqlSyncTableAction.java     | 36 +++++-----------------
 1 file changed, 8 insertions(+), 28 deletions(-)

diff --git 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableAction.java
 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableAction.java
index 13f62d480..855a69ee4 100644
--- 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableAction.java
+++ 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableAction.java
@@ -46,7 +46,6 @@ import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -54,6 +53,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import static org.apache.paimon.flink.action.Action.getConfigMap;
 import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
@@ -263,43 +263,23 @@ public class MySqlSyncTableAction implements Action {
                             .collect(Collectors.toList());
         }
 
-        Map<String, String> mySqlConfig = getConfigMap(params, "mysql-conf");
-        Map<String, String> catalogConfig = getConfigMap(params, 
"catalog-conf");
-        Map<String, String> tableConfig = getConfigMap(params, "table-conf");
-        if (mySqlConfig == null) {
+        Optional<Map<String, String>> mySqlConfig = getConfigMap(params, 
"mysql-conf");
+        Optional<Map<String, String>> catalogConfig = getConfigMap(params, 
"catalog-conf");
+        Optional<Map<String, String>> tableConfig = getConfigMap(params, 
"table-conf");
+        if (!mySqlConfig.isPresent()) {
             return Optional.empty();
         }
 
         return Optional.of(
                 new MySqlSyncTableAction(
-                        mySqlConfig,
+                        mySqlConfig.get(),
                         tablePath.f0,
                         tablePath.f1,
                         tablePath.f2,
                         partitionKeys,
                         primaryKeys,
-                        catalogConfig == null ? Collections.emptyMap() : 
catalogConfig,
-                        tableConfig == null ? Collections.emptyMap() : 
tableConfig));
-    }
-
-    private static Map<String, String> getConfigMap(MultipleParameterTool 
params, String key) {
-        if (!params.has(key)) {
-            return null;
-        }
-
-        Map<String, String> map = new HashMap<>();
-        for (String param : params.getMultiParameter(key)) {
-            String[] kv = param.split("=");
-            if (kv.length == 2) {
-                map.put(kv[0], kv[1]);
-                continue;
-            }
-
-            System.err.println(
-                    "Invalid " + key + " " + param + ".\nRun mysql-sync-table 
--help for help.");
-            return null;
-        }
-        return map;
+                        catalogConfig.orElse(Collections.emptyMap()),
+                        tableConfig.orElse(Collections.emptyMap())));
     }
 
     private static void printHelp() {

Reply via email to