You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2023/02/10 15:15:13 UTC
[linkis] branch dev-1.3.2 updated: [ISSUE-4073]Engine configuration template bug fix (#4163)
This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git
The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
new acc5a8181 [ISSUE-4073]Engine configuration template bug fix (#4163)
acc5a8181 is described below
commit acc5a81813f112f9f090fc9c1ca5975876454191
Author: ichenfeiyang <49...@qq.com>
AuthorDate: Fri Feb 10 23:15:07 2023 +0800
[ISSUE-4073]Engine configuration template bug fix (#4163)
* [ISSUE-2442] Basic data management, updata interface
---
.../db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql | 2 +-
.../dao/EngineConnPluginBmlResourcesMapper.java | 23 +++-
.../domain/EngineConnPluginBmlResources.java | 151 +++++++++++++++++++++
.../server/response/EngineLabelResponse.java | 14 +-
.../restful/ConfigurationTemplateRestfulApi.java | 1 -
.../impl/ConfigurationTemplateServiceImpl.java | 16 ++-
.../common/EngineConnPluginBmlResourcesMapper.xml | 48 +++++++
7 files changed, 240 insertions(+), 15 deletions(-)
diff --git a/linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql b/linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql
index e10f39440..dd1c6c560 100644
--- a/linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql
+++ b/linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql
@@ -21,5 +21,5 @@
ALTER TABLE `linkis_ps_dm_datasource_type_key` ADD COLUMN `name_en` varchar(32) COLLATE utf8_bin NOT NULL;
ALTER TABLE `linkis_ps_dm_datasource_type_key` ADD COLUMN `description_en` varchar(200) COLLATE utf8_bin NULL DEFAULT NULL;
-ALTER TABLE `linkis_ps_instance_label_value_relation` ADD UNIQUE KEY `label_instance` (`label_id`,`service_instance`);
+ALTER TABLE `linkis_ps_instance_label_relation` ADD UNIQUE KEY `label_instance` (`label_id`,`service_instance`);
diff --git a/linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/dao/EngineConnPluginBmlResourcesMapper.java
similarity index 62%
copy from linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql
copy to linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/dao/EngineConnPluginBmlResourcesMapper.java
index e10f39440..abb7e9ca7 100644
--- a/linkis-dist/package/db/upgrade/1.2.0_schema/mysql/linkis_ddl.sql
+++ b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/dao/EngineConnPluginBmlResourcesMapper.java
@@ -13,13 +13,22 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-*/
+ */
--- ----------------------------
--- add corresponding table fields for linkis_ps_dm_datasource_type_key
--- ----------------------------
+package org.apache.linkis.basedatamanager.server.dao;
-ALTER TABLE `linkis_ps_dm_datasource_type_key` ADD COLUMN `name_en` varchar(32) COLLATE utf8_bin NOT NULL;
-ALTER TABLE `linkis_ps_dm_datasource_type_key` ADD COLUMN `description_en` varchar(200) COLLATE utf8_bin NULL DEFAULT NULL;
-ALTER TABLE `linkis_ps_instance_label_value_relation` ADD UNIQUE KEY `label_instance` (`label_id`,`service_instance`);
+import org.apache.linkis.basedatamanager.server.domain.EngineConnPluginBmlResources;
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface EngineConnPluginBmlResourcesMapper
+ extends BaseMapper<EngineConnPluginBmlResources> {
+ /**
+ * query installed engine type and version lists
+ *
+ * @return List
+ */
+ List<String> getEngineTypeList();
+}
diff --git a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/domain/EngineConnPluginBmlResources.java b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/domain/EngineConnPluginBmlResources.java
new file mode 100644
index 000000000..612c2e4f5
--- /dev/null
+++ b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/domain/EngineConnPluginBmlResources.java
@@ -0,0 +1,151 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.linkis.basedatamanager.server.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+@TableName("linkis_cg_engine_conn_plugin_bml_resources")
+public class EngineConnPluginBmlResources implements Serializable {
+ private static final long serialVersionUID = -6976329190060659981L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ private String engineConnType;
+
+ private String version;
+
+ private String fileName;
+
+ private Long fileSize;
+
+ private Long lastModified;
+
+ private String bmlResourceId;
+
+ private String bmlResourceVersion;
+
+ private Date createTime;
+
+ private Date lastUpdateTime;
+
+ /** Primary key */
+ public Long getId() {
+ return id;
+ }
+
+ /** Primary key */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /** Engine type */
+ public String getEngineConnType() {
+ return engineConnType;
+ }
+
+ /** Engine type */
+ public void setEngineConnType(String engineConnType) {
+ this.engineConnType = engineConnType;
+ }
+
+ /** version */
+ public String getVersion() {
+ return version;
+ }
+
+ /** version */
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ /** file name */
+ public String getFileName() {
+ return fileName;
+ }
+
+ /** file name */
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+
+ /** file size */
+ public Long getFileSize() {
+ return fileSize;
+ }
+
+ /** file size */
+ public void setFileSize(Long fileSize) {
+ this.fileSize = fileSize;
+ }
+
+ /** File update time */
+ public Long getLastModified() {
+ return lastModified;
+ }
+
+ /** File update time */
+ public void setLastModified(Long lastModified) {
+ this.lastModified = lastModified;
+ }
+
+ /** Owning system */
+ public String getBmlResourceId() {
+ return bmlResourceId;
+ }
+
+ /** Owning system */
+ public void setBmlResourceId(String bmlResourceId) {
+ this.bmlResourceId = bmlResourceId;
+ }
+
+ /** Resource owner */
+ public String getBmlResourceVersion() {
+ return bmlResourceVersion;
+ }
+
+ /** Resource owner */
+ public void setBmlResourceVersion(String bmlResourceVersion) {
+ this.bmlResourceVersion = bmlResourceVersion;
+ }
+
+ /** created time */
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ /** created time */
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ /** updated time */
+ public Date getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ /** updated time */
+ public void setLastUpdateTime(Date lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+}
diff --git a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/response/EngineLabelResponse.java b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/response/EngineLabelResponse.java
index 856b39d56..9bf7e51bd 100644
--- a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/response/EngineLabelResponse.java
+++ b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/response/EngineLabelResponse.java
@@ -33,9 +33,13 @@ public class EngineLabelResponse implements Serializable {
@ApiModelProperty(value = "engine name. eg: spark-2.4.3")
private String engineName;
- public EngineLabelResponse(Integer labelId, String engineName) {
+ @ApiModelProperty(value = "install. eg: yes")
+ private String install;
+
+ public EngineLabelResponse(Integer labelId, String engineName, String install) {
this.labelId = labelId;
this.engineName = engineName;
+ this.install = install;
}
public Integer getLabelId() {
@@ -53,4 +57,12 @@ public class EngineLabelResponse implements Serializable {
public void setEngineName(String engineName) {
this.engineName = engineName;
}
+
+ public String getInstall() {
+ return install;
+ }
+
+ public void setInstall(String install) {
+ this.install = install;
+ }
}
diff --git a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/restful/ConfigurationTemplateRestfulApi.java b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/restful/ConfigurationTemplateRestfulApi.java
index 09c51ea1e..d6db4f757 100644
--- a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/restful/ConfigurationTemplateRestfulApi.java
+++ b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/restful/ConfigurationTemplateRestfulApi.java
@@ -53,7 +53,6 @@ public class ConfigurationTemplateRestfulApi {
if (Objects.isNull(request)
|| StringUtils.isEmpty(request.getEngineLabelId())
|| StringUtils.isEmpty(request.getKey())
- || StringUtils.isEmpty(request.getEngineConnType())
|| StringUtils.isEmpty(request.getName())
|| StringUtils.isEmpty(request.getTreeName())) {
throw new InvalidParameterException("please check your parameter.");
diff --git a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/service/impl/ConfigurationTemplateServiceImpl.java b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/service/impl/ConfigurationTemplateServiceImpl.java
index 73fff43e2..a06094a98 100644
--- a/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/service/impl/ConfigurationTemplateServiceImpl.java
+++ b/linkis-public-enhancements/linkis-basedata-manager/src/main/java/org/apache/linkis/basedatamanager/server/service/impl/ConfigurationTemplateServiceImpl.java
@@ -17,10 +17,7 @@
package org.apache.linkis.basedatamanager.server.service.impl;
-import org.apache.linkis.basedatamanager.server.dao.CgManagerLabelMapper;
-import org.apache.linkis.basedatamanager.server.dao.ConfigurationConfigKeyMapper;
-import org.apache.linkis.basedatamanager.server.dao.ConfigurationConfigValueMapper;
-import org.apache.linkis.basedatamanager.server.dao.ConfigurationKeyEngineRelationMapper;
+import org.apache.linkis.basedatamanager.server.dao.*;
import org.apache.linkis.basedatamanager.server.domain.CgManagerLabel;
import org.apache.linkis.basedatamanager.server.domain.ConfigurationConfigKey;
import org.apache.linkis.basedatamanager.server.domain.ConfigurationConfigValue;
@@ -52,6 +49,7 @@ public class ConfigurationTemplateServiceImpl implements ConfigurationTemplateSe
@Resource ConfigurationKeyEngineRelationMapper relationMapper;
@Resource CgManagerLabelMapper managerLabelMapper;
@Resource ConfigurationConfigValueMapper configValueMapper;
+ @Resource EngineConnPluginBmlResourcesMapper engineConnPluginBmlResourcesMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -115,18 +113,26 @@ public class ConfigurationTemplateServiceImpl implements ConfigurationTemplateSe
@Override
public List<EngineLabelResponse> getEngineList() {
+ // engine label list
List<CgManagerLabel> cgEngineList = managerLabelMapper.getEngineList();
if (CollectionUtils.isEmpty(cgEngineList)) {
return Lists.newArrayList();
}
+
+ // engine installed list
+ List<String> installedList = engineConnPluginBmlResourcesMapper.getEngineTypeList();
+
return cgEngineList.stream()
.map(
e -> {
String labelValue = e.getLabelValue().split(",")[1];
+ String installedFlag = installedList.contains(labelValue) ? "yes" : "no";
if ("*-*".equals(labelValue)) {
labelValue = "全局设置";
+ installedFlag = "yes";
}
- return new EngineLabelResponse(e.getId(), labelValue);
+
+ return new EngineLabelResponse(e.getId(), labelValue, installedFlag);
})
.collect(Collectors.toList());
}
diff --git a/linkis-public-enhancements/linkis-basedata-manager/src/main/resources/mapper/common/EngineConnPluginBmlResourcesMapper.xml b/linkis-public-enhancements/linkis-basedata-manager/src/main/resources/mapper/common/EngineConnPluginBmlResourcesMapper.xml
new file mode 100644
index 000000000..ef0e3590e
--- /dev/null
+++ b/linkis-public-enhancements/linkis-basedata-manager/src/main/resources/mapper/common/EngineConnPluginBmlResourcesMapper.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.apache.linkis.basedatamanager.server.dao.EngineConnPluginBmlResourcesMapper">
+
+ <resultMap id="BaseResultMap" type="org.apache.linkis.basedatamanager.server.domain.EngineConnPluginBmlResources">
+ <id property="id" column="id" jdbcType="BIGINT"/>
+ <result property="engineConnType" column="engine_conn_type" jdbcType="VARCHAR"/>
+ <result property="version" column="version" jdbcType="VARCHAR"/>
+ <result property="fileName" column="file_name" jdbcType="VARCHAR"/>
+ <result property="fileSize" column="file_size" jdbcType="BIGINT"/>
+ <result property="lastModified" column="last_modified" jdbcType="BIGINT"/>
+ <result property="bmlResourceId" column="bml_resource_id" jdbcType="VARCHAR"/>
+ <result property="bmlResourceVersion" column="bml_resource_version" jdbcType="VARCHAR"/>
+ <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+ <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ id,engine_conn_type,version,
+ file_name,file_size,last_modified,
+ bml_resource_id,bml_resource_version,create_time,
+ last_update_time
+ </sql>
+
+ <select id="getEngineTypeList" resultType="String">
+ SELECT concat(engine_conn_type,'-', substring(version,2)) FROM linkis_cg_engine_conn_plugin_bml_resources GROUP BY engine_conn_type,version
+ </select>
+
+</mapper>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org