This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new 89606672f [Fix-3681] DockerConfig setting error (#3847)
89606672f is described below
commit 89606672fc8719c902379b3def4f9648b35276db
Author: xiangzihao <[email protected]>
AuthorDate: Tue Jul 9 22:18:07 2024 +0800
[Fix-3681] DockerConfig setting error (#3847)
* fix 3681
---
.../streampark/console/core/bean/DockerConfig.java | 29 ----------------------
.../console/core/controller/SettingController.java | 2 +-
.../console/core/mapper/SettingMapper.java | 6 +++++
.../core/service/impl/SettingServiceImpl.java | 27 +++++++++++++++++++-
.../main/resources/mapper/core/SettingMapper.xml | 14 +++++++++++
.../console/core/service/SettingServiceTest.java | 16 ++++++++++++
6 files changed, 63 insertions(+), 31 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 52771cdc0..c802f99c7 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
@@ -42,35 +42,6 @@ public class DockerConfig {
private String password;
private String namespace;
- public static DockerConfig fromSetting() {
- try {
- DockerConfig dockerConfig = new DockerConfig();
-
- dockerConfig.setAddress(
- SettingService.SETTINGS
- .get(SettingService.KEY_DOCKER_REGISTER_ADDRESS)
- .getSettingValue());
-
- dockerConfig.setUsername(
-
SettingService.SETTINGS.get(SettingService.KEY_DOCKER_REGISTER_USER).getSettingValue());
-
- dockerConfig.setPassword(
- SettingService.SETTINGS
- .get(SettingService.KEY_DOCKER_REGISTER_PASSWORD)
- .getSettingValue());
-
- dockerConfig.setNamespace(
- SettingService.SETTINGS
- .get(SettingService.KEY_DOCKER_REGISTER_NAMESPACE)
- .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 9eecade72..4b3c751f4 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 f07beb5e5..79b1727d7 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,7 +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;
+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/impl/SettingServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
index 6a0a7b79d..0ee24f259 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
@@ -47,6 +47,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;
@@ -100,7 +101,31 @@ public class SettingServiceImpl extends
ServiceImpl<SettingMapper, Setting>
@Override
public DockerConfig getDockerConfig() {
- return DockerConfig.fromSetting();
+ 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
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 d0c683f19..858d147a9 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
@@ -114,4 +114,20 @@ class SettingServiceTest extends SpringUnitTestBase {
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);
+ }
}