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