This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev-2.1.5
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev-2.1.5 by this push:
new a0c0cdd58 [Cherry-Pick-3847] DockerConfig setting error (#3858)
a0c0cdd58 is described below
commit a0c0cdd58b7136cd4c7ec3a9fcc6343a0d9d3052
Author: xiangzihao <[email protected]>
AuthorDate: Fri Jul 12 16:11:43 2024 +0800
[Cherry-Pick-3847] DockerConfig setting error (#3858)
* [Fix-3681] DockerConfig setting error (#3847)
* fix 3681
* cp issue 3847
---
.../streampark/console/core/bean/DockerConfig.java | 32 ---------------------
.../console/core/controller/SettingController.java | 2 +-
.../console/core/mapper/SettingMapper.java | 9 +++++-
.../console/core/service/SettingService.java | 2 ++
.../core/service/impl/SettingServiceImpl.java | 33 ++++++++++++++++++++++
.../main/resources/mapper/core/SettingMapper.xml | 14 +++++++++
.../console/core/service/SettingServiceTest.java | 16 +++++++++++
7 files changed, 74 insertions(+), 34 deletions(-)
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/DockerConfig.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/DockerConfig.java
index 870ad3056..c8beeef62 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/DockerConfig.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/bean/DockerConfig.java
@@ -44,38 +44,6 @@ public class DockerConfig {
private String password;
private String namespace;
- public static DockerConfig fromSetting() {
- try {
- DockerConfig dockerConfig = new DockerConfig();
- Setting emptySetting = new Setting();
-
- dockerConfig.setAddress(
- SettingService.SETTINGS
- .getOrDefault(SettingService.KEY_DOCKER_REGISTER_ADDRESS,
emptySetting)
- .getSettingValue());
-
- dockerConfig.setUserName(
- SettingService.SETTINGS
- .getOrDefault(SettingService.KEY_DOCKER_REGISTER_USER,
emptySetting)
- .getSettingValue());
-
- dockerConfig.setPassword(
- SettingService.SETTINGS
- .getOrDefault(SettingService.KEY_DOCKER_REGISTER_PASSWORD,
emptySetting)
- .getSettingValue());
-
- dockerConfig.setNamespace(
- SettingService.SETTINGS
- .getOrDefault(SettingService.KEY_DOCKER_REGISTER_NAMESPACE,
emptySetting)
- .getSettingValue());
-
- return dockerConfig;
- } catch (Exception e) {
- log.warn("Failed to create DockerConfig from settings", e);
- }
- return null;
- }
-
public static List<Setting> toSettings(DockerConfig dockerConfig) {
Setting address = new Setting();
address.setSettingKey(SettingService.KEY_DOCKER_REGISTER_ADDRESS);
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/SettingController.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/SettingController.java
index bece4a832..a98f6234f 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/SettingController.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/SettingController.java
@@ -71,7 +71,7 @@ public class SettingController {
@PostMapping("docker")
@RequiresPermissions("setting:view")
public RestResponse docker() {
- DockerConfig dockerConfig = DockerConfig.fromSetting();
+ DockerConfig dockerConfig = settingService.getDockerConfig();
return RestResponse.success(dockerConfig);
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SettingMapper.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SettingMapper.java
index 785a3946a..a072b0ad8 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SettingMapper.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/SettingMapper.java
@@ -19,6 +19,13 @@ package org.apache.streampark.console.core.mapper;
import org.apache.streampark.console.core.entity.Setting;
+import org.apache.ibatis.annotations.Param;
+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-public interface SettingMapper extends BaseMapper<Setting> {}
+import java.util.List;
+
+public interface SettingMapper extends BaseMapper<Setting> {
+
+ List<Setting> querySettingByKeys(@Param("settingKeys") List<String>
settingKeys);
+}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/SettingService.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/SettingService.java
index 927bb287a..993ed370b 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/SettingService.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/SettingService.java
@@ -66,4 +66,6 @@ public interface SettingService extends IService<Setting> {
ResponseResult checkDocker(DockerConfig dockerConfig);
ResponseResult checkEmail(SenderEmail senderEmail);
+
+ DockerConfig getDockerConfig();
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
index de1f9b607..61bb30d65 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
@@ -48,6 +48,7 @@ import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
+import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
@@ -152,6 +153,38 @@ public class SettingServiceImpl extends
ServiceImpl<SettingMapper, Setting>
.getSettingValue();
}
+ @Override
+ public DockerConfig getDockerConfig() {
+ List<Setting> settingList =
+ baseMapper.querySettingByKeys(
+ Arrays.asList(
+ SettingService.KEY_DOCKER_REGISTER_ADDRESS,
+ SettingService.KEY_DOCKER_REGISTER_USER,
+ SettingService.KEY_DOCKER_REGISTER_PASSWORD,
+ SettingService.KEY_DOCKER_REGISTER_NAMESPACE));
+ DockerConfig dockerConfig = new DockerConfig();
+ settingList.forEach(
+ setting -> {
+ switch (setting.getSettingKey()) {
+ case SettingService.KEY_DOCKER_REGISTER_ADDRESS:
+ dockerConfig.setAddress(setting.getSettingValue());
+ break;
+ case SettingService.KEY_DOCKER_REGISTER_USER:
+ dockerConfig.setUserName(setting.getSettingValue());
+ break;
+ case SettingService.KEY_DOCKER_REGISTER_PASSWORD:
+ dockerConfig.setPassword(setting.getSettingValue());
+ break;
+ case SettingService.KEY_DOCKER_REGISTER_NAMESPACE:
+ dockerConfig.setNamespace(setting.getSettingValue());
+ break;
+ default:
+ break;
+ }
+ });
+ return dockerConfig;
+ }
+
@Override
public ResponseResult checkDocker(DockerConfig dockerConfig) {
DockerClientConfig config =
diff --git
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/SettingMapper.xml
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/SettingMapper.xml
index f8be597f7..f1269580e 100644
---
a/streampark-console/streampark-console-service/src/main/resources/mapper/core/SettingMapper.xml
+++
b/streampark-console/streampark-console-service/src/main/resources/mapper/core/SettingMapper.xml
@@ -25,4 +25,18 @@
<result column="type" jdbcType="INTEGER" property="type"/>
<result column="description" jdbcType="VARCHAR"
property="description"/>
</resultMap>
+
+ <sql id="baseSql">
+ order_num, setting_name, setting_key, setting_value, type
+ </sql>
+
+ <select id="querySettingByKeys"
resultType="org.apache.streampark.console.core.entity.Setting">
+ SELECT
+ <include refid="baseSql"/>
+ FROM t_setting
+ WHERE setting_key IN
+ <foreach collection="settingKeys" item="key" open="(" separator=","
close=")">
+ #{key}
+ </foreach>
+ </select>
</mapper>
diff --git
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SettingServiceTest.java
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SettingServiceTest.java
index 8d119a42c..325d35df7 100644
---
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SettingServiceTest.java
+++
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SettingServiceTest.java
@@ -113,4 +113,20 @@ class SettingServiceTest extends SpringTestBase {
ResponseResult result = settingService.checkDocker(dockerConfig);
Assertions.assertEquals(result.getStatus(), 200);
}
+
+ @Test
+ void testGetDockerConfig() {
+ String username = "XXXXXXXX";
+ String password = "XXXXXXXX";
+
+ DockerConfig initDockerConfig = new DockerConfig();
+ initDockerConfig.setAddress("registry.cn-hangzhou.aliyuncs.com");
+ initDockerConfig.setUserName(username);
+ initDockerConfig.setPassword(password);
+ initDockerConfig.setNamespace("streampark");
+ settingService.updateDocker(initDockerConfig);
+
+ DockerConfig dockerConfig = settingService.getDockerConfig();
+ Assertions.assertEquals(dockerConfig, initDockerConfig);
+ }
}