From 5ed58d784dde823b8da7c93e067fbfd1fa8a18a7 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Thu, 22 Aug 2024 17:04:07 +0800 Subject: [PATCH 01/17] BIGTOP-4192: Switch ORM framework from JPA to MyBatis for Bigtop-Manager --- bigtop-manager-bom/pom.xml | 22 ++- .../manager/common/utils/ClassUtils.java | 41 ++++++ bigtop-manager-dao/pom.xml | 10 +- .../bigtop/manager/dao/mapper/BaseMapper.java | 38 ++++++ .../manager/dao/mapper/ClusterMapper.java | 14 ++ .../bigtop/manager/dao/mapper/HostMapper.java | 7 + .../bigtop/manager/dao/mapper/JobMapper.java | 14 ++ .../bigtop/manager/dao/mapper/RepoMapper.java | 18 +++ .../manager/dao/mapper/StackMapper.java | 10 ++ .../manager/dao/mapper/StageMapper.java | 8 ++ .../bigtop/manager/dao/mapper/TaskMapper.java | 8 ++ .../bigtop/manager/dao/mapper/UserMapper.java | 7 + .../apache/bigtop/manager/dao/po/BasePO.java | 7 +- .../bigtop/manager/dao/po/ClusterPO.java | 3 + .../apache/bigtop/manager/dao/po/JobPO.java | 4 + .../apache/bigtop/manager/dao/po/StagePO.java | 11 +- .../apache/bigtop/manager/dao/po/TaskPO.java | 15 ++- .../manager/dao/sql/BaseSqlProvider.java | 66 +++++++++ .../bigtop/manager/dao/sql/SQLBuilder.java | 127 ++++++++++++++++++ .../bigtop/manager/dao/sql/TableMataData.java | 115 ++++++++++++++++ .../resources/mapper/mysql/ClusterMapper.xml | 47 +++++++ .../main/resources/mapper/mysql/JobMapper.xml | 56 ++++++++ .../resources/mapper/mysql/RepoMapper.xml | 69 ++++++++++ .../resources/mapper/mysql/StackMapper.xml | 51 +++++++ bigtop-manager-server/pom.xml | 22 +-- .../server/config/EclipseLinkConfig.java | 55 -------- .../manager/server/model/query/PageQuery.java | 4 +- .../manager/server/model/vo/PageVO.java | 24 ++++ .../service/impl/ClusterServiceImpl.java | 31 ++--- .../server/service/impl/JobServiceImpl.java | 40 +++--- .../server/service/impl/UserServiceImpl.java | 10 +- .../manager/server/utils/PageUtils.java | 6 +- .../src/main/resources/application.yml | 44 +++--- 33 files changed, 839 insertions(+), 165 deletions(-) create mode 100644 bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml delete mode 100644 bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/EclipseLinkConfig.java diff --git a/bigtop-manager-bom/pom.xml b/bigtop-manager-bom/pom.xml index 72f101ad9..43a93cafc 100644 --- a/bigtop-manager-bom/pom.xml +++ b/bigtop-manager-bom/pom.xml @@ -51,6 +51,8 @@ 1.12.4 8.1.2.192 0.33.0 + 3.0.3 + 2.1.0 @@ -159,13 +161,6 @@ ${jaxb-runtime.version} - - org.hibernate.orm - hibernate-core - ${hibernate-core.version} - provided - - org.apache.commons commons-text @@ -203,6 +198,19 @@ ${oshi-core.version} + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + ${mybatis-spring-boot-starter.version} + + + + com.github.pagehelper + pagehelper-spring-boot-starter + ${pagehelper-spring-boot-starter.version} + + com.dameng diff --git a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java new file mode 100644 index 000000000..d92cf548f --- /dev/null +++ b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java @@ -0,0 +1,41 @@ +/* + * 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.bigtop.manager.common.utils; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ClassUtils { + + /** + * Get all Fields + */ + public static List getFields(Class loadClass) { + List fieldList = new ArrayList<>(); + + while (loadClass != null) { + fieldList.addAll(Arrays.asList(loadClass.getDeclaredFields())); + loadClass = loadClass.getSuperclass(); + } + return fieldList; + } + +} diff --git a/bigtop-manager-dao/pom.xml b/bigtop-manager-dao/pom.xml index 8bf7a5162..96eae894f 100644 --- a/bigtop-manager-dao/pom.xml +++ b/bigtop-manager-dao/pom.xml @@ -49,9 +49,15 @@ - org.springframework.data - spring-data-jpa + org.springframework.boot + spring-boot-starter-data-jpa + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + + org.projectlombok lombok diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java new file mode 100644 index 000000000..67aed6007 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java @@ -0,0 +1,38 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.sql.BaseSqlProvider; +import org.apache.ibatis.annotations.InsertProvider; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.UpdateProvider; + +import java.util.List; +import java.util.Optional; + +public interface BaseMapper { + + /** + * Insert the entity. + */ + @InsertProvider(type = BaseSqlProvider.class, method = "save") + int save(Entity entity); + + /** + * Update the entity by primary key. + */ + @UpdateProvider(type = BaseSqlProvider.class, method = "updateById") + int updateById(Entity entity); + + /** + * Query the entity by primary key. + */ + @SelectProvider(type = BaseSqlProvider.class, method = "findById") + Optional findById(Long id); + + /** + * Query all entities. + */ + @SelectProvider(type = BaseSqlProvider.class, method = "findAll") + List findAll(); + + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java new file mode 100644 index 000000000..e597998d6 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java @@ -0,0 +1,14 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.ClusterPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Optional; + +public interface ClusterMapper extends BaseMapper { + + Optional findByClusterName(@Param("clusterName") String clusterName); + + Integer count(); + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java new file mode 100644 index 000000000..c9629bc7e --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java @@ -0,0 +1,7 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.HostPO; + +public interface HostMapper extends BaseMapper { + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java new file mode 100644 index 000000000..966534b48 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java @@ -0,0 +1,14 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.JobPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface JobMapper extends BaseMapper { + + List findAllByClusterId(@Param("clusterId") Long clusterId); + + List findAllByClusterIsNull(); + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java new file mode 100644 index 000000000..cc806013a --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java @@ -0,0 +1,18 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.ClusterPO; +import org.apache.bigtop.manager.dao.po.RepoPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Optional; + +public interface RepoMapper extends BaseMapper { + + Optional findByRepoName(@Param("repoName") String clusterName); + + int saveAll(@Param("clusters") List repos); + + List findAllByClusterId(@Param("clusterId") Long clusterId); + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java new file mode 100644 index 000000000..185f0cee9 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java @@ -0,0 +1,10 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.StackPO; +import org.apache.ibatis.annotations.Param; + +public interface StackMapper extends BaseMapper { + + StackPO findByStackNameAndStackVersion(@Param("stackName") String stackName, @Param("stackVersion") String stackVersion); + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java new file mode 100644 index 000000000..a6e4037d8 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java @@ -0,0 +1,8 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.StagePO; + +public interface StageMapper extends BaseMapper { + + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java new file mode 100644 index 000000000..bb85fcc5c --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java @@ -0,0 +1,8 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.TaskPO; + +public interface TaskMapper extends BaseMapper { + + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java new file mode 100644 index 000000000..f88c655b3 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java @@ -0,0 +1,7 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.UserPO; + +public interface UserMapper extends BaseMapper { + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java index 819f0c6a0..a1319b4c5 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java @@ -18,22 +18,17 @@ */ package org.apache.bigtop.manager.dao.po; +import jakarta.persistence.Column; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedDate; -import org.springframework.data.jpa.domain.support.AuditingEntityListener; import lombok.Data; -import jakarta.persistence.Column; -import jakarta.persistence.EntityListeners; -import jakarta.persistence.MappedSuperclass; import java.sql.Timestamp; @Data -@MappedSuperclass -@EntityListeners(AuditingEntityListener.class) public abstract class BasePO { @CreatedDate diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java index 5e6015b89..59be04c90 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java @@ -84,6 +84,9 @@ public class ClusterPO extends BasePO { @Column(name = "selected") private Boolean selected; + @Column(name = "stack_id") + private Long stackId; + @ManyToOne @JoinColumn(name = "stack_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private StackPO stackPO; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java index f7ffceb8b..17a82f0b7 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java @@ -40,6 +40,7 @@ import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; + import java.util.List; @Data @@ -67,6 +68,9 @@ public class JobPO extends BasePO { @Column(name = "\"context\"", length = 16777216) private String context; + @Column(name = "cluster_id") + private Long clusterId; + @ManyToOne @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private ClusterPO clusterPO; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java index 7678a3924..270beab75 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java @@ -40,6 +40,7 @@ import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; + import java.util.List; @Data @@ -48,8 +49,8 @@ @Table( name = "stage", indexes = { - @Index(name = "idx_stage_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_stage_job_id", columnList = "job_id") + @Index(name = "idx_stage_cluster_id", columnList = "cluster_id"), + @Index(name = "idx_stage_job_id", columnList = "job_id") }) @TableGenerator(name = "stage_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") public class StagePO extends BasePO { @@ -79,6 +80,12 @@ public class StagePO extends BasePO { @Column(name = "\"context\"", length = 16777216) private String context; + @Column(name = "job_id") + private Long jobId; + + @Column(name = "cluster_id") + private Long clusterId; + @ManyToOne @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private JobPO jobPO; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java index c58e5c44d..7921e02da 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java @@ -46,9 +46,9 @@ @Table( name = "\"task\"", indexes = { - @Index(name = "idx_task_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_task_job_id", columnList = "job_id"), - @Index(name = "idx_task_stage_id", columnList = "stage_id") + @Index(name = "idx_task_cluster_id", columnList = "cluster_id"), + @Index(name = "idx_task_job_id", columnList = "job_id"), + @Index(name = "idx_task_stage_id", columnList = "stage_id") }) @TableGenerator(name = "task_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") public class TaskPO extends BasePO { @@ -98,6 +98,15 @@ public class TaskPO extends BasePO { @Column(name = "content", length = 16777216) private String content; + @Column(name = "stage_id") + private Long stageId; + + @Column(name = "job_id") + private Long jobId; + + @Column(name = "cluster_id") + private Long clusterId; + @ManyToOne @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private JobPO jobPO; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java new file mode 100644 index 000000000..858ed232c --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java @@ -0,0 +1,66 @@ +package org.apache.bigtop.manager.dao.sql; + +import lombok.extern.slf4j.Slf4j; +import org.apache.bigtop.manager.dao.mapper.BaseMapper; +import org.apache.ibatis.builder.annotation.ProviderContext; +import org.springframework.core.ResolvableType; +import org.springframework.util.Assert; + +import java.lang.reflect.Type; + +@Slf4j +public class BaseSqlProvider { + + public String save(Entity entity, ProviderContext context) { + Assert.notNull(entity, "entity must not null"); + + String databaseId = context.getDatabaseId(); + + Class entityClass = entity.getClass(); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.insert(mataData, entity, databaseId); + } + + public String updateById(Entity entity, ProviderContext context) { + Assert.notNull(entity, "entity must not null"); + + String databaseId = context.getDatabaseId(); + + Class entityClass = entity.getClass(); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.update(mataData, entity, databaseId); + } + + public String findById(ProviderContext context) { + String databaseId = context.getDatabaseId(); + + Class entityClass = getEntityClass(context); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.selectById(mataData, databaseId); + } + + public String findAll(ProviderContext context) { + String databaseId = context.getDatabaseId(); + + Class entityClass = getEntityClass(context); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.selectAll(mataData, databaseId); + + } + + private Class getEntityClass(ProviderContext context) { + Class mapperType = context.getMapperType(); + for (Type parent : mapperType.getGenericInterfaces()) { + ResolvableType parentType = ResolvableType.forType(parent); + if (parentType.getRawClass() == BaseMapper.class) { + return parentType.getGeneric(0).getRawClass(); + } + } + return null; + } + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java new file mode 100644 index 000000000..8da6248e1 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -0,0 +1,127 @@ +package org.apache.bigtop.manager.dao.sql; + +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.jdbc.SQL; +import org.springframework.beans.BeanUtils; +import org.springframework.util.ObjectUtils; +import org.springframework.util.ReflectionUtils; + +import java.beans.PropertyDescriptor; +import java.util.Map; +import java.util.Objects; + +/** + * Multiple data source support + */ +@Slf4j +public class SQLBuilder { + + public static String insert(TableMataData mataData, Entity entity, String databaseId) { + Class entityClass = entity.getClass(); + Map fieldColumnMap = mataData.getFieldColumnMap(); + + SQL sql = new SQL(); + switch (databaseId) { + case "mysql": { + sql.INSERT_INTO(mataData.getTableName()); + for (Map.Entry entry : fieldColumnMap.entrySet()) { + // 忽略主键 + if (Objects.equals(entry.getKey(), mataData.getPkProperty())) { + continue; + } + PropertyDescriptor ps = BeanUtils.getPropertyDescriptor(entityClass, entry.getKey()); + if (ps == null || ps.getReadMethod() == null) { + continue; + } + Object value = ReflectionUtils.invokeMethod(ps.getReadMethod(), entity); + if (!ObjectUtils.isEmpty(value)) { + sql.VALUES(entry.getValue(), getTokenParam(entry.getKey())); + } + } + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + + public static String update(TableMataData mataData, Entity entity, String databaseId) { + Class entityClass = entity.getClass(); + Map fieldColumnMap = mataData.getFieldColumnMap(); + + SQL sql = new SQL(); + switch (databaseId) { + case "mysql": { + sql.UPDATE(mataData.getTableName()); + for (Map.Entry entry : fieldColumnMap.entrySet()) { + // 忽略主键 + if (Objects.equals(entry.getKey(), mataData.getPkProperty())) { + continue; + } + PropertyDescriptor ps = BeanUtils.getPropertyDescriptor(entityClass, entry.getKey()); + if (ps == null || ps.getReadMethod() == null) { + continue; + } + Object value = ReflectionUtils.invokeMethod(ps.getReadMethod(), entity); + if (!ObjectUtils.isEmpty(value)) { + sql.SET(getEquals(entry.getValue(), entry.getKey())); + } + } + + sql.WHERE(getEquals(mataData.getPkColumn(), mataData.getPkProperty())); + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + + public static String selectById(TableMataData mataData, String databaseId) { + + SQL sql = new SQL(); + switch (databaseId) { + case "mysql": { + sql.SELECT(mataData.getBaseColumns()); + sql.FROM(mataData.getTableName()); + sql.WHERE(getEquals(mataData.getPkColumn(), mataData.getPkProperty())); + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + + public static String selectAll(TableMataData mataData, String databaseId) { + + SQL sql = new SQL(); + switch (databaseId) { + case "mysql": { + sql.SELECT(mataData.getBaseColumns()); + sql.FROM(mataData.getTableName()); + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + + private static String getEquals(String column, String property) { + return column + " = " + getTokenParam(property); + } + + private static String getTokenParam(String property) { + return "#{" + property + "}"; + } +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java new file mode 100644 index 000000000..eb39b53e0 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java @@ -0,0 +1,115 @@ +package org.apache.bigtop.manager.dao.sql; + +import jakarta.persistence.Column; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; +import lombok.Getter; +import org.apache.bigtop.manager.common.utils.CaseUtils; +import org.apache.bigtop.manager.common.utils.ClassUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.util.CollectionUtils; + +import java.beans.PropertyDescriptor; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@Getter +public class TableMataData { + + private static final Map, TableMataData> TABLE_CACHE = new ConcurrentHashMap<>(64); + + /** + * tableName + */ + private String tableName; + + /** + * primaryField + */ + private String pkProperty; + + /** + * primaryKey + */ + private String pkColumn; + + /** + * {entityField,column} + */ + private final Map fieldColumnMap = new HashMap<>(); + + /** + * {column,columnType} + */ + private final Map> fieldTypeMap = new HashMap<>(); + + private TableMataData(Class clazz) { + initTableInfo(clazz); + } + + + public static TableMataData forClass(Class entityClass) { + TableMataData tableMataDate = TABLE_CACHE.get(entityClass); + if (tableMataDate == null) { + tableMataDate = new TableMataData(entityClass); + TABLE_CACHE.put(entityClass, tableMataDate); + } + + return tableMataDate; + } + + public String getBaseColumns() { + Collection columns = fieldColumnMap.values(); + if (CollectionUtils.isEmpty(columns)) { + return ""; + } + Iterator iterator = columns.iterator(); + StringBuilder sb = new StringBuilder(); + while (iterator.hasNext()) { + String next = iterator.next(); + sb.append(tableName).append(".").append(next); + if (iterator.hasNext()) { + sb.append(", "); + } + } + return sb.toString(); + } + + private void initTableInfo(Class clazz) { + tableName = clazz.isAnnotationPresent(Table.class) ? clazz.getAnnotation(Table.class).name() + : CaseUtils.toUnderScoreCase(clazz.getSimpleName()); + + //获取父类字段 + List fields = ClassUtils.getFields(clazz); + for (Field field : fields) { + + if (Modifier.isStatic(field.getModifiers()) || + field.isAnnotationPresent(Transient.class) || + !BeanUtils.isSimpleValueType(field.getType())) { + continue; + } + + String property = field.getName(); + Column column = field.getAnnotation(Column.class); + String columnName = column != null ? column.name() : CaseUtils.toUnderScoreCase(property); + + if (field.isAnnotationPresent(Id.class) || (property.equalsIgnoreCase("id") && pkProperty == null)) { + pkProperty = property; + pkColumn = columnName; + } + PropertyDescriptor descriptor = BeanUtils.getPropertyDescriptor(clazz, property); + if (descriptor != null && descriptor.getReadMethod() != null && descriptor.getWriteMethod() != null) { + fieldColumnMap.put(property, columnName); + fieldTypeMap.put(property, field.getType()); + } + } + } + +} diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml new file mode 100644 index 000000000..66aad7ea1 --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + id, cluster_name, cluster_type, root, user_group, packages, repo_template, state, selected, stack_id + + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml new file mode 100644 index 000000000..edeb00cf9 --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + id, state, name, context, cluster_id + + + ${alias}.id, ${alias}.state, ${alias}.name, ${alias}.context, ${alias}.cluster_id + + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml new file mode 100644 index 000000000..97be0689f --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml @@ -0,0 +1,69 @@ + + + + + + + + id, base_url, os, arch, repo_id, repo_name, cluster_id + + + ${alias}.id, ${alias}.base_url, ${alias}.os, ${alias}.arch, ${alias}.repo_id, ${alias}.repo_name, ${alias}.cluster_id + + + + + + insert into repo (cluster_name, cluster_type, root, user_group, packages, repo_template, state, selected) + values + + (#{cluster.clusterName},#{cluster.clusterType},#{cluster.root},#{cluster.userGroup},#{cluster.packages},#{cluster.repoTemplate},#{cluster.state},#{cluster.selected}) + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml new file mode 100644 index 000000000..a8a59de7a --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + id, stack_name, stack_version + + + ${alias}.id, ${alias}.stack_name, ${alias}.stack_version + + + + + \ No newline at end of file diff --git a/bigtop-manager-server/pom.xml b/bigtop-manager-server/pom.xml index c3e6ccf80..b5d88cdbb 100644 --- a/bigtop-manager-server/pom.xml +++ b/bigtop-manager-server/pom.xml @@ -71,21 +71,6 @@ - - org.hibernate.orm - hibernate-core - - - - org.eclipse.persistence - org.eclipse.persistence.jpa - - - - org.eclipse.persistence - org.eclipse.persistence.extension - - org.springframework.boot spring-boot-starter-web @@ -101,10 +86,15 @@ spring-boot-starter-validation + + com.github.pagehelper + pagehelper-spring-boot-starter + + com.mysql mysql-connector-j - provided + diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/EclipseLinkConfig.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/EclipseLinkConfig.java deleted file mode 100644 index 96e612e89..000000000 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/EclipseLinkConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.server.config; - -import org.springframework.beans.factory.ObjectProvider; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration; -import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties; -import org.springframework.context.annotation.Configuration; -import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter; -import org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter; -import org.springframework.transaction.jta.JtaTransactionManager; - -import jakarta.annotation.Resource; -import javax.sql.DataSource; -import java.util.HashMap; -import java.util.Map; - -@Configuration -@ConditionalOnProperty(value = "bigtop.manager.orm.type", havingValue = "eclipselink", matchIfMissing = true) -public class EclipseLinkConfig extends JpaBaseConfiguration { - - @Resource - private JpaProperties properties; - - protected EclipseLinkConfig(DataSource ds, JpaProperties props, ObjectProvider txm) { - super(ds, props, txm); - } - - @Override - protected AbstractJpaVendorAdapter createJpaVendorAdapter() { - return new EclipseLinkJpaVendorAdapter(); - } - - @Override - protected Map getVendorProperties() { - return new HashMap<>(properties.getProperties()); - } -} diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/query/PageQuery.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/query/PageQuery.java index d33cd9a71..03ac79af2 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/query/PageQuery.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/query/PageQuery.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.server.model.query; -import org.springframework.data.domain.Sort; - import lombok.Data; @Data @@ -29,5 +27,5 @@ public class PageQuery { private Integer pageSize; - private Sort sort; + private String orderBy; } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java index cd8cd56da..75187423f 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java @@ -18,6 +18,7 @@ */ package org.apache.bigtop.manager.server.model.vo; +import com.github.pagehelper.PageInfo; import org.apache.bigtop.manager.server.exception.ServerException; import org.mapstruct.factory.Mappers; @@ -65,4 +66,27 @@ public static PageVO of(Page page) { res.setTotal(page.getTotalElements()); return res; } + + @SuppressWarnings("unchecked") + public static PageVO of(PageInfo page) { + List content = new ArrayList<>(); + if (page.hasContent()) { + try { + Class clz = (Class) page.getList().get(0).getClass(); + String className = "org.apache.bigtop.manager.server.model.converter." + + clz.getSimpleName().replace("PO", "") + "Converter"; + Class mapper = Class.forName(className); + Object o = Mappers.getMapper(mapper); + Method method = o.getClass().getDeclaredMethod("fromPO2VO", List.class); + content = (List) method.invoke(o, page.getList()); + } catch (Exception e) { + throw new ServerException(e); + } + } + + PageVO res = new PageVO<>(); + res.setContent(content); + res.setTotal(page.getTotal()); + return res; + } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java index 7b53820f1..67a5ce185 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java @@ -19,12 +19,12 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.MaintainState; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.RepoMapper; +import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.RepoPO; import org.apache.bigtop.manager.dao.po.StackPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; -import org.apache.bigtop.manager.dao.repository.RepoRepository; -import org.apache.bigtop.manager.dao.repository.StackRepository; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.converter.ClusterConverter; @@ -41,6 +41,7 @@ import lombok.extern.slf4j.Slf4j; import jakarta.annotation.Resource; + import java.util.ArrayList; import java.util.List; @@ -49,13 +50,13 @@ public class ClusterServiceImpl implements ClusterService { @Resource - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; @Resource - private RepoRepository repoRepository; + private RepoMapper repoMapper; @Resource - private StackRepository stackRepository; + private StackMapper stackMapper; @Resource private HostService hostService; @@ -63,7 +64,7 @@ public class ClusterServiceImpl implements ClusterService { @Override public List list() { List clusterVOList = new ArrayList<>(); - clusterRepository.findAll().forEach(cluster -> { + clusterMapper.findAll().forEach(cluster -> { ClusterVO clusterVO = ClusterConverter.INSTANCE.fromEntity2VO(cluster); clusterVOList.add(clusterVO); }); @@ -75,26 +76,26 @@ public List list() { public ClusterVO save(ClusterDTO clusterDTO) { // Save cluster StackPO stackPO = - stackRepository.findByStackNameAndStackVersion(clusterDTO.getStackName(), clusterDTO.getStackVersion()); + stackMapper.findByStackNameAndStackVersion(clusterDTO.getStackName(), clusterDTO.getStackVersion()); StackDTO stackDTO = StackUtils.getStackKeyMap() .get(StackUtils.fullStackName(clusterDTO.getStackName(), clusterDTO.getStackVersion())) .getLeft(); ClusterPO clusterPO = ClusterConverter.INSTANCE.fromDTO2PO(clusterDTO, stackDTO, stackPO); - clusterPO.setSelected(clusterRepository.count() == 0); + clusterPO.setSelected(clusterMapper.count() == 0); clusterPO.setState(MaintainState.UNINSTALLED); ClusterPO oldClusterPO = - clusterRepository.findByClusterName(clusterDTO.getClusterName()).orElse(new ClusterPO()); + clusterMapper.findByClusterName(clusterDTO.getClusterName()).orElse(new ClusterPO()); if (oldClusterPO.getId() != null) { clusterPO.setId(oldClusterPO.getId()); } - clusterRepository.save(clusterPO); + clusterMapper.save(clusterPO); hostService.batchSave(clusterPO.getId(), clusterDTO.getHostnames()); // Save repo List repoPOList = RepoConverter.INSTANCE.fromDTO2PO(clusterDTO.getRepoInfoList(), clusterPO); - List oldrepoPOList = repoRepository.findAllByClusterPO(clusterPO); + List oldrepoPOList = repoMapper.findAllByClusterId(clusterPO.getId()); for (RepoPO repoPO : repoPOList) { for (RepoPO oldRepoPO : oldrepoPOList) { @@ -105,14 +106,14 @@ public ClusterVO save(ClusterDTO clusterDTO) { } } - repoRepository.saveAll(repoPOList); + repoMapper.saveAll(repoPOList); return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } @Override public ClusterVO get(Long id) { ClusterPO clusterPO = - clusterRepository.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND)); + clusterMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND)); return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } @@ -121,7 +122,7 @@ public ClusterVO get(Long id) { public ClusterVO update(Long id, ClusterDTO clusterDTO) { ClusterPO clusterPO = ClusterConverter.INSTANCE.fromDTO2PO(clusterDTO); clusterPO.setId(id); - clusterRepository.save(clusterPO); + clusterMapper.updateById(clusterPO); return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java index 05aa6dea5..82cef5cbd 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java @@ -18,14 +18,16 @@ */ package org.apache.bigtop.manager.server.service.impl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.JobMapper; +import org.apache.bigtop.manager.dao.mapper.StageMapper; +import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.JobRepository; -import org.apache.bigtop.manager.dao.repository.StageRepository; -import org.apache.bigtop.manager.dao.repository.TaskRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.command.factory.JobFactories; import org.apache.bigtop.manager.server.command.factory.JobFactory; @@ -44,25 +46,23 @@ import org.apache.bigtop.manager.server.utils.ClusterUtils; import org.apache.bigtop.manager.server.utils.PageUtils; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; + import java.util.List; @Service public class JobServiceImpl implements JobService { @Resource - private JobRepository jobRepository; + private JobMapper jobMapper; @Resource - private StageRepository stageRepository; + private StageMapper stageMapper; @Resource - private TaskRepository taskRepository; + private TaskMapper taskMapper; @Resource private JobScheduler jobScheduler; @@ -70,26 +70,28 @@ public class JobServiceImpl implements JobService { @Override public PageVO list(Long clusterId) { PageQuery pageQuery = PageUtils.getPageQuery(); - Pageable pageable = PageRequest.of(pageQuery.getPageNum(), pageQuery.getPageSize(), pageQuery.getSort()); - Page page; + + PageHelper.startPage(pageQuery.getPageNum(), pageQuery.getPageSize(), pageQuery.getOrderBy()); + List jobPOList; if (ClusterUtils.isNoneCluster(clusterId)) { - page = jobRepository.findAllByClusterPOIsNull(pageable); + jobPOList = jobMapper.findAllByClusterIsNull(); } else { - page = jobRepository.findAllByClusterPOId(clusterId, pageable); + jobPOList = jobMapper.findAllByClusterId(clusterId); } + PageInfo pageInfo = new PageInfo<>(jobPOList); - return PageVO.of(page); + return PageVO.of(pageInfo); } @Override public JobVO get(Long id) { - JobPO jobPO = jobRepository.getReferenceById(id); + JobPO jobPO = jobMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); return JobConverter.INSTANCE.fromPO2VO(jobPO); } @Override public JobVO retry(Long id) { - JobPO jobPO = jobRepository.getReferenceById(id); + JobPO jobPO = jobMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); if (jobPO.getState() != JobState.FAILED) { throw new ApiException(ApiExceptionEnum.JOB_NOT_RETRYABLE); } @@ -105,15 +107,15 @@ private void resetJobStatusInDB(JobPO jobPO) { for (StagePO stagePO : jobPO.getStagePOList()) { for (TaskPO taskPO : stagePO.getTaskPOList()) { taskPO.setState(JobState.PENDING); - taskRepository.save(taskPO); + taskMapper.updateById(taskPO); } stagePO.setState(JobState.PENDING); - stageRepository.save(stagePO); + stageMapper.updateById(stagePO); } jobPO.setState(JobState.PENDING); - jobRepository.save(jobPO); + jobMapper.updateById(jobPO); } private Job recreateJob(JobPO jobPO) { diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java index c8165fce9..cf6fa4a22 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; +import org.apache.bigtop.manager.dao.mapper.UserMapper; import org.apache.bigtop.manager.dao.po.UserPO; -import org.apache.bigtop.manager.dao.repository.UserRepository; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.holder.SessionUserHolder; @@ -36,21 +36,21 @@ public class UserServiceImpl implements UserService { @Resource - private UserRepository userRepository; + private UserMapper userMapper; @Override public UserVO current() { Long id = SessionUserHolder.getUserId(); - UserPO userPO = userRepository.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = userMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); return UserConverter.INSTANCE.fromPO2VO(userPO); } @Override public UserVO update(UserDTO userDTO) { Long id = SessionUserHolder.getUserId(); - UserPO userPO = userRepository.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = userMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); userPO.setNickname(userDTO.getNickname()); - userRepository.save(userPO); + userMapper.updateById(userPO); return UserConverter.INSTANCE.fromPO2VO(userPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java index 1c8d0f387..f035b0a14 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java @@ -23,8 +23,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; -import org.springframework.data.domain.Sort; - public class PageUtils { private static final String PAGE_NUM = "pageNum"; @@ -53,9 +51,9 @@ public static PageQuery getPageQuery() { String orderBy = StringUtils.defaultIfBlank(ServletUtils.getParameter(ORDER_BY), DEFAULT_ORDER_BY); String sort = StringUtils.defaultIfBlank(ServletUtils.getParameter(SORT), SORT_ASC); if (SORT_DESC.equals(sort)) { - query.setSort(Sort.by(orderBy).descending()); + query.setOrderBy("ORDER BY " + orderBy + " DESC "); } else { - query.setSort(Sort.by(orderBy).ascending()); + query.setOrderBy("ORDER BY " + orderBy + " ASC "); } return query; diff --git a/bigtop-manager-server/src/main/resources/application.yml b/bigtop-manager-server/src/main/resources/application.yml index 8cb54a728..2fab0f1d3 100644 --- a/bigtop-manager-server/src/main/resources/application.yml +++ b/bigtop-manager-server/src/main/resources/application.yml @@ -33,10 +33,10 @@ spring: main: banner-mode: log datasource: - driver-class-name: org.postgresql.Driver - url: jdbc:postgresql://localhost:5432/bigtop_manager - username: postgres - password: postgres + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://192.168.1.81:3306/bigtop_manager + username: root + password: root type: com.zaxxer.hikari.HikariDataSource hikari: auto-commit: true @@ -54,29 +54,6 @@ spring: jackson: default-property-inclusion: non-null - jpa: - show-sql: true - properties: - eclipselink: - ddl-generation: create-or-extend-tables - weaving: false - persistence-context: - persist-on-commit: false - cache: - shared: - default: false - logging: - connection: false - logger: org.eclipse.persistence.logging.slf4j.SLF4JLogger - parameters: true - session: false - thread: false - timestamp: false - level: - connection: FINE - sql: FINEST - jpa: FINER - messages: basename: i18n/messages @@ -90,4 +67,15 @@ springdoc: monitoring: prometheus-host: "http://localhost:9090" - agent-host-job-name: "bm-agent-host" \ No newline at end of file + agent-host-job-name: "bm-agent-host" + +mybatis: + mapper-locations: classpath*:mapper/**/*Mapper.xml + configuration: + map-underscore-to-camel-case: true + database-id: mysql + +pagehelper: + reasonable: false + supportMethodsArguments: true + params: count=countSql \ No newline at end of file From ab72db991cb218e235386a8b604905e6d026b029 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Fri, 23 Aug 2024 00:35:29 +0800 Subject: [PATCH 02/17] update --- .../manager/dao/mapper/AuditLogMapper.java | 6 ++ .../bigtop/manager/dao/mapper/BaseMapper.java | 22 ++++- .../manager/dao/mapper/ComponentMapper.java | 16 ++++ .../dao/mapper/HostComponentMapper.java | 28 ++++++ .../bigtop/manager/dao/mapper/HostMapper.java | 16 ++++ .../dao/mapper/ServiceConfigMapper.java | 8 ++ .../manager/dao/mapper/ServiceMapper.java | 14 +++ .../manager/dao/mapper/SettingMapper.java | 8 ++ .../manager/dao/mapper/TypeConfigMapper.java | 8 ++ .../bigtop/manager/dao/mapper/UserMapper.java | 2 + .../bigtop/manager/dao/po/ClusterPO.java | 7 -- .../bigtop/manager/dao/po/ComponentPO.java | 15 ++-- .../manager/dao/po/HostComponentPO.java | 15 ++-- .../apache/bigtop/manager/dao/po/HostPO.java | 10 +-- .../apache/bigtop/manager/dao/po/JobPO.java | 8 -- .../apache/bigtop/manager/dao/po/RepoPO.java | 16 ++-- .../manager/dao/po/ServiceConfigPO.java | 20 ++--- .../bigtop/manager/dao/po/ServicePO.java | 15 ++-- .../apache/bigtop/manager/dao/po/StagePO.java | 12 --- .../apache/bigtop/manager/dao/po/TaskPO.java | 15 ---- .../bigtop/manager/dao/po/TypeConfigPO.java | 10 +-- .../dao/repository/AuditLogRepository.java | 25 ------ .../dao/repository/ClusterRepository.java | 30 ------- .../dao/repository/ComponentRepository.java | 36 -------- .../dao/repository/UserRepository.java | 28 ------ .../manager/dao/sql/BaseSqlProvider.java | 18 +++- .../bigtop/manager/dao/sql/SQLBuilder.java | 27 +++++- .../mapper/mysql/ComponentMapper.xml | 89 +++++++++++++++++++ .../main/resources/mapper/mysql/JobMapper.xml | 19 ++-- .../resources/mapper/mysql/RepoMapper.xml | 19 ++-- .../resources/mapper/mysql/StackMapper.xml | 11 +-- .../resources/mapper/mysql/UserMapper.xml | 43 +++++++++ .../manager/server/aop/AuditAspect.java | 6 +- .../server/command/job/AbstractJob.java | 12 ++- .../command/job/AbstractServiceJob.java | 32 ++++--- .../command/stage/AbstractComponentStage.java | 8 +- .../server/command/stage/HostCheckStage.java | 8 +- .../command/task/AbstractComponentTask.java | 6 +- .../command/task/CacheFileUpdateTask.java | 16 ++-- .../validator/ClusterCreateValidator.java | 6 +- .../validator/RequiredServicesValidator.java | 6 +- .../service/impl/ClusterServiceImpl.java | 2 +- .../service/impl/CommandServiceImpl.java | 6 +- .../service/impl/ComponentServiceImpl.java | 10 +-- .../service/impl/ConfigServiceImpl.java | 10 +-- .../impl/HostComponentServiceImpl.java | 8 -- .../server/service/impl/HostServiceImpl.java | 6 +- .../server/service/impl/JobServiceImpl.java | 4 +- .../server/service/impl/LoginServiceImpl.java | 6 +- .../server/service/impl/UserServiceImpl.java | 4 +- .../manager/server/aop/AuditAspectTest.java | 10 +-- 51 files changed, 432 insertions(+), 350 deletions(-) create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java create mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserRepository.java create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/UserMapper.xml diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java new file mode 100644 index 000000000..4418a8c01 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java @@ -0,0 +1,6 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.AuditLogPO; + +public interface AuditLogMapper extends BaseMapper { +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java index 67aed6007..4c0000210 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.SelectProvider; import org.apache.ibatis.annotations.UpdateProvider; +import java.util.Collection; import java.util.List; import java.util.Optional; @@ -13,7 +14,7 @@ public interface BaseMapper { /** * Insert the entity. */ - @InsertProvider(type = BaseSqlProvider.class, method = "save") + @InsertProvider(type = BaseSqlProvider.class, method = "insert") int save(Entity entity); /** @@ -25,13 +26,26 @@ public interface BaseMapper { /** * Query the entity by primary key. */ - @SelectProvider(type = BaseSqlProvider.class, method = "findById") - Optional findById(Long id); + @SelectProvider(type = BaseSqlProvider.class, method = "selectById") + Entity findById(Long id); + + /** + * Query the entity by primary key. + */ + default Optional findOptionalById(Long id) { + return Optional.ofNullable(findById(id)); + } + + /** + * Query the entity by primary key. + */ + @SelectProvider(type = BaseSqlProvider.class, method = "selectByIds") + List findByIds(Collection ids); /** * Query all entities. */ - @SelectProvider(type = BaseSqlProvider.class, method = "findAll") + @SelectProvider(type = BaseSqlProvider.class, method = "selectAll") List findAll(); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java new file mode 100644 index 000000000..cfc1d73ed --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java @@ -0,0 +1,16 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.ComponentPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ComponentMapper extends BaseMapper { + + ComponentPO findByClusterIdAndComponentName(@Param("clusterId") Long clusterId, @Param("componentName") String componentName); + + List findAllByClusterId(@Param("clusterId") Long clusterId); + + List findAllByClusterIdAndServiceServiceNameIn(@Param("clusterId") Long clusterId, @Param("serviceNames") List serviceNames); + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java new file mode 100644 index 000000000..4c503cd22 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java @@ -0,0 +1,28 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.HostComponentPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface HostComponentMapper extends BaseMapper { + + List findAllByClusterIdAndComponentName( + @Param("clusterId") Long clusterId, @Param("componentName") String componentName); + + HostComponentPO findByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostname( + Long clusterId, String componentName, String hostnames); + + List findAllByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostnameIn( + Long clusterId, String componentName, List hostnames); + + List findAllByComponentPOClusterPOId(Long clusterId); + + HostComponentPO findByComponentPOComponentNameAndHostPOHostname(String componentName, String hostName); + + List findAllByComponentPOClusterPOIdAndHostPOId(Long clusterId, Long componentId); + + List findAllByComponentPOClusterPOIdAndComponentPOServicePOId(Long clusterId, Long serviceId); + + List findAllByComponentPOServicePOId(Long serviceId); +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java index c9629bc7e..c750366c9 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java @@ -1,7 +1,23 @@ package org.apache.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; + +import java.util.Collection; +import java.util.List; public interface HostMapper extends BaseMapper { + HostPO findByHostname(String hostname); + + List findAllByHostnameIn(Collection hostnames); + + List findAllByClusterPOIdAndHostnameIn(Long clusterId, Collection hostnames); + + List findAllByClusterPOId(Long clusterId); + + Page findAllByClusterPOId(Long clusterId, Pageable pageable); + + List findAllByClusterPOClusterName(String clusterName); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java new file mode 100644 index 000000000..e371cdb13 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java @@ -0,0 +1,8 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.ServiceConfigPO; + +public interface ServiceConfigMapper extends BaseMapper { + + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java new file mode 100644 index 000000000..8eaa13708 --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java @@ -0,0 +1,14 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.ServicePO; + +import java.util.List; + +public interface ServiceMapper extends BaseMapper { + + List findAllByClusterPOId(Long clusterId); + + ServicePO findByClusterPOIdAndServiceName(Long clusterId, String serviceName); + + List findByClusterPOIdAndServiceNameIn(Long clusterId, List serviceNames); +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java new file mode 100644 index 000000000..bdc07065c --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java @@ -0,0 +1,8 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.SettingPO; + +public interface SettingMapper extends BaseMapper { + + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java new file mode 100644 index 000000000..1009412cf --- /dev/null +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java @@ -0,0 +1,8 @@ +package org.apache.bigtop.manager.dao.mapper; + +import org.apache.bigtop.manager.dao.po.TypeConfigPO; + +public interface TypeConfigMapper extends BaseMapper { + + +} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java index f88c655b3..1be4ba662 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java @@ -1,7 +1,9 @@ package org.apache.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.UserPO; +import org.apache.ibatis.annotations.Param; public interface UserMapper extends BaseMapper { + UserPO findByUsername(@Param("username") String username); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java index 59be04c90..a36e70cf3 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java @@ -24,15 +24,11 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; @@ -87,7 +83,4 @@ public class ClusterPO extends BasePO { @Column(name = "stack_id") private Long stackId; - @ManyToOne - @JoinColumn(name = "stack_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private StackPO stackPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java index d5e530a80..326668b7f 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java @@ -23,17 +23,13 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; @@ -84,11 +80,10 @@ public class ComponentPO extends BasePO { @Column(name = "quick_link") private String quickLink; - @ManyToOne - @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ServicePO servicePO; + @Column(name = "service_id") + private Long serviceId; + + @Column(name = "cluster_id") + private Long clusterId; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java index 74fe6afee..153dd96f6 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java @@ -24,15 +24,11 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -60,11 +56,10 @@ public class HostComponentPO extends BasePO { @Column(name = "state") private MaintainState state; - @ManyToOne - @JoinColumn(name = "host_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private HostPO hostPO; + @Column(name = "host_id") + private Long hostId; + + @Column(name = "component_id") + private Long componentId; - @ManyToOne - @JoinColumn(name = "component_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ComponentPO componentPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java index 36df7fe9f..d5b6d0418 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java @@ -24,15 +24,11 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; @@ -89,7 +85,7 @@ public class HostPO extends BasePO { @Column(name = "state") private MaintainState state; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; + @Column(name = "cluster_id") + private Long clusterId; + } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java index 17a82f0b7..2c7a9f958 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java @@ -26,17 +26,13 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -71,10 +67,6 @@ public class JobPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; - @ToString.Exclude @OneToMany(mappedBy = "jobPO") private List stagePOList; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java index d0a922a4c..bd1f23281 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java @@ -22,15 +22,11 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; @@ -41,9 +37,9 @@ @Table( name = "repo", uniqueConstraints = { - @UniqueConstraint( - name = "uk_repo_id", - columnNames = {"repo_id", "os", "arch", "cluster_id"}) + @UniqueConstraint( + name = "uk_repo_id", + columnNames = {"repo_id", "os", "arch", "cluster_id"}) }, indexes = {@Index(name = "idx_repo_cluster_id", columnList = "cluster_id")}) @TableGenerator(name = "repo_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") @@ -72,7 +68,7 @@ public class RepoPO extends BasePO { @Column(name = "repo_type") private String repoType; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; + @Column(name = "cluster_id") + private Long clusterId; + } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java index fe8856d6d..1ee8fd6d9 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java @@ -23,18 +23,15 @@ import lombok.ToString; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; + import java.util.List; @Data @@ -43,8 +40,8 @@ @Table( name = "service_config", indexes = { - @Index(name = "idx_sc_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_sc_service_id", columnList = "service_id") + @Index(name = "idx_sc_cluster_id", columnList = "cluster_id"), + @Index(name = "idx_sc_service_id", columnList = "service_id") }) @TableGenerator( name = "service_config_generator", @@ -71,11 +68,10 @@ public class ServiceConfigPO extends BasePO { @OneToMany(mappedBy = "serviceConfigPO") private List configs; - @ManyToOne - @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ServicePO servicePO; + @Column(name = "service_id") + private Long serviceId; + + @Column(name = "cluster_id") + private Long clusterId; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java index 51a7369b8..55604b7b7 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java @@ -22,15 +22,11 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; @@ -41,9 +37,9 @@ @Table( name = "service", uniqueConstraints = { - @UniqueConstraint( - name = "uk_service_name", - columnNames = {"service_name", "cluster_id"}) + @UniqueConstraint( + name = "uk_service_name", + columnNames = {"service_name", "cluster_id"}) }, indexes = {@Index(name = "idx_service_cluster_id", columnList = "cluster_id")}) @TableGenerator( @@ -79,7 +75,6 @@ public class ServicePO extends BasePO { @Column(name = "required_services") private String requiredServices; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; + @Column(name = "cluster_id") + private Long clusterId; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java index 270beab75..53d4a97fd 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java @@ -26,17 +26,13 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -86,14 +82,6 @@ public class StagePO extends BasePO { @Column(name = "cluster_id") private Long clusterId; - @ManyToOne - @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private JobPO jobPO; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; - @ToString.Exclude @OneToMany(mappedBy = "stagePO") private List taskPOList; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java index 7921e02da..87db0bd97 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java @@ -26,17 +26,13 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -107,15 +103,4 @@ public class TaskPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; - @ManyToOne - @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private JobPO jobPO; - - @ManyToOne - @JoinColumn(name = "stage_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private StagePO stagePO; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java index 919060cbd..dd4df2d87 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java @@ -23,16 +23,12 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -60,7 +56,7 @@ public class TypeConfigPO extends BasePO { @Column(name = "properties_json", length = 16777216) private String propertiesJson; - @ManyToOne - @JoinColumn(name = "service_config_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ServiceConfigPO serviceConfigPO; + @Column(name = "service_config_id") + private Long serviceConfigId; + } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogRepository.java deleted file mode 100644 index 7564a4e75..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogRepository.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.AuditLogPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface AuditLogRepository extends JpaRepository {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterRepository.java deleted file mode 100644 index fceb8bff2..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.ClusterPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.Optional; - -public interface ClusterRepository extends JpaRepository { - - Optional findByClusterName(String clusterName); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentRepository.java deleted file mode 100644 index 074f5b6b9..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentRepository.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.ComponentPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface ComponentRepository extends JpaRepository { - - ComponentPO findByClusterPOIdAndComponentName(Long clusterId, String componentName); - - List findAllByClusterPOIdAndComponentNameIn(Long clusterId, List componentNames); - - List findAllByClusterPOId(Long clusterId); - - List findAllByClusterPOIdAndServicePOServiceNameIn(Long clusterId, List serviceNames); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserRepository.java deleted file mode 100644 index ee55af280..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserRepository.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.UserPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface UserRepository extends JpaRepository { - - UserPO findByUsername(String username); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java index 858ed232c..1c6e01598 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java @@ -7,11 +7,12 @@ import org.springframework.util.Assert; import java.lang.reflect.Type; +import java.util.Collection; @Slf4j public class BaseSqlProvider { - public String save(Entity entity, ProviderContext context) { + public String insert(Entity entity, ProviderContext context) { Assert.notNull(entity, "entity must not null"); String databaseId = context.getDatabaseId(); @@ -33,16 +34,25 @@ public String updateById(Entity entity, ProviderContext context) { return SQLBuilder.update(mataData, entity, databaseId); } - public String findById(ProviderContext context) { + public String selectById(Long id, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); TableMataData mataData = TableMataData.forClass(entityClass); - return SQLBuilder.selectById(mataData, databaseId); + return SQLBuilder.selectById(mataData, databaseId, id); } - public String findAll(ProviderContext context) { + public String selectByIds(Collection ids, ProviderContext context) { + String databaseId = context.getDatabaseId(); + + Class entityClass = getEntityClass(context); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.selectByIds(mataData, databaseId, ids); + } + + public String selectAll(ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java index 8da6248e1..a5b8c9331 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -1,14 +1,17 @@ package org.apache.bigtop.manager.dao.sql; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.jdbc.SQL; import org.springframework.beans.BeanUtils; import org.springframework.util.ObjectUtils; import org.springframework.util.ReflectionUtils; import java.beans.PropertyDescriptor; +import java.util.Collection; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; /** * Multiple data source support @@ -82,14 +85,33 @@ public static String update(TableMataData mataData, Entity entity, Stri return sql.toString(); } - public static String selectById(TableMataData mataData, String databaseId) { + public static String selectById(TableMataData mataData, String databaseId, Long id) { SQL sql = new SQL(); switch (databaseId) { case "mysql": { sql.SELECT(mataData.getBaseColumns()); sql.FROM(mataData.getTableName()); - sql.WHERE(getEquals(mataData.getPkColumn(), mataData.getPkProperty())); + sql.WHERE(mataData.getPkColumn() + " = '" + id + "'"); + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + + public static String selectByIds(TableMataData mataData, String databaseId, Collection ids) { + + SQL sql = new SQL(); + switch (databaseId) { + case "mysql": { + String idsStr = ids.stream().map(String::valueOf).collect(Collectors.joining("', '")); + sql.SELECT(mataData.getBaseColumns()); + sql.FROM(mataData.getTableName()); + sql.WHERE(mataData.getPkColumn() + " in ('" + idsStr + "')"); break; } default: { @@ -124,4 +146,5 @@ private static String getEquals(String column, String property) { private static String getTokenParam(String property) { return "#{" + property + "}"; } + } diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml new file mode 100644 index 000000000..8764c65be --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml @@ -0,0 +1,89 @@ + + + + + + + + id, component_name, display_name, command_script, custom_commands, category, quick_link, service_id, cluster_id + + + ${alias}.id, ${alias}.component_name, ${alias}.command_script, ${alias}.custom_commands, ${alias}.category, ${alias}.quick_link, ${alias}.service_id, ${alias}.cluster_id + + + + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml index edeb00cf9..469ce41b7 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml @@ -26,23 +26,18 @@ id, state, name, context, cluster_id - - ${alias}.id, ${alias}.state, ${alias}.name, ${alias}.context, ${alias}.cluster_id - select @@ -54,16 +51,14 @@ \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml index a8a59de7a..04c3c0262 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml @@ -26,23 +26,18 @@ id, stack_name, stack_version - - ${alias}.id, ${alias}.stack_name, ${alias}.stack_version - + select + + from + user + + + username=#{username} + + + limit 1 + + + \ No newline at end of file diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java index 459926003..d0f53908c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.aop; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.AuditLogMapper; import org.apache.bigtop.manager.dao.po.AuditLogPO; -import org.apache.bigtop.manager.dao.repository.AuditLogRepository; import org.apache.bigtop.manager.server.holder.SessionUserHolder; import org.aspectj.lang.JoinPoint; @@ -44,7 +44,7 @@ public class AuditAspect { @Resource - private AuditLogRepository auditLogRepository; + private AuditLogMapper auditLogMapper; @Before(value = "@annotation(org.apache.bigtop.manager.server.annotations.Audit)") public void before(JoinPoint joinPoint) { @@ -87,7 +87,7 @@ public void before(JoinPoint joinPoint) { log.debug("auditLog: {}", auditLogPO); log.debug("request method:{}.{}", joinPoint.getSignature().getDeclaringTypeName(), methodName); - auditLogRepository.save(auditLogPO); + auditLogMapper.save(auditLogPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index 2dc180e94..6ed587e10 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -20,11 +20,12 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.dao.repository.JobRepository; import org.apache.bigtop.manager.dao.repository.StageRepository; import org.apache.bigtop.manager.dao.repository.TaskRepository; @@ -38,7 +39,8 @@ public abstract class AbstractJob implements Job { - protected ClusterRepository clusterRepository; + protected StackMapper stackMapper; + protected ClusterMapper clusterMapper; protected JobRepository jobRepository; protected StageRepository stageRepository; protected TaskRepository taskRepository; @@ -65,7 +67,9 @@ public AbstractJob(JobContext jobContext) { } protected void injectBeans() { - this.clusterRepository = SpringContextHolder.getBean(ClusterRepository.class); + this.stackMapper = SpringContextHolder.getBean(StackMapper.class); + this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); + this.jobRepository = SpringContextHolder.getBean(JobRepository.class); this.stageRepository = SpringContextHolder.getBean(StageRepository.class); this.taskRepository = SpringContextHolder.getBean(TaskRepository.class); @@ -73,7 +77,7 @@ protected void injectBeans() { protected void beforeCreateStages() { Long clusterId = jobContext.getCommandDTO().getClusterId(); - this.clusterPO = clusterId == null ? new ClusterPO() : clusterRepository.getReferenceById(clusterId); + this.clusterPO = clusterId == null ? new ClusterPO() : clusterMapper.findById(clusterId); } protected abstract void createStages(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java index a5bd909dd..f41f8f78a 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java @@ -21,11 +21,13 @@ import org.apache.bigtop.manager.common.constants.ComponentCategories; import org.apache.bigtop.manager.common.enums.Command; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.ComponentMapper; +import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.ComponentRepository; -import org.apache.bigtop.manager.dao.repository.HostComponentRepository; +import org.apache.bigtop.manager.dao.po.StackPO; import org.apache.bigtop.manager.server.command.stage.CacheFileUpdateStage; import org.apache.bigtop.manager.server.command.stage.ComponentCheckStage; import org.apache.bigtop.manager.server.command.stage.ComponentConfigureStage; @@ -51,8 +53,9 @@ public abstract class AbstractServiceJob extends AbstractJob { - protected ComponentRepository componentRepository; - protected HostComponentRepository hostComponentRepository; + protected ComponentMapper componentMapper; + protected HostComponentMapper hostComponentMapper; + protected HostMapper hostMapper; protected String stackName; protected String stackVersion; @@ -66,16 +69,18 @@ public AbstractServiceJob(JobContext jobContext) { protected void injectBeans() { super.injectBeans(); - this.componentRepository = SpringContextHolder.getBean(ComponentRepository.class); - this.hostComponentRepository = SpringContextHolder.getBean(HostComponentRepository.class); + this.componentMapper = SpringContextHolder.getBean(ComponentMapper.class); + this.hostComponentMapper = SpringContextHolder.getBean(HostComponentMapper.class); + this.hostMapper = SpringContextHolder.getBean(HostMapper.class); } @Override protected void beforeCreateStages() { super.beforeCreateStages(); + StackPO stackPO = stackMapper.findById(clusterPO.getStackId()); - stackName = clusterPO.getStackPO().getStackName(); - stackVersion = clusterPO.getStackPO().getStackVersion(); + stackName = stackPO.getStackName(); + stackVersion = stackPO.getStackVersion(); dag = StackUtils.getStackDagMap().get(StackUtils.fullStackName(stackName, stackVersion)); } @@ -115,7 +120,7 @@ protected List getTodoListForCommand(Command command) { protected List getComponentNames() { List serviceNames = getServiceNames(); List componentPOList = - componentRepository.findAllByClusterPOIdAndServicePOServiceNameIn(clusterPO.getId(), serviceNames); + componentMapper.findAllByClusterIdAndServiceServiceNameIn(clusterPO.getId(), serviceNames); return componentPOList.stream().map(ComponentPO::getComponentName).toList(); } @@ -149,13 +154,16 @@ protected Boolean isClientComponent(String componentName) { protected List findHostnamesByComponentName(String componentName) { List hostComponentPOList = - hostComponentRepository.findAllByComponentPOClusterPOIdAndComponentPOComponentName( + hostComponentMapper.findAllByClusterIdAndComponentName( clusterPO.getId(), componentName); if (hostComponentPOList == null) { return new ArrayList<>(); } else { - return hostComponentPOList.stream() - .map(HostComponentPO::getHostPO) + + List hostPOList = hostMapper.findByIds(hostComponentPOList.stream() + .map(HostComponentPO::getHostId).toList()); + + return hostPOList.stream() .map(HostPO::getHostname) .toList(); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java index fb6029ad1..a7a26ef89 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.command.stage; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.server.command.task.TaskContext; import org.apache.bigtop.manager.server.holder.SpringContextHolder; import org.apache.bigtop.manager.server.model.dto.ComponentDTO; @@ -30,7 +30,7 @@ public abstract class AbstractComponentStage extends AbstractStage { - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; private ClusterPO clusterPO; @@ -42,12 +42,12 @@ public AbstractComponentStage(StageContext stageContext) { protected void injectBeans() { super.injectBeans(); - this.clusterRepository = SpringContextHolder.getBean(ClusterRepository.class); + this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); } @Override protected void beforeCreateTasks() { - this.clusterPO = clusterRepository.getReferenceById(stageContext.getClusterId()); + this.clusterPO = clusterMapper.findById(stageContext.getClusterId()); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java index 8e8a5fe7e..a68a6d45f 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.stage; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.server.command.task.HostCheckTask; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.command.task.TaskContext; @@ -28,7 +28,7 @@ public class HostCheckStage extends AbstractStage { - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; public HostCheckStage(StageContext stageContext) { super(stageContext); @@ -38,13 +38,13 @@ public HostCheckStage(StageContext stageContext) { protected void injectBeans() { super.injectBeans(); - this.clusterRepository = SpringContextHolder.getBean(ClusterRepository.class); + this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); } @Override protected void beforeCreateTasks() { if (stageContext.getClusterId() != null) { - ClusterPO clusterPO = clusterRepository.getReferenceById(stageContext.getClusterId()); + ClusterPO clusterPO = clusterMapper.findById(stageContext.getClusterId()); stageContext.setStackName(clusterPO.getStackPO().getStackName()); stageContext.setStackVersion(clusterPO.getStackPO().getStackVersion()); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java index 763bf0a1e..05760a784 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java @@ -24,7 +24,7 @@ import org.apache.bigtop.manager.common.message.entity.pojo.PackageSpecificInfo; import org.apache.bigtop.manager.common.message.entity.pojo.ScriptInfo; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.repository.HostComponentRepository; +import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; import org.apache.bigtop.manager.grpc.generated.CommandRequest; import org.apache.bigtop.manager.grpc.generated.CommandType; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -39,7 +39,7 @@ public abstract class AbstractComponentTask extends AbstractTask { - protected HostComponentRepository hostComponentRepository; + protected HostComponentMapper hostComponentMapper; public AbstractComponentTask(TaskContext taskContext) { super(taskContext); @@ -49,7 +49,7 @@ public AbstractComponentTask(TaskContext taskContext) { protected void injectBeans() { super.injectBeans(); - this.hostComponentRepository = SpringContextHolder.getBean(HostComponentRepository.class); + this.hostComponentMapper = SpringContextHolder.getBean(HostComponentMapper.class); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java index 3c1fabbbe..37f5e26e8 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java @@ -25,6 +25,8 @@ import org.apache.bigtop.manager.common.message.entity.pojo.ComponentInfo; import org.apache.bigtop.manager.common.message.entity.pojo.RepoInfo; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.ComponentMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; @@ -34,8 +36,6 @@ import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.SettingPO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; -import org.apache.bigtop.manager.dao.repository.ComponentRepository; import org.apache.bigtop.manager.dao.repository.HostComponentRepository; import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.dao.repository.RepoRepository; @@ -69,14 +69,14 @@ public class CacheFileUpdateTask extends AbstractTask { - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; private HostComponentRepository hostComponentRepository; private ServiceRepository serviceRepository; private ServiceConfigRepository serviceConfigRepository; private RepoRepository repoRepository; private SettingRepository settingRepository; private HostRepository hostRepository; - private ComponentRepository componentRepository; + private ComponentMapper componentMapper; private ClusterInfo clusterInfo; private Map componentInfoMap; @@ -94,14 +94,14 @@ public CacheFileUpdateTask(TaskContext taskContext) { protected void injectBeans() { super.injectBeans(); - this.clusterRepository = SpringContextHolder.getBean(ClusterRepository.class); + this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); this.hostComponentRepository = SpringContextHolder.getBean(HostComponentRepository.class); this.serviceRepository = SpringContextHolder.getBean(ServiceRepository.class); this.serviceConfigRepository = SpringContextHolder.getBean(ServiceConfigRepository.class); this.repoRepository = SpringContextHolder.getBean(RepoRepository.class); this.settingRepository = SpringContextHolder.getBean(SettingRepository.class); this.hostRepository = SpringContextHolder.getBean(HostRepository.class); - this.componentRepository = SpringContextHolder.getBean(ComponentRepository.class); + this.componentMapper = SpringContextHolder.getBean(ComponentMapper.class); } @Override @@ -120,7 +120,7 @@ private void genCaches() { } private void genFullCaches() { - ClusterPO clusterPO = clusterRepository.getReferenceById(taskContext.getClusterId()); + ClusterPO clusterPO = clusterMapper.findById(taskContext.getClusterId()); Long clusterId = clusterPO.getId(); String clusterName = clusterPO.getClusterName(); @@ -192,7 +192,7 @@ private void genFullCaches() { settings.forEach(x -> settingsMap.put(x.getTypeName(), x.getConfigData())); componentInfoMap = new HashMap<>(); - List componentPOList = componentRepository.findAll(); + List componentPOList = componentMapper.findAll(); componentPOList.forEach(c -> { ComponentInfo componentInfo = new ComponentInfo(); componentInfo.setComponentName(c.getComponentName()); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java index 9229e1799..16f5a0c74 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -37,7 +37,7 @@ public class ClusterCreateValidator implements CommandValidator { @Resource - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; @Override public List getCommandIdentifiers() { @@ -49,7 +49,7 @@ public void validate(ValidatorContext context) { ClusterCommandDTO clusterCommand = context.getCommandDTO().getClusterCommand(); String clusterName = clusterCommand.getClusterName(); - Optional clusterOptional = clusterRepository.findByClusterName(clusterName); + Optional clusterOptional = clusterMapper.findByClusterName(clusterName); if (clusterOptional.isPresent()) { throw new ApiException(ApiExceptionEnum.CLUSTER_IS_INSTALLED, clusterName); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java index 82485782e..234375818 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java @@ -19,9 +19,9 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ServicePO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.dao.repository.ServiceRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; @@ -43,7 +43,7 @@ public class RequiredServicesValidator implements CommandValidator { @Resource - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; @Resource private ServiceRepository serviceRepository; @@ -59,7 +59,7 @@ public void validate(ValidatorContext context) { List serviceCommands = commandDTO.getServiceCommands(); Long clusterId = commandDTO.getClusterId(); - ClusterPO clusterPO = clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterMapper.findById(clusterId); String stackName = clusterPO.getStackPO().getStackName(); String stackVersion = clusterPO.getStackPO().getStackVersion(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java index 67a5ce185..0c9d5c298 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java @@ -113,7 +113,7 @@ public ClusterVO save(ClusterDTO clusterDTO) { @Override public ClusterVO get(Long id) { ClusterPO clusterPO = - clusterMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND)); + clusterMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND)); return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java index 64d8b026d..dbcbfdb35 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java @@ -19,11 +19,11 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.JobState; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.dao.repository.JobRepository; import org.apache.bigtop.manager.dao.repository.StageRepository; import org.apache.bigtop.manager.dao.repository.TaskRepository; @@ -56,7 +56,7 @@ public class CommandServiceImpl implements CommandService { private JobScheduler jobScheduler; @Resource - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; @Resource private JobRepository jobRepository; @@ -94,7 +94,7 @@ public CommandVO command(CommandDTO commandDTO) { protected JobPO saveJob(Job job) { Long clusterId = job.getJobContext().getCommandDTO().getClusterId(); - ClusterPO clusterPO = clusterId == null ? null : clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterId == null ? null : clusterMapper.findById(clusterId); JobPO jobPO = job.getJobPO(); jobPO.setClusterPO(clusterPO); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java index 20526c2c0..2be2359e9 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; +import org.apache.bigtop.manager.dao.mapper.ComponentMapper; import org.apache.bigtop.manager.dao.po.ComponentPO; -import org.apache.bigtop.manager.dao.repository.ComponentRepository; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.converter.ComponentConverter; @@ -39,12 +39,12 @@ public class ComponentServiceImpl implements ComponentService { @Resource - private ComponentRepository componentRepository; + private ComponentMapper componentMapper; @Override public List list(Long clusterId) { List componentVOList = new ArrayList<>(); - componentRepository.findAllByClusterPOId(clusterId).forEach(component -> { + componentMapper.findAllByClusterId(clusterId).forEach(component -> { ComponentVO componentVO = ComponentConverter.INSTANCE.fromPO2VO(component); componentVOList.add(componentVO); }); @@ -54,8 +54,8 @@ public List list(Long clusterId) { @Override public ComponentVO get(Long id) { - ComponentPO componentPO = componentRepository - .findById(id) + ComponentPO componentPO = componentMapper + .findOptionalById(id) .orElseThrow(() -> new ApiException(ApiExceptionEnum.COMPONENT_NOT_FOUND)); return ComponentConverter.INSTANCE.fromPO2VO(componentPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java index e06500ed6..909b0ae86 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java @@ -19,11 +19,11 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ServiceConfigPO; import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.dao.repository.ServiceConfigRepository; import org.apache.bigtop.manager.dao.repository.ServiceRepository; import org.apache.bigtop.manager.dao.repository.TypeConfigRepository; @@ -47,7 +47,7 @@ public class ConfigServiceImpl implements ConfigService { @Resource - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; @Resource private ServiceRepository serviceRepository; @@ -60,7 +60,7 @@ public class ConfigServiceImpl implements ConfigService { @Override public List list(Long clusterId) { - ClusterPO clusterPO = clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterMapper.findById(clusterId); Sort sort = Sort.by(Sort.Direction.DESC, "version"); List list = serviceConfigRepository.findAllByClusterPO(clusterPO, sort); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); @@ -68,7 +68,7 @@ public List list(Long clusterId) { @Override public List latest(Long clusterId) { - ClusterPO clusterPO = clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterMapper.findById(clusterId); List list = serviceConfigRepository.findAllByClusterPOAndSelectedIsTrue(clusterPO); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } @@ -76,7 +76,7 @@ public List latest(Long clusterId) { @Override public void upsert(Long clusterId, Long serviceId, List configs) { // Save configs - ClusterPO clusterPO = clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterMapper.findById(clusterId); ServicePO servicePO = serviceRepository.getReferenceById(serviceId); ServiceConfigPO serviceCurrentConfig = findServiceCurrentConfig(clusterPO, servicePO); if (serviceCurrentConfig == null) { diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java index 72b093e19..a23d433a9 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java @@ -19,9 +19,7 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.dao.po.HostComponentPO; -import org.apache.bigtop.manager.dao.repository.ComponentRepository; import org.apache.bigtop.manager.dao.repository.HostComponentRepository; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.model.converter.HostComponentConverter; import org.apache.bigtop.manager.server.model.vo.HostComponentVO; import org.apache.bigtop.manager.server.service.HostComponentService; @@ -40,12 +38,6 @@ public class HostComponentServiceImpl implements HostComponentService { @Resource private HostComponentRepository hostComponentRepository; - @Resource - private ComponentRepository componentRepository; - - @Resource - private HostRepository hostRepository; - @Override public List list(Long clusterId) { List hostComponentPOList = hostComponentRepository.findAllByComponentPOClusterPOId(clusterId); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java index 2cdfc9798..785a6273e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java @@ -19,9 +19,9 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.MaintainState; +import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.ClusterRepository; import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; @@ -48,7 +48,7 @@ public class HostServiceImpl implements HostService { @Resource - private ClusterRepository clusterRepository; + private ClusterMapper clusterMapper; @Resource private HostRepository hostRepository; @@ -65,7 +65,7 @@ public List list(Long clusterId) { @Override public List batchSave(Long clusterId, List hostnames) { - ClusterPO clusterPO = clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterMapper.findById(clusterId); List hostnameIn = hostRepository.findAllByHostnameIn(hostnames); List hostPOList = new ArrayList<>(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java index 82cef5cbd..1670459e1 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java @@ -85,13 +85,13 @@ public PageVO list(Long clusterId) { @Override public JobVO get(Long id) { - JobPO jobPO = jobMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); + JobPO jobPO = jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); return JobConverter.INSTANCE.fromPO2VO(jobPO); } @Override public JobVO retry(Long id) { - JobPO jobPO = jobMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); + JobPO jobPO = jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); if (jobPO.getState() != JobState.FAILED) { throw new ApiException(ApiExceptionEnum.JOB_NOT_RETRYABLE); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java index 2d8ac2594..10c3d83a6 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; +import org.apache.bigtop.manager.dao.mapper.UserMapper; import org.apache.bigtop.manager.dao.po.UserPO; -import org.apache.bigtop.manager.dao.repository.UserRepository; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.dto.LoginDTO; @@ -35,11 +35,11 @@ public class LoginServiceImpl implements LoginService { @Resource - private UserRepository userRepository; + private UserMapper userMapper; @Override public LoginVO login(LoginDTO loginDTO) { - UserPO userPO = userRepository.findByUsername(loginDTO.getUsername()); + UserPO userPO = userMapper.findByUsername(loginDTO.getUsername()); if (userPO == null || !loginDTO.getPassword().equalsIgnoreCase(userPO.getPassword())) { throw new ApiException(ApiExceptionEnum.INCORRECT_USERNAME_OR_PASSWORD); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java index cf6fa4a22..83124a9e0 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java @@ -41,14 +41,14 @@ public class UserServiceImpl implements UserService { @Override public UserVO current() { Long id = SessionUserHolder.getUserId(); - UserPO userPO = userMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); return UserConverter.INSTANCE.fromPO2VO(userPO); } @Override public UserVO update(UserDTO userDTO) { Long id = SessionUserHolder.getUserId(); - UserPO userPO = userMapper.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); userPO.setNickname(userDTO.getNickname()); userMapper.updateById(userPO); return UserConverter.INSTANCE.fromPO2VO(userPO); diff --git a/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java b/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java index 60ecd0fbf..5b38ca60b 100644 --- a/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java +++ b/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.aop; +import org.apache.bigtop.manager.dao.mapper.AuditLogMapper; import org.apache.bigtop.manager.dao.po.AuditLogPO; -import org.apache.bigtop.manager.dao.repository.AuditLogRepository; import org.apache.bigtop.manager.server.holder.SessionUserHolder; import org.aspectj.lang.JoinPoint; @@ -46,7 +46,7 @@ class AuditAspectTest { @Mock - private AuditLogRepository auditLogRepository; + private AuditLogMapper auditLogMapper; @Mock private JoinPoint joinPoint; @@ -86,7 +86,7 @@ void before_ValidRequest_SavesAuditLog() { auditAspect.before(joinPoint); - verify(auditLogRepository, times(1)).save(any(AuditLogPO.class)); + verify(auditLogMapper, times(1)).save(any(AuditLogPO.class)); } @Test @@ -95,7 +95,7 @@ void before_NullRequestAttributes_DoesNotSaveAuditLog() { auditAspect.before(joinPoint); - verify(auditLogRepository, never()).save(any(AuditLogPO.class)); + verify(auditLogMapper, never()).save(any(AuditLogPO.class)); } @Test @@ -104,6 +104,6 @@ void before_NullUserId_DoesNotSaveAuditLog() { auditAspect.before(joinPoint); - verify(auditLogRepository, never()).save(any(AuditLogPO.class)); + verify(auditLogMapper, never()).save(any(AuditLogPO.class)); } } From 39932fa6d5e4e1dc99110933788a9022f2840c35 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Sat, 24 Aug 2024 10:00:02 +0800 Subject: [PATCH 03/17] remove jpa --- bigtop-manager-bom/pom.xml | 13 -- .../manager/common/enums/MaintainState.java | 17 +- .../manager/common/utils/ClassUtils.java | 1 - bigtop-manager-dao/pom.xml | 5 - .../manager/dao/mapper/AuditLogMapper.java | 22 ++- .../bigtop/manager/dao/mapper/BaseMapper.java | 34 +++- .../manager/dao/mapper/ClusterMapper.java | 24 +++ .../manager/dao/mapper/ComponentMapper.java | 27 ++- .../dao/mapper/HostComponentMapper.java | 41 ++++- .../bigtop/manager/dao/mapper/HostMapper.java | 35 +++- .../bigtop/manager/dao/mapper/JobMapper.java | 21 ++- .../bigtop/manager/dao/mapper/RepoMapper.java | 22 ++- .../dao/mapper/ServiceConfigMapper.java | 28 +++ .../manager/dao/mapper/ServiceMapper.java | 29 ++- .../manager/dao/mapper/SettingMapper.java | 24 ++- .../manager/dao/mapper/StackMapper.java | 24 ++- .../manager/dao/mapper/StageMapper.java | 25 +++ .../bigtop/manager/dao/mapper/TaskMapper.java | 25 ++- .../manager/dao/mapper/TypeConfigMapper.java | 24 ++- .../bigtop/manager/dao/mapper/UserMapper.java | 20 ++ .../bigtop/manager/dao/po/AuditLogPO.java | 3 +- .../apache/bigtop/manager/dao/po/BasePO.java | 11 +- .../bigtop/manager/dao/po/ClusterPO.java | 19 +- .../bigtop/manager/dao/po/ComponentPO.java | 19 +- .../manager/dao/po/HostComponentPO.java | 55 +++++- .../apache/bigtop/manager/dao/po/HostPO.java | 14 +- .../apache/bigtop/manager/dao/po/JobPO.java | 12 +- .../apache/bigtop/manager/dao/po/RepoPO.java | 16 +- .../manager/dao/po/ServiceConfigPO.java | 19 +- .../bigtop/manager/dao/po/ServicePO.java | 17 +- .../bigtop/manager/dao/po/SettingPO.java | 3 +- .../apache/bigtop/manager/dao/po/StackPO.java | 3 +- .../apache/bigtop/manager/dao/po/StagePO.java | 20 +- .../apache/bigtop/manager/dao/po/TaskPO.java | 24 ++- .../bigtop/manager/dao/po/TypeConfigPO.java | 10 +- .../apache/bigtop/manager/dao/po/UserPO.java | 3 +- .../repository/HostComponentRepository.java | 47 ----- .../dao/repository/HostRepository.java | 43 ----- .../manager/dao/repository/JobRepository.java | 36 ---- .../dao/repository/RepoRepository.java | 31 ---- .../repository/ServiceConfigRepository.java | 49 ----- .../dao/repository/ServiceRepository.java | 38 ---- .../dao/repository/SettingRepository.java | 25 --- .../dao/repository/StackRepository.java | 28 --- .../dao/repository/StageRepository.java | 31 ---- .../dao/repository/TaskRepository.java | 38 ---- .../dao/repository/TypeConfigRepository.java | 25 --- .../manager/dao/sql/BaseSqlProvider.java | 47 ++++- .../apache/bigtop/manager/dao/sql/DBType.java | 43 +++-- .../bigtop/manager/dao/sql/SQLBuilder.java | 85 +++++++-- .../bigtop/manager/dao/sql/TableMataData.java | 44 +++-- .../resources/mapper/mysql/ClusterMapper.xml | 34 ++++ .../mapper/mysql/ComponentMapper.xml | 13 ++ .../mapper/mysql/HostComponentMapper.xml | 171 ++++++++++++++++++ .../resources/mapper/mysql/HostMapper.xml | 80 ++++++++ .../mapper/mysql/ServiceConfigMapper.xml | 80 ++++++++ .../resources/mapper/mysql/ServiceMapper.xml | 78 ++++++++ .../resources/mapper/mysql/StackMapper.xml | 2 +- .../resources/mapper/mysql/StageMapper.xml | 38 ++++ .../resources/mapper/mysql/TaskMapper.xml | 38 ++++ bigtop-manager-server/pom.xml | 13 +- .../manager/server/ServerApplication.java | 10 +- .../server/command/job/AbstractJob.java | 28 +-- .../command/job/AbstractServiceJob.java | 11 +- .../server/command/job/ClusterCreateJob.java | 12 +- .../server/command/job/ServiceInstallJob.java | 41 ++--- .../server/command/stage/AbstractStage.java | 12 +- .../command/stage/CacheFileUpdateStage.java | 8 +- .../server/command/stage/HostCheckStage.java | 6 +- .../server/command/task/AbstractTask.java | 12 +- .../command/task/CacheFileUpdateTask.java | 59 +++--- .../command/task/ComponentInstallTask.java | 7 +- .../command/task/ComponentStartTask.java | 7 +- .../command/task/ComponentStopTask.java | 7 +- .../validator/ClusterHostValidator.java | 6 +- .../command/validator/HostAddValidator.java | 6 +- .../validator/RequiredServicesValidator.java | 13 +- .../validator/ServiceHostValidator.java | 6 +- .../command/validator/StackValidator.java | 6 +- .../model/converter/ClusterConverter.java | 5 +- .../manager/server/model/vo/ClusterVO.java | 4 +- .../manager/server/model/vo/PageVO.java | 26 +-- .../scheduler/ComponentStatusScheduler.java | 50 +++-- .../server/scheduler/HostInfoScheduler.java | 12 +- .../service/impl/ClusterServiceImpl.java | 12 +- .../service/impl/CommandServiceImpl.java | 30 +-- .../service/impl/ConfigServiceImpl.java | 34 ++-- .../impl/HostComponentServiceImpl.java | 11 +- .../server/service/impl/HostServiceImpl.java | 20 +- .../server/service/impl/JobServiceImpl.java | 12 +- .../service/impl/ServiceServiceImpl.java | 24 +-- .../service/impl/TaskLogServiceImpl.java | 6 +- .../server/service/impl/UserServiceImpl.java | 6 +- .../server/stack/StackInitializer.java | 8 +- .../src/main/resources/application.yml | 4 +- 95 files changed, 1535 insertions(+), 852 deletions(-) delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskRepository.java delete mode 100644 bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigRepository.java rename bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/JpaAuditConfig.java => bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/DBType.java (52%) create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml create mode 100644 bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml diff --git a/bigtop-manager-bom/pom.xml b/bigtop-manager-bom/pom.xml index 43a93cafc..2145ed390 100644 --- a/bigtop-manager-bom/pom.xml +++ b/bigtop-manager-bom/pom.xml @@ -42,7 +42,6 @@ 1.26.2 4.4.0 3.0.16 - 4.0.2 4.0.4 6.2.5.Final 1.11.0 @@ -71,18 +70,6 @@ ${springdoc.version} - - org.eclipse.persistence - org.eclipse.persistence.jpa - ${eclipse-link.version} - - - - org.eclipse.persistence - org.eclipse.persistence.extension - ${eclipse-link.version} - - org.springframework.boot spring-boot-starter-actuator diff --git a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/MaintainState.java b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/MaintainState.java index 81617b76d..6c9df3112 100644 --- a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/MaintainState.java +++ b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/MaintainState.java @@ -22,20 +22,25 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; import lombok.Getter; +@AllArgsConstructor @Getter public enum MaintainState { - UNINSTALLED, + UNINSTALLED("uninstalled", "Uninstalled"), - INSTALLED, + INSTALLED("installed", "Installed"), - MAINTAINED, + MAINTAINED("maintained", "Maintained"), - STARTED, + STARTED("started", "Started"), - STOPPED, - ; + STOPPED("stopped", "Stopped"); + + private final String code; + + private final String name; @JsonCreator public static MaintainState fromString(String value) { diff --git a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java index d92cf548f..8c43ea563 100644 --- a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java +++ b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ClassUtils.java @@ -37,5 +37,4 @@ public static List getFields(Class loadClass) { } return fieldList; } - } diff --git a/bigtop-manager-dao/pom.xml b/bigtop-manager-dao/pom.xml index 96eae894f..6fed3ad75 100644 --- a/bigtop-manager-dao/pom.xml +++ b/bigtop-manager-dao/pom.xml @@ -48,11 +48,6 @@ bigtop-manager-common - - org.springframework.boot - spring-boot-starter-data-jpa - - org.mybatis.spring.boot mybatis-spring-boot-starter diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java index 4418a8c01..9fdd4378a 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java @@ -1,6 +1,24 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.AuditLogPO; -public interface AuditLogMapper extends BaseMapper { -} +public interface AuditLogMapper extends BaseMapper {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java index 4c0000210..4c378e99e 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java @@ -1,10 +1,33 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.sql.BaseSqlProvider; + +import org.apache.ibatis.annotations.DeleteProvider; import org.apache.ibatis.annotations.InsertProvider; +import org.apache.ibatis.annotations.Options; import org.apache.ibatis.annotations.SelectProvider; import org.apache.ibatis.annotations.UpdateProvider; +import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Optional; @@ -14,6 +37,7 @@ public interface BaseMapper { /** * Insert the entity. */ + @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") @InsertProvider(type = BaseSqlProvider.class, method = "insert") int save(Entity entity); @@ -27,12 +51,12 @@ public interface BaseMapper { * Query the entity by primary key. */ @SelectProvider(type = BaseSqlProvider.class, method = "selectById") - Entity findById(Long id); + Entity findById(Serializable id); /** * Query the entity by primary key. */ - default Optional findOptionalById(Long id) { + default Optional findOptionalById(Serializable id) { return Optional.ofNullable(findById(id)); } @@ -40,7 +64,7 @@ default Optional findOptionalById(Long id) { * Query the entity by primary key. */ @SelectProvider(type = BaseSqlProvider.class, method = "selectByIds") - List findByIds(Collection ids); + List findByIds(Collection ids); /** * Query all entities. @@ -48,5 +72,9 @@ default Optional findOptionalById(Long id) { @SelectProvider(type = BaseSqlProvider.class, method = "selectAll") List findAll(); + @DeleteProvider(type = BaseSqlProvider.class, method = "deleteById") + boolean deleteById(Serializable id); + @DeleteProvider(type = BaseSqlProvider.class, method = "deleteByIds") + boolean deleteByIds(Collection ids); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java index e597998d6..78b4547f8 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java @@ -1,8 +1,29 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.ClusterPO; + import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Optional; public interface ClusterMapper extends BaseMapper { @@ -11,4 +32,7 @@ public interface ClusterMapper extends BaseMapper { Integer count(); + ClusterPO findByIdJoin(@Param("clusterId") Long clusterId); + + List findAllByJoin(); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java index cfc1d73ed..65f94003f 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java @@ -1,16 +1,39 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.ComponentPO; + import org.apache.ibatis.annotations.Param; import java.util.List; public interface ComponentMapper extends BaseMapper { - ComponentPO findByClusterIdAndComponentName(@Param("clusterId") Long clusterId, @Param("componentName") String componentName); + ComponentPO findByClusterIdAndComponentName( + @Param("clusterId") Long clusterId, @Param("componentName") String componentName); List findAllByClusterId(@Param("clusterId") Long clusterId); - List findAllByClusterIdAndServiceServiceNameIn(@Param("clusterId") Long clusterId, @Param("serviceNames") List serviceNames); + List findAllJoinService(); + List findAllByClusterIdAndServiceServiceNameIn( + @Param("clusterId") Long clusterId, @Param("serviceNames") List serviceNames); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java index 4c503cd22..bb20b28c3 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java @@ -1,28 +1,55 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.HostComponentPO; + import org.apache.ibatis.annotations.Param; import java.util.List; public interface HostComponentMapper extends BaseMapper { + List findAllJoin(); + List findAllByClusterIdAndComponentName( @Param("clusterId") Long clusterId, @Param("componentName") String componentName); - HostComponentPO findByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostname( - Long clusterId, String componentName, String hostnames); + HostComponentPO findByClusterIdAndComponentNameAndHostname( + @Param("clusterId") Long clusterId, + @Param("componentName") String componentName, + @Param("hostname") String hostname); - List findAllByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostnameIn( - Long clusterId, String componentName, List hostnames); + List findAllByClusterIdAndComponentNameAndHostnameIn( + @Param("clusterId") Long clusterId, + @Param("componentName") String componentName, + @Param("hostnames") List hostnames); - List findAllByComponentPOClusterPOId(Long clusterId); + List findAllByClusterId(@Param("clusterId") Long clusterId); HostComponentPO findByComponentPOComponentNameAndHostPOHostname(String componentName, String hostName); - List findAllByComponentPOClusterPOIdAndHostPOId(Long clusterId, Long componentId); + List findAllByClusterIdAndHostId(@Param("clusterId") Long clusterId, @Param("hostId") Long hostId); - List findAllByComponentPOClusterPOIdAndComponentPOServicePOId(Long clusterId, Long serviceId); + List findAllByClusterIdAndServiceId( + @Param("clusterId") Long clusterId, @Param("serviceId") Long serviceId); List findAllByComponentPOServicePOId(Long serviceId); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java index c750366c9..3fb269425 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java @@ -1,23 +1,38 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.HostPO; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; + +import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; public interface HostMapper extends BaseMapper { - HostPO findByHostname(String hostname); - - List findAllByHostnameIn(Collection hostnames); - - List findAllByClusterPOIdAndHostnameIn(Long clusterId, Collection hostnames); + int saveAll(@Param("hosts") List hosts); - List findAllByClusterPOId(Long clusterId); + HostPO findByHostname(@Param("hostname") String hostname); - Page findAllByClusterPOId(Long clusterId, Pageable pageable); + List findAllByHostnameIn(@Param("hostnames") Collection hostnames); - List findAllByClusterPOClusterName(String clusterName); + List findAllByClusterId(@Param("clusterId") Long clusterId); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java index 966534b48..97a849ad7 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java @@ -1,6 +1,26 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.JobPO; + import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,5 +30,4 @@ public interface JobMapper extends BaseMapper { List findAllByClusterId(@Param("clusterId") Long clusterId); List findAllByClusterIsNull(); - } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java index cc806013a..f06e55b70 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java @@ -1,7 +1,26 @@ +/* + * 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.bigtop.manager.dao.mapper; -import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.RepoPO; + import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,5 +33,4 @@ public interface RepoMapper extends BaseMapper { int saveAll(@Param("clusters") List repos); List findAllByClusterId(@Param("clusterId") Long clusterId); - } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java index e371cdb13..2b56b13bc 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java @@ -1,8 +1,36 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.ServiceConfigPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + public interface ServiceConfigMapper extends BaseMapper { + List findAllByClusterId(@Param("clusterId") Long clusterId); + + ServiceConfigPO findByClusterIdAndServiceIdAndSelectedIsTrue( + @Param("clusterId") Long clusterId, @Param("serviceId") Long serviceId); + List findAllByClusterIdAndSelectedIsTrue(@Param("clusterId") Long clusterId); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java index 8eaa13708..afb462da7 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java @@ -1,14 +1,37 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.ServicePO; +import org.apache.ibatis.annotations.Param; + import java.util.List; public interface ServiceMapper extends BaseMapper { - List findAllByClusterPOId(Long clusterId); + List findAllByClusterId(@Param("clusterId") Long clusterId); - ServicePO findByClusterPOIdAndServiceName(Long clusterId, String serviceName); + ServicePO findByClusterIdAndServiceName( + @Param("clusterId") Long clusterId, @Param("serviceName") String serviceName); - List findByClusterPOIdAndServiceNameIn(Long clusterId, List serviceNames); + List findByClusterIdAndServiceNameIn( + @Param("clusterId") Long clusterId, @Param("serviceNames") List serviceNames); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java index bdc07065c..7706c8bc9 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java @@ -1,8 +1,24 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.SettingPO; -public interface SettingMapper extends BaseMapper { - - -} +public interface SettingMapper extends BaseMapper {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java index 185f0cee9..fe377817f 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java @@ -1,10 +1,30 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.StackPO; + import org.apache.ibatis.annotations.Param; public interface StackMapper extends BaseMapper { - StackPO findByStackNameAndStackVersion(@Param("stackName") String stackName, @Param("stackVersion") String stackVersion); - + StackPO findByStackNameAndStackVersion( + @Param("stackName") String stackName, @Param("stackVersion") String stackVersion); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java index a6e4037d8..9cb3b39da 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java @@ -1,8 +1,33 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.StagePO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + public interface StageMapper extends BaseMapper { + List findByJobId(@Param("jobId") Long jobId); + void updateStateByIds(@Param("stages") List stages); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java index bb85fcc5c..503c59e0b 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java @@ -1,8 +1,31 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.TaskPO; -public interface TaskMapper extends BaseMapper { +import org.apache.ibatis.annotations.Param; +import java.util.List; + +public interface TaskMapper extends BaseMapper { + void updateStateByIds(@Param("tasks") List tasks); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java index 1009412cf..a57b99852 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java @@ -1,8 +1,24 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -public interface TypeConfigMapper extends BaseMapper { - - -} +public interface TypeConfigMapper extends BaseMapper {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java index 1be4ba662..5dda7045c 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java @@ -1,6 +1,26 @@ +/* + * 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.bigtop.manager.dao.mapper; import org.apache.bigtop.manager.dao.po.UserPO; + import org.apache.ibatis.annotations.Param; public interface UserMapper extends BaseMapper { diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java index 61366579f..8de0e32f9 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java @@ -31,6 +31,7 @@ import jakarta.persistence.Lob; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -41,7 +42,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class AuditLogPO extends BasePO { +public class AuditLogPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "audit_log_generator") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java index a1319b4c5..f3fc63070 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java @@ -18,32 +18,23 @@ */ package org.apache.bigtop.manager.dao.po; -import jakarta.persistence.Column; -import org.springframework.data.annotation.CreatedBy; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.data.annotation.LastModifiedBy; -import org.springframework.data.annotation.LastModifiedDate; - import lombok.Data; +import jakarta.persistence.Column; import java.sql.Timestamp; @Data public abstract class BasePO { - @CreatedDate @Column(name = "create_time", updatable = false) private Timestamp createTime; - @LastModifiedDate @Column(name = "update_time") private Timestamp updateTime; - @CreatedBy @Column(name = "create_by", updatable = false) private Long createBy; - @LastModifiedBy @Column(name = "update_by") private Long updateBy; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java index a36e70cf3..be13da630 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.dao.po; -import org.apache.bigtop.manager.common.enums.MaintainState; - import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,13 +29,15 @@ import jakarta.persistence.Index; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import jakarta.persistence.Transient; import jakarta.persistence.UniqueConstraint; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @Entity @Table( - name = "\"cluster\"", + name = "cluster", uniqueConstraints = { @UniqueConstraint( name = "uk_cluster_name", @@ -49,7 +49,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class ClusterPO extends BasePO { +public class ClusterPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "cluster_generator") @@ -62,7 +62,7 @@ public class ClusterPO extends BasePO { @Column(name = "cluster_type") private Integer clusterType; - @Column(name = "\"root\"") + @Column(name = "root") private String root; @Column(name = "user_group") @@ -75,7 +75,7 @@ public class ClusterPO extends BasePO { private String repoTemplate; @Column(name = "state") - private MaintainState state; + private String state; @Column(name = "selected") private Boolean selected; @@ -83,4 +83,11 @@ public class ClusterPO extends BasePO { @Column(name = "stack_id") private Long stackId; + @Transient + @Column(name = "stack_name") + private String stackName; + + @Transient + @Column(name = "stack_version") + private String stackVersion; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java index 326668b7f..edfadf096 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java @@ -23,16 +23,22 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import jakarta.persistence.Transient; import jakarta.persistence.UniqueConstraint; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -53,7 +59,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class ComponentPO extends BasePO { +public class ComponentPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "component_generator") @@ -86,4 +92,15 @@ public class ComponentPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; + @Transient + @Column(name = "service_name") + private String serviceName; + + @ManyToOne + @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ServicePO servicePO; + + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java index 153dd96f6..898a2991f 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java @@ -18,19 +18,23 @@ */ package org.apache.bigtop.manager.dao.po; -import org.apache.bigtop.manager.common.enums.MaintainState; - import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import jakarta.persistence.Transient; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -46,7 +50,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class HostComponentPO extends BasePO { +public class HostComponentPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "host_component_generator") @@ -54,7 +58,7 @@ public class HostComponentPO extends BasePO { private Long id; @Column(name = "state") - private MaintainState state; + private String state; @Column(name = "host_id") private Long hostId; @@ -62,4 +66,47 @@ public class HostComponentPO extends BasePO { @Column(name = "component_id") private Long componentId; + @Transient + @Column(name = "stack_name") + private String stackName; + + @Transient + @Column(name = "stack_version") + private String stackVersion; + + @Transient + @Column(name = "service_id") + private Long serviceId; + + @Transient + @Column(name = "service_name") + private String serviceName; + + @Transient + @Column(name = "service_user") + private String serviceUser; + + @Transient + @Column(name = "\"root\"") + private String root; + + @Transient + @Column(name = "component_name") + private String componentName; + + @Transient + @Column(name = "command_script") + private String commandScript; + + @Transient + @Column(name = "hostname") + private String hostname; + + @ManyToOne + @JoinColumn(name = "host_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private HostPO hostPO; + + @ManyToOne + @JoinColumn(name = "component_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ComponentPO componentPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java index d5b6d0418..c66c4bdd2 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java @@ -18,20 +18,23 @@ */ package org.apache.bigtop.manager.dao.po; -import org.apache.bigtop.manager.common.enums.MaintainState; - import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -45,7 +48,7 @@ }, indexes = {@Index(name = "idx_host_cluster_id", columnList = "cluster_id")}) @TableGenerator(name = "host_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class HostPO extends BasePO { +public class HostPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "host_generator") @@ -83,9 +86,12 @@ public class HostPO extends BasePO { private Long totalDisk; @Column(name = "state") - private MaintainState state; + private String state; @Column(name = "cluster_id") private Long clusterId; + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java index 2c7a9f958..98a02844e 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java @@ -26,17 +26,21 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; - +import java.io.Serializable; import java.util.List; @Data @@ -46,7 +50,7 @@ name = "\"job\"", indexes = {@Index(name = "idx_job_cluster_id", columnList = "cluster_id")}) @TableGenerator(name = "job_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class JobPO extends BasePO { +public class JobPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "job_generator") @@ -67,6 +71,10 @@ public class JobPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; + @ToString.Exclude @OneToMany(mappedBy = "jobPO") private List stagePOList; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java index bd1f23281..62b691d08 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java @@ -22,14 +22,19 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -37,13 +42,13 @@ @Table( name = "repo", uniqueConstraints = { - @UniqueConstraint( - name = "uk_repo_id", - columnNames = {"repo_id", "os", "arch", "cluster_id"}) + @UniqueConstraint( + name = "uk_repo_id", + columnNames = {"repo_id", "os", "arch", "cluster_id"}) }, indexes = {@Index(name = "idx_repo_cluster_id", columnList = "cluster_id")}) @TableGenerator(name = "repo_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class RepoPO extends BasePO { +public class RepoPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "repo_generator") @@ -71,4 +76,7 @@ public class RepoPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java index 1ee8fd6d9..a5753bb81 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java @@ -23,15 +23,19 @@ import lombok.ToString; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; - +import java.io.Serializable; import java.util.List; @Data @@ -40,15 +44,15 @@ @Table( name = "service_config", indexes = { - @Index(name = "idx_sc_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_sc_service_id", columnList = "service_id") + @Index(name = "idx_sc_cluster_id", columnList = "cluster_id"), + @Index(name = "idx_sc_service_id", columnList = "service_id") }) @TableGenerator( name = "service_config_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class ServiceConfigPO extends BasePO { +public class ServiceConfigPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "service_config_generator") @@ -74,4 +78,11 @@ public class ServiceConfigPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; + @ManyToOne + @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ServicePO servicePO; + + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java index 55604b7b7..982e40a2d 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java @@ -22,14 +22,19 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -37,9 +42,9 @@ @Table( name = "service", uniqueConstraints = { - @UniqueConstraint( - name = "uk_service_name", - columnNames = {"service_name", "cluster_id"}) + @UniqueConstraint( + name = "uk_service_name", + columnNames = {"service_name", "cluster_id"}) }, indexes = {@Index(name = "idx_service_cluster_id", columnList = "cluster_id")}) @TableGenerator( @@ -47,7 +52,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class ServicePO extends BasePO { +public class ServicePO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "service_generator") @@ -77,4 +82,8 @@ public class ServicePO extends BasePO { @Column(name = "cluster_id") private Long clusterId; + + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java index dac018172..6ff632e80 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java @@ -31,6 +31,7 @@ import jakarta.persistence.Lob; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -41,7 +42,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class SettingPO extends BasePO { +public class SettingPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "settings_generator") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java index 0f8211ac7..f154a3966 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java @@ -29,6 +29,7 @@ import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -41,7 +42,7 @@ columnNames = {"stack_name", "stack_version"}) }) @TableGenerator(name = "stack_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class StackPO extends BasePO { +public class StackPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "stack_generator") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java index 53d4a97fd..8dca61ce8 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java @@ -26,17 +26,21 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; - +import java.io.Serializable; import java.util.List; @Data @@ -45,11 +49,11 @@ @Table( name = "stage", indexes = { - @Index(name = "idx_stage_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_stage_job_id", columnList = "job_id") + @Index(name = "idx_stage_cluster_id", columnList = "cluster_id"), + @Index(name = "idx_stage_job_id", columnList = "job_id") }) @TableGenerator(name = "stage_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class StagePO extends BasePO { +public class StagePO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "stage_generator") @@ -85,4 +89,12 @@ public class StagePO extends BasePO { @ToString.Exclude @OneToMany(mappedBy = "stagePO") private List taskPOList; + + @ManyToOne + @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private JobPO jobPO; + + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java index 87db0bd97..d03045b6b 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java @@ -26,15 +26,20 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -42,12 +47,12 @@ @Table( name = "\"task\"", indexes = { - @Index(name = "idx_task_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_task_job_id", columnList = "job_id"), - @Index(name = "idx_task_stage_id", columnList = "stage_id") + @Index(name = "idx_task_cluster_id", columnList = "cluster_id"), + @Index(name = "idx_task_job_id", columnList = "job_id"), + @Index(name = "idx_task_stage_id", columnList = "stage_id") }) @TableGenerator(name = "task_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class TaskPO extends BasePO { +public class TaskPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "task_generator") @@ -103,4 +108,15 @@ public class TaskPO extends BasePO { @Column(name = "cluster_id") private Long clusterId; + @ManyToOne + @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private JobPO jobPO; + + @ManyToOne + @JoinColumn(name = "stage_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private StagePO stagePO; + + @ManyToOne + @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java index dd4df2d87..71bd8d1b8 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java @@ -23,14 +23,19 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; +import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; +import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @@ -41,7 +46,7 @@ table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class TypeConfigPO extends BasePO { +public class TypeConfigPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "type_config_generator") @@ -59,4 +64,7 @@ public class TypeConfigPO extends BasePO { @Column(name = "service_config_id") private Long serviceConfigId; + @ManyToOne + @JoinColumn(name = "service_config_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) + private ServiceConfigPO serviceConfigPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java index d5684280c..8bd167dd8 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java @@ -28,13 +28,14 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @Entity @Table(name = "\"user\"") @TableGenerator(name = "user_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") -public class UserPO extends BasePO { +public class UserPO extends BasePO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "user_generator") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentRepository.java deleted file mode 100644 index 4b677252c..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentRepository.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.HostComponentPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface HostComponentRepository extends JpaRepository { - - List findAllByComponentPOClusterPOIdAndComponentPOComponentName( - Long clusterId, String componentName); - - HostComponentPO findByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostname( - Long clusterId, String componentName, String hostnames); - - List findAllByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostnameIn( - Long clusterId, String componentName, List hostnames); - - List findAllByComponentPOClusterPOId(Long clusterId); - - HostComponentPO findByComponentPOComponentNameAndHostPOHostname(String componentName, String hostName); - - List findAllByComponentPOClusterPOIdAndHostPOId(Long clusterId, Long componentId); - - List findAllByComponentPOClusterPOIdAndComponentPOServicePOId(Long clusterId, Long serviceId); - - List findAllByComponentPOServicePOId(Long serviceId); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostRepository.java deleted file mode 100644 index 49db05eb1..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostRepository.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.HostPO; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.Collection; -import java.util.List; - -public interface HostRepository extends JpaRepository { - - HostPO findByHostname(String hostname); - - List findAllByHostnameIn(Collection hostnames); - - List findAllByClusterPOIdAndHostnameIn(Long clusterId, Collection hostnames); - - List findAllByClusterPOId(Long clusterId); - - Page findAllByClusterPOId(Long clusterId, Pageable pageable); - - List findAllByClusterPOClusterName(String clusterName); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobRepository.java deleted file mode 100644 index 7aafcf3cd..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobRepository.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.JobPO; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface JobRepository extends JpaRepository { - - Page findAllByClusterPOIsNull(Pageable pageable); - - Page findAllByClusterPOId(Long clusterId, Pageable pageable); - - List findAllByClusterPOId(Long clusterId); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoRepository.java deleted file mode 100644 index 39d629f5b..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoRepository.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.ClusterPO; -import org.apache.bigtop.manager.dao.po.RepoPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface RepoRepository extends JpaRepository { - - List findAllByClusterPO(ClusterPO clusterPO); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigRepository.java deleted file mode 100644 index 12ff2e4d4..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigRepository.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.ClusterPO; -import org.apache.bigtop.manager.dao.po.ServiceConfigPO; -import org.apache.bigtop.manager.dao.po.ServicePO; - -import org.springframework.data.domain.Sort; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -public interface ServiceConfigRepository extends JpaRepository { - - List findAllByClusterPO(ClusterPO clusterPO); - - List findAllByClusterPO(ClusterPO clusterPO, Sort sort); - - List findAllByClusterPOAndServicePO(ClusterPO clusterPO, ServicePO servicePO); - - ServiceConfigPO findByClusterPOAndServicePOAndSelectedIsTrue(ClusterPO clusterPO, ServicePO servicePO); - - List findAllByClusterPOAndSelectedIsTrue(ClusterPO clusterPO); - - @Transactional - @Modifying - @Query("UPDATE ServiceConfigPO s SET s.selected = false WHERE s.clusterPO = :cluster AND s.servicePO = :service") - void setAllSelectedToFalseByClusterAndService(ClusterPO clusterPO, ServicePO servicePO); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceRepository.java deleted file mode 100644 index f84df78c7..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceRepository.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.ServicePO; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface ServiceRepository extends JpaRepository { - - List findAllByClusterPOId(Long clusterId); - - Page findAllByClusterPOId(Long clusterId, Pageable pageable); - - ServicePO findByClusterPOIdAndServiceName(Long clusterId, String serviceName); - - List findByClusterPOIdAndServiceNameIn(Long clusterId, List serviceNames); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingRepository.java deleted file mode 100644 index 67cfbd627..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingRepository.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.SettingPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface SettingRepository extends JpaRepository {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackRepository.java deleted file mode 100644 index 797e2d542..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackRepository.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.StackPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface StackRepository extends JpaRepository { - - StackPO findByStackNameAndStackVersion(String stackName, String stackVersion); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageRepository.java deleted file mode 100644 index d37128e43..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageRepository.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.JobPO; -import org.apache.bigtop.manager.dao.po.StagePO; - -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface StageRepository extends JpaRepository { - - List findByJobPO(JobPO jobPO); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskRepository.java deleted file mode 100644 index 045ee6d52..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskRepository.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.common.enums.JobState; -import org.apache.bigtop.manager.dao.po.StagePO; -import org.apache.bigtop.manager.dao.po.TaskPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface TaskRepository extends JpaRepository { - - List findByStagePO(StagePO stagePO); - - List findAllByJobPOId(Long jobId); - - List findAllByJobPOIdAndState(Long jobId, JobState state); - - List findAllByJobPOIdAndHostnameAndState(Long jobId, String hostname, JobState state); -} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigRepository.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigRepository.java deleted file mode 100644 index ea03ead99..000000000 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigRepository.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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 - * - * https://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.bigtop.manager.dao.repository; - -import org.apache.bigtop.manager.dao.po.TypeConfigPO; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface TypeConfigRepository extends JpaRepository {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java index 1c6e01598..f6ab0518a 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java @@ -1,11 +1,34 @@ +/* + * 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.bigtop.manager.dao.sql; -import lombok.extern.slf4j.Slf4j; import org.apache.bigtop.manager.dao.mapper.BaseMapper; + import org.apache.ibatis.builder.annotation.ProviderContext; + import org.springframework.core.ResolvableType; import org.springframework.util.Assert; +import lombok.extern.slf4j.Slf4j; + +import java.io.Serializable; import java.lang.reflect.Type; import java.util.Collection; @@ -34,7 +57,7 @@ public String updateById(Entity entity, ProviderContext context) { return SQLBuilder.update(mataData, entity, databaseId); } - public String selectById(Long id, ProviderContext context) { + public String selectById(Serializable id, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); @@ -43,7 +66,7 @@ public String selectById(Long id, ProviderContext context) { return SQLBuilder.selectById(mataData, databaseId, id); } - public String selectByIds(Collection ids, ProviderContext context) { + public String selectByIds(Collection ids, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); @@ -59,7 +82,24 @@ public String selectAll(ProviderContext context) { TableMataData mataData = TableMataData.forClass(entityClass); return SQLBuilder.selectAll(mataData, databaseId); + } + + public String deleteById(Serializable id, ProviderContext context) { + String databaseId = context.getDatabaseId(); + + Class entityClass = getEntityClass(context); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.deleteById(mataData, databaseId, id); + } + + public String deleteByIds(Collection ids, ProviderContext context) { + String databaseId = context.getDatabaseId(); + Class entityClass = getEntityClass(context); + TableMataData mataData = TableMataData.forClass(entityClass); + + return SQLBuilder.deleteByIds(mataData, databaseId, ids); } private Class getEntityClass(ProviderContext context) { @@ -72,5 +112,4 @@ private Class getEntityClass(ProviderContext context) { } return null; } - } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/JpaAuditConfig.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/DBType.java similarity index 52% rename from bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/JpaAuditConfig.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/DBType.java index 6bba2adab..c280c9526 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/config/JpaAuditConfig.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/DBType.java @@ -7,7 +7,7 @@ * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * - * https://www.apache.org/licenses/LICENSE-2.0 + * 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 @@ -16,26 +16,35 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.bigtop.manager.server.config; -import org.apache.bigtop.manager.server.holder.SessionUserHolder; +package org.apache.bigtop.manager.dao.sql; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.domain.AuditorAware; +import java.util.stream.Stream; -import jakarta.annotation.Nonnull; -import java.util.Optional; +public enum DBType { + MYSQL("mysql", "MYSQL"), + DM("dm", "DaMeng"); -@Configuration -public class JpaAuditConfig implements AuditorAware { + DBType(String code, String desc) { + this.code = code; + this.desc = desc; + } + + private final String code; + private final String desc; + + public String getCode() { + return this.code; + } + + public String getDesc() { + return this.desc; + } - @Nonnull - @Override - public Optional getCurrentAuditor() { - try { - return Optional.of(SessionUserHolder.getUserId()); - } catch (Exception e) { - return Optional.empty(); - } + public static DBType toType(String databaseId) { + return Stream.of(DBType.values()) + .filter(p -> p.getCode().equals(databaseId)) + .findFirst() + .orElse(null); } } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java index a5b8c9331..aae9987e6 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -1,13 +1,34 @@ +/* + * 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.bigtop.manager.dao.sql; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.jdbc.SQL; + import org.springframework.beans.BeanUtils; import org.springframework.util.ObjectUtils; import org.springframework.util.ReflectionUtils; +import lombok.extern.slf4j.Slf4j; + import java.beans.PropertyDescriptor; +import java.io.Serializable; import java.util.Collection; import java.util.Map; import java.util.Objects; @@ -24,8 +45,8 @@ public static String insert(TableMataData mataData, Entity entity, Stri Map fieldColumnMap = mataData.getFieldColumnMap(); SQL sql = new SQL(); - switch (databaseId) { - case "mysql": { + switch (DBType.toType(databaseId)) { + case MYSQL: { sql.INSERT_INTO(mataData.getTableName()); for (Map.Entry entry : fieldColumnMap.entrySet()) { // 忽略主键 @@ -56,8 +77,8 @@ public static String update(TableMataData mataData, Entity entity, Stri Map fieldColumnMap = mataData.getFieldColumnMap(); SQL sql = new SQL(); - switch (databaseId) { - case "mysql": { + switch (DBType.toType(databaseId)) { + case MYSQL: { sql.UPDATE(mataData.getTableName()); for (Map.Entry entry : fieldColumnMap.entrySet()) { // 忽略主键 @@ -85,11 +106,11 @@ public static String update(TableMataData mataData, Entity entity, Stri return sql.toString(); } - public static String selectById(TableMataData mataData, String databaseId, Long id) { + public static String selectById(TableMataData mataData, String databaseId, Serializable id) { SQL sql = new SQL(); - switch (databaseId) { - case "mysql": { + switch (DBType.toType(databaseId)) { + case MYSQL: { sql.SELECT(mataData.getBaseColumns()); sql.FROM(mataData.getTableName()); sql.WHERE(mataData.getPkColumn() + " = '" + id + "'"); @@ -103,11 +124,12 @@ public static String selectById(TableMataData mataData, String databaseId, Long return sql.toString(); } - public static String selectByIds(TableMataData mataData, String databaseId, Collection ids) { + public static String selectByIds( + TableMataData mataData, String databaseId, Collection ids) { SQL sql = new SQL(); - switch (databaseId) { - case "mysql": { + switch (DBType.toType(databaseId)) { + case MYSQL: { String idsStr = ids.stream().map(String::valueOf).collect(Collectors.joining("', '")); sql.SELECT(mataData.getBaseColumns()); sql.FROM(mataData.getTableName()); @@ -125,8 +147,8 @@ public static String selectByIds(TableMataData mataData, String databaseId, Coll public static String selectAll(TableMataData mataData, String databaseId) { SQL sql = new SQL(); - switch (databaseId) { - case "mysql": { + switch (DBType.toType(databaseId)) { + case MYSQL: { sql.SELECT(mataData.getBaseColumns()); sql.FROM(mataData.getTableName()); break; @@ -139,6 +161,40 @@ public static String selectAll(TableMataData mataData, String databaseId) { return sql.toString(); } + public static String deleteById(TableMataData mataData, String databaseId, Serializable id) { + SQL sql = new SQL(); + switch (DBType.toType(databaseId)) { + case MYSQL: { + sql.DELETE_FROM(mataData.getTableName()); + sql.WHERE(mataData.getPkColumn() + " = '" + id + "'"); + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + + public static String deleteByIds( + TableMataData mataData, String databaseId, Collection ids) { + SQL sql = new SQL(); + switch (DBType.toType(databaseId)) { + case MYSQL: { + String idsStr = ids.stream().map(String::valueOf).collect(Collectors.joining("', '")); + sql.DELETE_FROM(mataData.getTableName()); + sql.WHERE(mataData.getPkColumn() + " in ('" + idsStr + "')"); + break; + } + default: { + log.error("Unsupported data source"); + } + } + + return sql.toString(); + } + private static String getEquals(String column, String property) { return column + " = " + getTokenParam(property); } @@ -146,5 +202,4 @@ private static String getEquals(String column, String property) { private static String getTokenParam(String property) { return "#{" + property + "}"; } - } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java index eb39b53e0..893680c6c 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java @@ -1,15 +1,36 @@ +/* + * 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.bigtop.manager.dao.sql; -import jakarta.persistence.Column; -import jakarta.persistence.Id; -import jakarta.persistence.Table; -import jakarta.persistence.Transient; -import lombok.Getter; import org.apache.bigtop.manager.common.utils.CaseUtils; import org.apache.bigtop.manager.common.utils.ClassUtils; + import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; +import lombok.Getter; + +import jakarta.persistence.Column; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.persistence.Transient; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Modifier; @@ -54,7 +75,6 @@ private TableMataData(Class clazz) { initTableInfo(clazz); } - public static TableMataData forClass(Class entityClass) { TableMataData tableMataDate = TABLE_CACHE.get(entityClass); if (tableMataDate == null) { @@ -83,16 +103,17 @@ public String getBaseColumns() { } private void initTableInfo(Class clazz) { - tableName = clazz.isAnnotationPresent(Table.class) ? clazz.getAnnotation(Table.class).name() + tableName = clazz.isAnnotationPresent(Table.class) + ? clazz.getAnnotation(Table.class).name() : CaseUtils.toUnderScoreCase(clazz.getSimpleName()); - //获取父类字段 + // 获取父类字段 List fields = ClassUtils.getFields(clazz); for (Field field : fields) { - if (Modifier.isStatic(field.getModifiers()) || - field.isAnnotationPresent(Transient.class) || - !BeanUtils.isSimpleValueType(field.getType())) { + if (Modifier.isStatic(field.getModifiers()) + || field.isAnnotationPresent(Transient.class) + || !BeanUtils.isSimpleValueType(field.getType())) { continue; } @@ -111,5 +132,4 @@ private void initTableInfo(Class clazz) { } } } - } diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml index 66aad7ea1..d0e9fec3c 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml @@ -26,6 +26,9 @@ id, cluster_name, cluster_type, root, user_group, packages, repo_template, state, selected, stack_id + + ${alias}.id, ${alias}.cluster_name, ${alias}.cluster_type, ${alias}.root, ${alias}.user_group, ${alias}.packages, ${alias}.repo_template, ${alias}.state, ${alias}.selected, ${alias}.stack_id + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml index 8764c65be..d401ad683 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml @@ -86,4 +86,17 @@ on r.service_id = s.id and r.cluster_id = s.cluster_id + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml new file mode 100644 index 000000000..50b2ee9fb --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml @@ -0,0 +1,171 @@ + + + + + + + + id, state, host_id, component_id + + + ${alias}.id, ${alias}.state, ${alias}.host_id, ${alias}.component_id + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml new file mode 100644 index 000000000..9f9509777 --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml @@ -0,0 +1,80 @@ + + + + + + + + id, hostname, ipv4, ipv6, os, arch, available_processors, free_memory_size, total_memory_size, free_disk, total_disk, state, cluster_id + + + + + + + + + + insert into host (hostname, ipv4, ipv6, os, arch, available_processors, free_memory_size, total_memory_size, free_disk, total_disk, state, cluster_id) + values + + (#{host.hostname}, #{host.ipv4}, #{host.ipv6}, #{host.os}, #{host.arch}, #{host.available_processors}, #{host.free_memory_size}, #{host.total_memory_size}, #{host.free_disk}, #{host.total_disk}, #{host.state}, #{host.cluster_id}) + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml new file mode 100644 index 000000000..47b6f75c5 --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml @@ -0,0 +1,80 @@ + + + + + + + + id, config_desc, version, selected, service_id, cluster_id + + + + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml new file mode 100644 index 000000000..c0be16b34 --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + id, service_name, display_name, service_desc, service_version, os_specifics, service_user, required_services, cluster_id + + + + + + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml index 04c3c0262..5805f9837 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml @@ -34,7 +34,7 @@ stack - cluster_name=#{clusterName} + stack_name=#{stackName} and stack_version=#{stackVersion} diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml new file mode 100644 index 000000000..86829cc5c --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + update stage + + + `state` = #{stage.state}, + + + where id = #{stage.id} + + + + \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml new file mode 100644 index 000000000..5460d4088 --- /dev/null +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + update task + + + `state` = #{task.state}, + + + where id = #{task.id} + + + + \ No newline at end of file diff --git a/bigtop-manager-server/pom.xml b/bigtop-manager-server/pom.xml index b5d88cdbb..eb603fa54 100644 --- a/bigtop-manager-server/pom.xml +++ b/bigtop-manager-server/pom.xml @@ -60,17 +60,6 @@ bigtop-manager-ui - - org.springframework.boot - spring-boot-starter-data-jpa - - - org.hibernate.orm - hibernate-core - - - - org.springframework.boot spring-boot-starter-web @@ -94,7 +83,7 @@ com.mysql mysql-connector-j - + diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java index 5eafb01ae..9ce9dcbb9 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java @@ -18,19 +18,17 @@ */ package org.apache.bigtop.manager.server; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.data.jpa.repository.config.EnableJpaAuditing; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @EnableAsync @EnableScheduling -@EnableJpaAuditing -@EntityScan("org.apache.bigtop.manager.dao") -@EnableJpaRepositories("org.apache.bigtop.manager.dao") +// @EntityScan("org.apache.bigtop.manager.dao") +@MapperScan("org.apache.bigtop.manager.dao") +// @EnableJpaRepositories("org.apache.bigtop.manager.dao") @SpringBootApplication(scanBasePackages = {"org.apache.bigtop.manager.server", "org.apache.bigtop.manager.common"}) public class ServerApplication { diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index 6ed587e10..310200cce 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -21,14 +21,14 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.JobMapper; import org.apache.bigtop.manager.dao.mapper.StackMapper; +import org.apache.bigtop.manager.dao.mapper.StageMapper; +import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.JobRepository; -import org.apache.bigtop.manager.dao.repository.StageRepository; -import org.apache.bigtop.manager.dao.repository.TaskRepository; import org.apache.bigtop.manager.server.command.stage.Stage; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -41,9 +41,9 @@ public abstract class AbstractJob implements Job { protected StackMapper stackMapper; protected ClusterMapper clusterMapper; - protected JobRepository jobRepository; - protected StageRepository stageRepository; - protected TaskRepository taskRepository; + protected JobMapper jobMapper; + protected StageMapper stageMapper; + protected TaskMapper taskMapper; protected JobContext jobContext; protected List stages; @@ -70,9 +70,9 @@ protected void injectBeans() { this.stackMapper = SpringContextHolder.getBean(StackMapper.class); this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); - this.jobRepository = SpringContextHolder.getBean(JobRepository.class); - this.stageRepository = SpringContextHolder.getBean(StageRepository.class); - this.taskRepository = SpringContextHolder.getBean(TaskRepository.class); + this.jobMapper = SpringContextHolder.getBean(JobMapper.class); + this.stageMapper = SpringContextHolder.getBean(StageMapper.class); + this.taskMapper = SpringContextHolder.getBean(TaskMapper.class); } protected void beforeCreateStages() { @@ -86,7 +86,7 @@ protected void beforeCreateStages() { public void beforeRun() { JobPO jobPO = getJobPO(); jobPO.setState(JobState.PROCESSING); - jobRepository.save(jobPO); + jobMapper.save(jobPO); } @Override @@ -121,7 +121,7 @@ public void run() { public void onSuccess() { JobPO jobPO = getJobPO(); jobPO.setState(JobState.SUCCESSFUL); - jobRepository.save(jobPO); + jobMapper.updateById(jobPO); } @Override @@ -146,9 +146,9 @@ public void onFailure() { } } - taskRepository.saveAll(taskPOList); - stageRepository.saveAll(stagePOList); - jobRepository.save(jobPO); + taskMapper.updateStateByIds(taskPOList); + stageMapper.updateStateByIds(stagePOList); + jobMapper.updateById(jobPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java index f41f8f78a..90c5b70ce 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java @@ -154,18 +154,15 @@ protected Boolean isClientComponent(String componentName) { protected List findHostnamesByComponentName(String componentName) { List hostComponentPOList = - hostComponentMapper.findAllByClusterIdAndComponentName( - clusterPO.getId(), componentName); + hostComponentMapper.findAllByClusterIdAndComponentName(clusterPO.getId(), componentName); if (hostComponentPOList == null) { return new ArrayList<>(); } else { - List hostPOList = hostMapper.findByIds(hostComponentPOList.stream() - .map(HostComponentPO::getHostId).toList()); + List hostPOList = hostMapper.findByIds( + hostComponentPOList.stream().map(HostComponentPO::getHostId).toList()); - return hostPOList.stream() - .map(HostPO::getHostname) - .toList(); + return hostPOList.stream().map(HostPO::getHostname).toList(); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java index 4282a2ce5..736bd330b 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java @@ -71,28 +71,28 @@ public void onSuccess() { super.onSuccess(); CommandDTO commandDTO = jobContext.getCommandDTO(); - ClusterPO clusterPO = clusterRepository + ClusterPO clusterPO = clusterMapper .findByClusterName(commandDTO.getClusterCommand().getClusterName()) .orElse(new ClusterPO()); // Update cluster state to installed - clusterPO.setState(MaintainState.INSTALLED); - clusterRepository.save(clusterPO); + clusterPO.setState(MaintainState.INSTALLED.getName()); + clusterMapper.updateById(clusterPO); // Link job to cluster after cluster successfully added JobPO jobPO = getJobPO(); jobPO.setClusterPO(clusterPO); - jobRepository.save(jobPO); + jobMapper.updateById(jobPO); for (Stage stage : getStages()) { StagePO stagePO = stage.getStagePO(); stagePO.setClusterPO(clusterPO); - stageRepository.save(stagePO); + stageMapper.updateById(stagePO); for (Task task : stage.getTasks()) { TaskPO taskPO = task.getTaskPO(); taskPO.setClusterPO(clusterPO); - taskRepository.save(taskPO); + taskMapper.updateById(taskPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java index dd5c727a9..29de8ec78 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java @@ -19,13 +19,13 @@ package org.apache.bigtop.manager.server.command.job; import org.apache.bigtop.manager.common.enums.MaintainState; +import org.apache.bigtop.manager.dao.mapper.HostMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; import org.apache.bigtop.manager.dao.po.HostPO; import org.apache.bigtop.manager.dao.po.ServicePO; -import org.apache.bigtop.manager.dao.repository.HostRepository; -import org.apache.bigtop.manager.dao.repository.ServiceRepository; import org.apache.bigtop.manager.server.holder.SpringContextHolder; import org.apache.bigtop.manager.server.model.converter.ComponentConverter; import org.apache.bigtop.manager.server.model.converter.ServiceConverter; @@ -43,8 +43,8 @@ public class ServiceInstallJob extends AbstractServiceJob { private ConfigService configService; - private ServiceRepository serviceRepository; - private HostRepository hostRepository; + private ServiceMapper serviceMapper; + private HostMapper hostMapper; public ServiceInstallJob(JobContext jobContext) { super(jobContext); @@ -55,8 +55,8 @@ protected void injectBeans() { super.injectBeans(); this.configService = SpringContextHolder.getBean(ConfigService.class); - this.serviceRepository = SpringContextHolder.getBean(ServiceRepository.class); - this.hostRepository = SpringContextHolder.getBean(HostRepository.class); + this.serviceMapper = SpringContextHolder.getBean(ServiceMapper.class); + this.hostMapper = SpringContextHolder.getBean(HostMapper.class); } @Override @@ -99,8 +99,8 @@ protected List findHostnamesByComponentName(String componentName) { if (componentHost.getComponentName().equals(componentName)) { List hostnames = new ArrayList<>(componentHost.getHostnames()); if (serviceCommand.getInstalled()) { - List existHostnames = hostComponentRepository - .findAllByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostnameIn( + List existHostnames = hostComponentMapper + .findAllByClusterIdAndComponentNameAndHostnameIn( clusterPO.getId(), componentName, hostnames) .stream() .map(hostComponent -> hostComponent.getHostPO().getHostname()) @@ -128,7 +128,7 @@ public void beforeRun() { // Persist service, component and hostComponent metadata to database for (ServiceCommandDTO serviceCommand : serviceCommands) { String serviceName = serviceCommand.getServiceName(); - ServicePO servicePO = serviceRepository.findByClusterPOIdAndServiceName(clusterId, serviceName); + ServicePO servicePO = serviceMapper.findByClusterIdAndServiceName(clusterId, serviceName); upsertService(servicePO, serviceCommand); } } @@ -137,16 +137,16 @@ private void upsertService(ServicePO servicePO, ServiceCommandDTO serviceCommand CommandDTO commandDTO = jobContext.getCommandDTO(); Long clusterId = commandDTO.getClusterId(); String serviceName = serviceCommand.getServiceName(); - ClusterPO clusterPO = clusterRepository.getReferenceById(clusterId); + ClusterPO clusterPO = clusterMapper.findByIdJoin(clusterId); - String stackName = clusterPO.getStackPO().getStackName(); - String stackVersion = clusterPO.getStackPO().getStackVersion(); + String stackName = clusterPO.getStackName(); + String stackVersion = clusterPO.getStackVersion(); // 1. Persist service and components if (servicePO == null) { ServiceDTO serviceDTO = StackUtils.getServiceDTO(stackName, stackVersion, serviceName); servicePO = ServiceConverter.INSTANCE.fromDTO2PO(serviceDTO, clusterPO); - servicePO = serviceRepository.save(servicePO); + serviceMapper.save(servicePO); } // 2. Update configs @@ -156,26 +156,25 @@ private void upsertService(ServicePO servicePO, ServiceCommandDTO serviceCommand String componentName = componentHostDTO.getComponentName(); // 3. Persist component - ComponentPO componentPO = componentRepository.findByClusterPOIdAndComponentName(clusterId, componentName); + ComponentPO componentPO = componentMapper.findByClusterIdAndComponentName(clusterId, componentName); if (componentPO == null) { ComponentDTO componentDTO = StackUtils.getComponentDTO(stackName, stackVersion, componentName); componentPO = ComponentConverter.INSTANCE.fromDTO2PO(componentDTO, servicePO, clusterPO); - componentPO = componentRepository.save(componentPO); + componentMapper.save(componentPO); } // 4. Persist hostComponent for (String hostname : componentHostDTO.getHostnames()) { HostComponentPO hostComponentPO = - hostComponentRepository.findByComponentPOComponentNameAndHostPOHostname( - componentName, hostname); + hostComponentMapper.findByComponentPOComponentNameAndHostPOHostname(componentName, hostname); if (hostComponentPO == null) { - HostPO hostPO = hostRepository.findByHostname(hostname); + HostPO hostPO = hostMapper.findByHostname(hostname); hostComponentPO = new HostComponentPO(); hostComponentPO.setHostPO(hostPO); - hostComponentPO.setComponentPO(componentPO); - hostComponentPO.setState(MaintainState.UNINSTALLED); - hostComponentRepository.save(hostComponentPO); + hostComponentPO.setComponentId(componentPO.getId()); + hostComponentPO.setState(MaintainState.UNINSTALLED.getName()); + hostComponentMapper.save(hostComponentPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java index fd3037398..f4a7bd9fd 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java @@ -20,8 +20,8 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.StageMapper; import org.apache.bigtop.manager.dao.po.StagePO; -import org.apache.bigtop.manager.dao.repository.StageRepository; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -31,7 +31,7 @@ public abstract class AbstractStage implements Stage { - protected StageRepository stageRepository; + protected StageMapper stageMapper; protected StageContext stageContext; protected List tasks; @@ -55,7 +55,7 @@ public AbstractStage(StageContext stageContext) { } protected void injectBeans() { - this.stageRepository = SpringContextHolder.getBean(StageRepository.class); + this.stageMapper = SpringContextHolder.getBean(StageMapper.class); } protected abstract void beforeCreateTasks(); @@ -74,7 +74,7 @@ protected String getComponentName() { public void beforeRun() { StagePO stagePO = getStagePO(); stagePO.setState(JobState.PROCESSING); - stageRepository.save(stagePO); + stageMapper.save(stagePO); } @Override @@ -117,14 +117,14 @@ public Boolean run() { public void onSuccess() { StagePO stagePO = getStagePO(); stagePO.setState(JobState.SUCCESSFUL); - stageRepository.save(stagePO); + stageMapper.updateById(stagePO); } @Override public void onFailure() { StagePO stagePO = getStagePO(); stagePO.setState(JobState.FAILED); - stageRepository.save(stagePO); + stageMapper.updateById(stagePO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java index 9223af7eb..040fbfca8 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.stage; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.command.task.CacheFileUpdateTask; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.command.task.TaskContext; @@ -33,7 +33,7 @@ public class CacheFileUpdateStage extends AbstractStage { - private HostRepository hostRepository; + private HostMapper hostMapper; public CacheFileUpdateStage(StageContext stageContext) { super(stageContext); @@ -43,7 +43,7 @@ public CacheFileUpdateStage(StageContext stageContext) { protected void injectBeans() { super.injectBeans(); - this.hostRepository = SpringContextHolder.getBean(HostRepository.class); + this.hostMapper = SpringContextHolder.getBean(HostMapper.class); } @Override @@ -54,7 +54,7 @@ protected void beforeCreateTasks() { hostnames.addAll(stageContext.getHostnames()); } else { hostnames.addAll(stageContext.getHostnames() == null ? List.of() : stageContext.getHostnames()); - hostnames.addAll(hostRepository.findAllByClusterPOId(stageContext.getClusterId()).stream() + hostnames.addAll(hostMapper.findAllByClusterId(stageContext.getClusterId()).stream() .map(HostPO::getHostname) .toList()); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java index a68a6d45f..c0be708e5 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java @@ -44,10 +44,10 @@ protected void injectBeans() { @Override protected void beforeCreateTasks() { if (stageContext.getClusterId() != null) { - ClusterPO clusterPO = clusterMapper.findById(stageContext.getClusterId()); + ClusterPO clusterPO = clusterMapper.findByIdJoin(stageContext.getClusterId()); - stageContext.setStackName(clusterPO.getStackPO().getStackName()); - stageContext.setStackVersion(clusterPO.getStackPO().getStackVersion()); + stageContext.setStackName(clusterPO.getStackName()); + stageContext.setStackVersion(clusterPO.getStackVersion()); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java index fc750b763..c7385faf9 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java @@ -22,8 +22,8 @@ import org.apache.bigtop.manager.common.enums.Command; import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.TaskRepository; import org.apache.bigtop.manager.grpc.generated.CommandReply; import org.apache.bigtop.manager.grpc.generated.CommandRequest; import org.apache.bigtop.manager.grpc.generated.CommandServiceGrpc; @@ -33,7 +33,7 @@ public abstract class AbstractTask implements Task { - protected TaskRepository taskRepository; + protected TaskMapper taskMapper; protected TaskContext taskContext; @@ -51,7 +51,7 @@ public AbstractTask(TaskContext taskContext) { } protected void injectBeans() { - this.taskRepository = SpringContextHolder.getBean(TaskRepository.class); + this.taskMapper = SpringContextHolder.getBean(TaskMapper.class); } protected abstract Command getCommand(); @@ -66,7 +66,7 @@ protected String getCustomCommand() { public void beforeRun() { TaskPO taskPO = getTaskPO(); taskPO.setState(JobState.PROCESSING); - taskRepository.save(taskPO); + taskMapper.save(taskPO); } @Override @@ -103,7 +103,7 @@ public void onSuccess() { TaskPO taskPO = getTaskPO(); taskPO.setContent(ProtobufUtil.toJson(commandRequest)); taskPO.setState(JobState.SUCCESSFUL); - taskRepository.save(taskPO); + taskMapper.updateById(taskPO); } @Override @@ -111,7 +111,7 @@ public void onFailure() { TaskPO taskPO = getTaskPO(); taskPO.setContent(ProtobufUtil.toJson(commandRequest)); taskPO.setState(JobState.FAILED); - taskRepository.save(taskPO); + taskMapper.updateById(taskPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java index 37f5e26e8..84285d83e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java @@ -27,6 +27,12 @@ import org.apache.bigtop.manager.common.utils.JsonUtils; import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.mapper.ComponentMapper; +import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; +import org.apache.bigtop.manager.dao.mapper.HostMapper; +import org.apache.bigtop.manager.dao.mapper.RepoMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceConfigMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceMapper; +import org.apache.bigtop.manager.dao.mapper.SettingMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; @@ -36,12 +42,6 @@ import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.SettingPO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -import org.apache.bigtop.manager.dao.repository.HostComponentRepository; -import org.apache.bigtop.manager.dao.repository.HostRepository; -import org.apache.bigtop.manager.dao.repository.RepoRepository; -import org.apache.bigtop.manager.dao.repository.ServiceConfigRepository; -import org.apache.bigtop.manager.dao.repository.ServiceRepository; -import org.apache.bigtop.manager.dao.repository.SettingRepository; import org.apache.bigtop.manager.grpc.generated.CommandRequest; import org.apache.bigtop.manager.grpc.generated.CommandType; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -70,12 +70,12 @@ public class CacheFileUpdateTask extends AbstractTask { private ClusterMapper clusterMapper; - private HostComponentRepository hostComponentRepository; - private ServiceRepository serviceRepository; - private ServiceConfigRepository serviceConfigRepository; - private RepoRepository repoRepository; - private SettingRepository settingRepository; - private HostRepository hostRepository; + private HostComponentMapper hostComponentMapper; + private ServiceMapper serviceMapper; + private ServiceConfigMapper serviceConfigMapper; + private RepoMapper repoMapper; + private SettingMapper settingMapper; + private HostMapper hostMapper; private ComponentMapper componentMapper; private ClusterInfo clusterInfo; @@ -95,12 +95,12 @@ protected void injectBeans() { super.injectBeans(); this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); - this.hostComponentRepository = SpringContextHolder.getBean(HostComponentRepository.class); - this.serviceRepository = SpringContextHolder.getBean(ServiceRepository.class); - this.serviceConfigRepository = SpringContextHolder.getBean(ServiceConfigRepository.class); - this.repoRepository = SpringContextHolder.getBean(RepoRepository.class); - this.settingRepository = SpringContextHolder.getBean(SettingRepository.class); - this.hostRepository = SpringContextHolder.getBean(HostRepository.class); + this.hostComponentMapper = SpringContextHolder.getBean(HostComponentMapper.class); + this.serviceMapper = SpringContextHolder.getBean(ServiceMapper.class); + this.serviceConfigMapper = SpringContextHolder.getBean(ServiceConfigMapper.class); + this.repoMapper = SpringContextHolder.getBean(RepoMapper.class); + this.settingMapper = SpringContextHolder.getBean(SettingMapper.class); + this.hostMapper = SpringContextHolder.getBean(HostMapper.class); this.componentMapper = SpringContextHolder.getBean(ComponentMapper.class); } @@ -120,20 +120,21 @@ private void genCaches() { } private void genFullCaches() { - ClusterPO clusterPO = clusterMapper.findById(taskContext.getClusterId()); + ClusterPO clusterPO = clusterMapper.findByIdJoin(taskContext.getClusterId()); Long clusterId = clusterPO.getId(); String clusterName = clusterPO.getClusterName(); - String stackName = clusterPO.getStackPO().getStackName(); - String stackVersion = clusterPO.getStackPO().getStackVersion(); - List servicePOList = serviceRepository.findAllByClusterPOId(clusterId); + String stackName = clusterPO.getStackName(); + String stackVersion = clusterPO.getStackVersion(); + + List servicePOList = serviceMapper.findAllByClusterId(clusterId); List serviceConfigPOList = - serviceConfigRepository.findAllByClusterPOAndSelectedIsTrue(clusterPO); - List hostComponentPOList = hostComponentRepository.findAllByComponentPOClusterPOId(clusterId); - List repoPOList = repoRepository.findAllByClusterPO(clusterPO); - Iterable settings = settingRepository.findAll(); - List hostPOList = hostRepository.findAllByClusterPOId(clusterId); + serviceConfigMapper.findAllByClusterIdAndSelectedIsTrue(clusterPO.getId()); + List hostComponentPOList = hostComponentMapper.findAllByClusterId(clusterId); + List repoPOList = repoMapper.findAllByClusterId(clusterPO.getId()); + Iterable settings = settingMapper.findAll(); + List hostPOList = hostMapper.findAllByClusterId(clusterId); clusterInfo = new ClusterInfo(); clusterInfo.setClusterName(clusterName); @@ -192,7 +193,7 @@ private void genFullCaches() { settings.forEach(x -> settingsMap.put(x.getTypeName(), x.getConfigData())); componentInfoMap = new HashMap<>(); - List componentPOList = componentMapper.findAll(); + List componentPOList = componentMapper.findAllJoinService(); componentPOList.forEach(c -> { ComponentInfo componentInfo = new ComponentInfo(); componentInfo.setComponentName(c.getComponentName()); @@ -200,7 +201,7 @@ private void genFullCaches() { componentInfo.setDisplayName(c.getDisplayName()); componentInfo.setCategory(c.getCategory()); componentInfo.setCustomCommands(c.getCustomCommands()); - componentInfo.setServiceName(c.getServicePO().getServiceName()); + componentInfo.setServiceName(c.getServiceName()); componentInfoMap.put(c.getComponentName(), componentInfo); }); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java index 8bc9530c7..26d0c4f93 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java @@ -41,10 +41,9 @@ public void onSuccess() { String componentName = taskContext.getComponentName(); String hostname = taskContext.getHostname(); HostComponentPO hostComponentPO = - hostComponentRepository.findByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostname( - clusterId, componentName, hostname); - hostComponentPO.setState(MaintainState.INSTALLED); - hostComponentRepository.save(hostComponentPO); + hostComponentMapper.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); + hostComponentPO.setState(MaintainState.INSTALLED.getName()); + hostComponentMapper.updateById(hostComponentPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java index 3160fe814..83bf3609e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java @@ -41,10 +41,9 @@ public void onSuccess() { String componentName = taskContext.getComponentName(); String hostname = taskContext.getHostname(); HostComponentPO hostComponentPO = - hostComponentRepository.findByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostname( - clusterId, componentName, hostname); - hostComponentPO.setState(MaintainState.STARTED); - hostComponentRepository.save(hostComponentPO); + hostComponentMapper.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); + hostComponentPO.setState(MaintainState.STARTED.getName()); + hostComponentMapper.updateById(hostComponentPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java index 3c946fec0..c9a282717 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java @@ -41,10 +41,9 @@ public void onSuccess() { String componentName = taskContext.getComponentName(); String hostname = taskContext.getHostname(); HostComponentPO hostComponentPO = - hostComponentRepository.findByComponentPOClusterPOIdAndComponentPOComponentNameAndHostPOHostname( - clusterId, componentName, hostname); - hostComponentPO.setState(MaintainState.STOPPED); - hostComponentRepository.save(hostComponentPO); + hostComponentMapper.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); + hostComponentPO.setState(MaintainState.STOPPED.getName()); + hostComponentMapper.updateById(hostComponentPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java index 9d2509f81..66d36384e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -39,7 +39,7 @@ public class ClusterHostValidator implements CommandValidator { @Resource - private HostRepository hostRepository; + private HostMapper hostMapper; @Override public List getCommandIdentifiers() { @@ -51,7 +51,7 @@ public void validate(ValidatorContext context) { ClusterCommandDTO clusterCommand = context.getCommandDTO().getClusterCommand(); List hostnames = clusterCommand.getHostnames(); - List hostPOList = hostRepository.findAllByHostnameIn(hostnames); + List hostPOList = hostMapper.findAllByHostnameIn(hostnames); if (CollectionUtils.isNotEmpty(hostPOList)) { List existsHostnames = hostPOList.stream().map(HostPO::getHostname).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java index c57c7342b..ecfb96114 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -38,7 +38,7 @@ public class HostAddValidator implements CommandValidator { @Resource - private HostRepository hostRepository; + private HostMapper hostMapper; @Override public List getCommandIdentifiers() { @@ -51,7 +51,7 @@ public void validate(ValidatorContext context) { .map(HostCommandDTO::getHostname) .toList(); - List hostPOList = hostRepository.findAllByHostnameIn(hostnames); + List hostPOList = hostMapper.findAllByHostnameIn(hostnames); if (CollectionUtils.isNotEmpty(hostPOList)) { List existsHostnames = hostPOList.stream().map(HostPO::getHostname).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java index 234375818..07842a3c1 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java @@ -20,9 +20,9 @@ import org.apache.bigtop.manager.common.enums.Command; import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ServicePO; -import org.apache.bigtop.manager.dao.repository.ServiceRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -46,7 +46,7 @@ public class RequiredServicesValidator implements CommandValidator { private ClusterMapper clusterMapper; @Resource - private ServiceRepository serviceRepository; + private ServiceMapper serviceMapper; @Override public List getCommandIdentifiers() { @@ -59,9 +59,9 @@ public void validate(ValidatorContext context) { List serviceCommands = commandDTO.getServiceCommands(); Long clusterId = commandDTO.getClusterId(); - ClusterPO clusterPO = clusterMapper.findById(clusterId); - String stackName = clusterPO.getStackPO().getStackName(); - String stackVersion = clusterPO.getStackPO().getStackVersion(); + ClusterPO clusterPO = clusterMapper.findByIdJoin(clusterId); + String stackName = clusterPO.getStackName(); + String stackVersion = clusterPO.getStackVersion(); List serviceNames = serviceCommands.stream().map(ServiceCommandDTO::getServiceName).toList(); @@ -73,8 +73,7 @@ public void validate(ValidatorContext context) { return; } - List servicePOList = - serviceRepository.findByClusterPOIdAndServiceNameIn(clusterId, requiredServices); + List servicePOList = serviceMapper.findByClusterIdAndServiceNameIn(clusterId, requiredServices); List list = servicePOList.stream().map(ServicePO::getServiceName).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java index f6a4dd115..67bad2b3d 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -39,7 +39,7 @@ public class ServiceHostValidator implements CommandValidator { @Resource - private HostRepository hostRepository; + private HostMapper hostMapper; @Override public List getCommandIdentifiers() { @@ -56,7 +56,7 @@ public void validate(ValidatorContext context) { .flatMap(x -> x.getHostnames().stream()) .collect(Collectors.toSet()); - List hostnames = hostRepository.findAllByHostnameIn(hostnameSet); + List hostnames = hostMapper.findAllByHostnameIn(hostnameSet); if (hostnames.size() != hostnameSet.size()) { throw new ApiException(ApiExceptionEnum.HOST_NOT_FOUND); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java index 42404c044..c07920b02 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; +import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.StackPO; -import org.apache.bigtop.manager.dao.repository.StackRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -36,7 +36,7 @@ public class StackValidator implements CommandValidator { @Resource - private StackRepository stackRepository; + private StackMapper stackMapper; @Override public List getCommandIdentifiers() { @@ -49,7 +49,7 @@ public void validate(ValidatorContext context) { String stackName = clusterCommand.getStackName(); String stackVersion = clusterCommand.getStackVersion(); - StackPO stackPO = stackRepository.findByStackNameAndStackVersion(stackName, stackVersion); + StackPO stackPO = stackMapper.findByStackNameAndStackVersion(stackName, stackVersion); if (stackPO == null) { throw new ApiException(ApiExceptionEnum.STACK_NOT_FOUND); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java index b093dfd9b..96fbca630 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java @@ -45,10 +45,9 @@ public interface ClusterConverter { ClusterDTO fromPO2DTO(ClusterPO clusterPO); - @Mapping(target = "stackName", source = "stackPO.stackName") - @Mapping(target = "stackVersion", source = "stackPO.stackVersion") ClusterVO fromEntity2VO(ClusterPO clusterPO); - @Mapping(target = "stackPO", expression = "java(stackPO)") + @Mapping(target = "stackName", expression = "java(stackPO.getStackName())") + @Mapping(target = "stackVersion", expression = "java(stackPO.getStackVersion())") ClusterPO fromDTO2PO(ClusterDTO clusterDTO, StackDTO stackDTO, @Context StackPO stackPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/ClusterVO.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/ClusterVO.java index dca7b9f2b..d9c168a4c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/ClusterVO.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/ClusterVO.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.server.model.vo; -import org.apache.bigtop.manager.common.enums.MaintainState; - import lombok.Data; @Data @@ -37,5 +35,5 @@ public class ClusterVO { private Boolean selected; - private MaintainState state; + private String state; } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java index 75187423f..d28dc052c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/PageVO.java @@ -18,12 +18,11 @@ */ package org.apache.bigtop.manager.server.model.vo; -import com.github.pagehelper.PageInfo; import org.apache.bigtop.manager.server.exception.ServerException; import org.mapstruct.factory.Mappers; -import org.springframework.data.domain.Page; +import com.github.pagehelper.PageInfo; import lombok.Data; import java.lang.reflect.Method; @@ -44,29 +43,6 @@ public static PageVO of(List content, Long total) { return res; } - @SuppressWarnings("unchecked") - public static PageVO of(Page page) { - List content = new ArrayList<>(); - if (page.hasContent()) { - try { - Class clz = (Class) page.getContent().get(0).getClass(); - String className = "org.apache.bigtop.manager.server.model.converter." - + clz.getSimpleName().replace("PO", "") + "Converter"; - Class mapper = Class.forName(className); - Object o = Mappers.getMapper(mapper); - Method method = o.getClass().getDeclaredMethod("fromPO2VO", List.class); - content = (List) method.invoke(o, page.getContent()); - } catch (Exception e) { - throw new ServerException(e); - } - } - - PageVO res = new PageVO<>(); - res.setContent(content); - res.setTotal(page.getTotalElements()); - return res; - } - @SuppressWarnings("unchecked") public static PageVO of(PageInfo page) { List content = new ArrayList<>(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java index 43882aba5..d31a680de 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java @@ -19,13 +19,8 @@ package org.apache.bigtop.manager.server.scheduler; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.po.ClusterPO; -import org.apache.bigtop.manager.dao.po.ComponentPO; +import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; import org.apache.bigtop.manager.dao.po.HostComponentPO; -import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.po.ServicePO; -import org.apache.bigtop.manager.dao.po.StackPO; -import org.apache.bigtop.manager.dao.repository.HostComponentRepository; import org.apache.bigtop.manager.grpc.generated.ComponentStatusReply; import org.apache.bigtop.manager.grpc.generated.ComponentStatusRequest; import org.apache.bigtop.manager.grpc.generated.ComponentStatusServiceGrpc; @@ -46,46 +41,43 @@ public class ComponentStatusScheduler { @Resource - private HostComponentRepository hostComponentRepository; + private HostComponentMapper hostComponentMapper; @Async @Scheduled(fixedDelay = 30, timeUnit = TimeUnit.SECONDS) public void execute() { - List hostComponentPOList = hostComponentRepository.findAll(); + List hostComponentPOList = hostComponentMapper.findAllJoin(); for (HostComponentPO hostComponentPO : hostComponentPOList) { // Only check services which should be in running - if (!List.of(MaintainState.STARTED, MaintainState.STOPPED).contains(hostComponentPO.getState())) { + if (!List.of(MaintainState.STARTED, MaintainState.STOPPED) + .contains(MaintainState.fromString(hostComponentPO.getState()))) { continue; } - HostPO hostPO = hostComponentPO.getHostPO(); - ComponentPO componentPO = hostComponentPO.getComponentPO(); - ServicePO servicePO = componentPO.getServicePO(); - ClusterPO clusterPO = hostPO.getClusterPO(); - StackPO stackPO = clusterPO.getStackPO(); - ComponentStatusRequest request = ComponentStatusRequest.newBuilder() - .setServiceName(servicePO.getServiceName()) - .setServiceUser(servicePO.getServiceUser()) - .setComponentName(componentPO.getComponentName()) - .setCommandScript(componentPO.getCommandScript()) - .setRoot(clusterPO.getRoot()) - .setStackName(stackPO.getStackName()) - .setStackVersion(stackPO.getStackVersion()) + .setServiceName(hostComponentPO.getServiceName()) + .setServiceUser(hostComponentPO.getServiceUser()) + .setComponentName(hostComponentPO.getComponentName()) + .setCommandScript(hostComponentPO.getCommandScript()) + .setRoot(hostComponentPO.getRoot()) + .setStackName(hostComponentPO.getStackName()) + .setStackVersion(hostComponentPO.getStackVersion()) .build(); ComponentStatusServiceGrpc.ComponentStatusServiceBlockingStub blockingStub = GrpcClient.getBlockingStub( - hostPO.getHostname(), ComponentStatusServiceGrpc.ComponentStatusServiceBlockingStub.class); + hostComponentPO.getHostname(), ComponentStatusServiceGrpc.ComponentStatusServiceBlockingStub.class); ComponentStatusReply reply = blockingStub.getComponentStatus(request); // Status 0 means the service is running - if (reply.getStatus() == 0 && hostComponentPO.getState() == MaintainState.STOPPED) { - hostComponentPO.setState(MaintainState.STARTED); - hostComponentRepository.save(hostComponentPO); + if (reply.getStatus() == 0 + && MaintainState.fromString(hostComponentPO.getState()) == MaintainState.STOPPED) { + hostComponentPO.setState(MaintainState.STARTED.getName()); + hostComponentMapper.updateById(hostComponentPO); } - if (reply.getStatus() != 0 && hostComponentPO.getState() == MaintainState.STARTED) { - hostComponentPO.setState(MaintainState.STOPPED); - hostComponentRepository.save(hostComponentPO); + if (reply.getStatus() != 0 + && MaintainState.fromString(hostComponentPO.getState()) == MaintainState.STARTED) { + hostComponentPO.setState(MaintainState.STOPPED.getName()); + hostComponentMapper.updateById(hostComponentPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java index 7c0b9377a..af7f2769c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.scheduler; import org.apache.bigtop.manager.common.enums.MaintainState; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.grpc.generated.HostInfoReply; import org.apache.bigtop.manager.grpc.generated.HostInfoRequest; import org.apache.bigtop.manager.grpc.generated.HostInfoServiceGrpc; @@ -41,12 +41,12 @@ public class HostInfoScheduler { @Resource - private HostRepository hostRepository; + private HostMapper hostMapper; @Async @Scheduled(fixedDelay = 30, timeUnit = TimeUnit.SECONDS) public void execute() { - List hostPOList = hostRepository.findAll(); + List hostPOList = hostMapper.findAll(); for (HostPO hostPO : hostPOList) { getHostInfo(hostPO); } @@ -69,12 +69,12 @@ private void getHostInfo(HostPO hostPO) { hostPO.setFreeDisk(reply.getFreeDisk()); hostPO.setTotalDisk(reply.getTotalDisk()); - hostPO.setState(MaintainState.STARTED); + hostPO.setState(MaintainState.STARTED.getName()); } catch (Exception e) { log.error("Error getting host info", e); - hostPO.setState(MaintainState.STOPPED); + hostPO.setState(MaintainState.STOPPED.getName()); } - hostRepository.save(hostPO); + hostMapper.updateById(hostPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java index 0c9d5c298..8fac62a58 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java @@ -41,7 +41,6 @@ import lombok.extern.slf4j.Slf4j; import jakarta.annotation.Resource; - import java.util.ArrayList; import java.util.List; @@ -64,7 +63,7 @@ public class ClusterServiceImpl implements ClusterService { @Override public List list() { List clusterVOList = new ArrayList<>(); - clusterMapper.findAll().forEach(cluster -> { + clusterMapper.findAllByJoin().forEach(cluster -> { ClusterVO clusterVO = ClusterConverter.INSTANCE.fromEntity2VO(cluster); clusterVOList.add(clusterVO); }); @@ -82,7 +81,7 @@ public ClusterVO save(ClusterDTO clusterDTO) { .getLeft(); ClusterPO clusterPO = ClusterConverter.INSTANCE.fromDTO2PO(clusterDTO, stackDTO, stackPO); clusterPO.setSelected(clusterMapper.count() == 0); - clusterPO.setState(MaintainState.UNINSTALLED); + clusterPO.setState(MaintainState.UNINSTALLED.getName()); ClusterPO oldClusterPO = clusterMapper.findByClusterName(clusterDTO.getClusterName()).orElse(new ClusterPO()); @@ -112,8 +111,11 @@ public ClusterVO save(ClusterDTO clusterDTO) { @Override public ClusterVO get(Long id) { - ClusterPO clusterPO = - clusterMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND)); + ClusterPO clusterPO = clusterMapper.findByIdJoin(id); + + if (clusterPO == null) { + throw new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND); + } return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java index dbcbfdb35..f37994d3c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java @@ -20,13 +20,13 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.JobMapper; +import org.apache.bigtop.manager.dao.mapper.StageMapper; +import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.JobRepository; -import org.apache.bigtop.manager.dao.repository.StageRepository; -import org.apache.bigtop.manager.dao.repository.TaskRepository; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.command.factory.JobFactories; import org.apache.bigtop.manager.server.command.factory.JobFactory; @@ -59,13 +59,13 @@ public class CommandServiceImpl implements CommandService { private ClusterMapper clusterMapper; @Resource - private JobRepository jobRepository; + private JobMapper jobMapper; @Resource - private StageRepository stageRepository; + private StageMapper stageMapper; @Resource - private TaskRepository taskRepository; + private TaskMapper taskMapper; @Override public CommandVO command(CommandDTO commandDTO) { @@ -97,27 +97,27 @@ protected JobPO saveJob(Job job) { ClusterPO clusterPO = clusterId == null ? null : clusterMapper.findById(clusterId); JobPO jobPO = job.getJobPO(); - jobPO.setClusterPO(clusterPO); + jobPO.setClusterId(clusterPO.getId()); jobPO.setState(JobState.PENDING); - jobRepository.save(jobPO); + jobMapper.save(jobPO); for (int i = 0; i < job.getStages().size(); i++) { Stage stage = job.getStages().get(i); StagePO stagePO = stage.getStagePO(); - stagePO.setClusterPO(clusterPO); - stagePO.setJobPO(jobPO); + stagePO.setClusterId(clusterPO.getId()); + stagePO.setJobId(jobPO.getId()); stagePO.setOrder(i + 1); stagePO.setState(JobState.PENDING); - stageRepository.save(stagePO); + stageMapper.save(stagePO); for (int j = 0; j < stage.getTasks().size(); j++) { Task task = stage.getTasks().get(j); TaskPO taskPO = task.getTaskPO(); - taskPO.setClusterPO(clusterPO); - taskPO.setJobPO(jobPO); - taskPO.setStagePO(stagePO); + taskPO.setClusterId(clusterPO.getId()); + taskPO.setJobId(jobPO.getId()); + taskPO.setStageId(stagePO.getId()); taskPO.setState(JobState.PENDING); - taskRepository.save(taskPO); + taskMapper.save(taskPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java index 909b0ae86..3fb6d475b 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java @@ -20,13 +20,13 @@ import org.apache.bigtop.manager.common.utils.JsonUtils; import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceConfigMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceMapper; +import org.apache.bigtop.manager.dao.mapper.TypeConfigMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ServiceConfigPO; import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -import org.apache.bigtop.manager.dao.repository.ServiceConfigRepository; -import org.apache.bigtop.manager.dao.repository.ServiceRepository; -import org.apache.bigtop.manager.dao.repository.TypeConfigRepository; import org.apache.bigtop.manager.server.model.converter.ServiceConfigConverter; import org.apache.bigtop.manager.server.model.converter.TypeConfigConverter; import org.apache.bigtop.manager.server.model.dto.PropertyDTO; @@ -34,7 +34,6 @@ import org.apache.bigtop.manager.server.model.vo.ServiceConfigVO; import org.apache.bigtop.manager.server.service.ConfigService; -import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; @@ -50,26 +49,25 @@ public class ConfigServiceImpl implements ConfigService { private ClusterMapper clusterMapper; @Resource - private ServiceRepository serviceRepository; + private ServiceMapper serviceMapper; @Resource - private ServiceConfigRepository serviceConfigRepository; + private ServiceConfigMapper serviceConfigMapper; @Resource - private TypeConfigRepository typeConfigRepository; + private TypeConfigMapper typeConfigMapper; @Override public List list(Long clusterId) { ClusterPO clusterPO = clusterMapper.findById(clusterId); - Sort sort = Sort.by(Sort.Direction.DESC, "version"); - List list = serviceConfigRepository.findAllByClusterPO(clusterPO, sort); + List list = serviceConfigMapper.findAllByClusterId(clusterPO.getId()); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } @Override public List latest(Long clusterId) { ClusterPO clusterPO = clusterMapper.findById(clusterId); - List list = serviceConfigRepository.findAllByClusterPOAndSelectedIsTrue(clusterPO); + List list = serviceConfigMapper.findAllByClusterIdAndSelectedIsTrue(clusterPO.getId()); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } @@ -77,7 +75,7 @@ public List latest(Long clusterId) { public void upsert(Long clusterId, Long serviceId, List configs) { // Save configs ClusterPO clusterPO = clusterMapper.findById(clusterId); - ServicePO servicePO = serviceRepository.getReferenceById(serviceId); + ServicePO servicePO = serviceMapper.findById(serviceId); ServiceConfigPO serviceCurrentConfig = findServiceCurrentConfig(clusterPO, servicePO); if (serviceCurrentConfig == null) { // Add config for new service @@ -89,7 +87,7 @@ public void upsert(Long clusterId, Long serviceId, List configs) } private ServiceConfigPO findServiceCurrentConfig(ClusterPO clusterPO, ServicePO servicePO) { - return serviceConfigRepository.findByClusterPOAndServicePOAndSelectedIsTrue(clusterPO, servicePO); + return serviceConfigMapper.findByClusterIdAndServiceIdAndSelectedIsTrue(clusterPO.getId(), servicePO.getId()); } private void upsertServiceConfig( @@ -98,7 +96,7 @@ private void upsertServiceConfig( if (shouldUpdateConfig(existConfigs, configs)) { // Unselect current config currentConfig.setSelected(false); - serviceConfigRepository.save(currentConfig); + serviceConfigMapper.updateById(currentConfig); // Create a new config String configDesc = "Update config for " + servicePO.getServiceName(); @@ -134,12 +132,12 @@ private void addServiceConfig(ClusterPO clusterPO, ServicePO servicePO, List configs, String configDesc, Integer version) { ServiceConfigPO serviceConfigPO = new ServiceConfigPO(); - serviceConfigPO.setClusterPO(clusterPO); - serviceConfigPO.setServicePO(servicePO); + serviceConfigPO.setClusterId(clusterPO.getId()); + serviceConfigPO.setServiceId(servicePO.getId()); serviceConfigPO.setConfigDesc(configDesc); serviceConfigPO.setVersion(version); serviceConfigPO.setSelected(true); - serviceConfigRepository.save(serviceConfigPO); + serviceConfigMapper.save(serviceConfigPO); for (TypeConfigDTO typeConfigDTO : configs) { String typeName = typeConfigDTO.getTypeName(); @@ -147,8 +145,8 @@ private void addServiceConfig( TypeConfigPO typeConfigPO = new TypeConfigPO(); typeConfigPO.setTypeName(typeName); typeConfigPO.setPropertiesJson(JsonUtils.writeAsString(properties)); - typeConfigPO.setServiceConfigPO(serviceConfigPO); - typeConfigRepository.save(typeConfigPO); + typeConfigPO.setServiceConfigId(serviceConfigPO.getId()); + typeConfigMapper.save(typeConfigPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java index a23d433a9..f318bae50 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; +import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; import org.apache.bigtop.manager.dao.po.HostComponentPO; -import org.apache.bigtop.manager.dao.repository.HostComponentRepository; import org.apache.bigtop.manager.server.model.converter.HostComponentConverter; import org.apache.bigtop.manager.server.model.vo.HostComponentVO; import org.apache.bigtop.manager.server.service.HostComponentService; @@ -36,25 +36,24 @@ public class HostComponentServiceImpl implements HostComponentService { @Resource - private HostComponentRepository hostComponentRepository; + private HostComponentMapper hostComponentMapper; @Override public List list(Long clusterId) { - List hostComponentPOList = hostComponentRepository.findAllByComponentPOClusterPOId(clusterId); + List hostComponentPOList = hostComponentMapper.findAllByClusterId(clusterId); return HostComponentConverter.INSTANCE.fromPO2VO(hostComponentPOList); } @Override public List listByHost(Long clusterId, Long hostId) { - List hostComponentPOList = - hostComponentRepository.findAllByComponentPOClusterPOIdAndHostPOId(clusterId, clusterId); + List hostComponentPOList = hostComponentMapper.findAllByClusterIdAndHostId(clusterId, hostId); return HostComponentConverter.INSTANCE.fromPO2VO(hostComponentPOList); } @Override public List listByService(Long clusterId, Long serviceId) { List hostComponentPOList = - hostComponentRepository.findAllByComponentPOClusterPOIdAndComponentPOServicePOId(clusterId, serviceId); + hostComponentMapper.findAllByClusterIdAndServiceId(clusterId, serviceId); return HostComponentConverter.INSTANCE.fromPO2VO(hostComponentPOList); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java index 785a6273e..aaab0abc8 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java @@ -20,9 +20,9 @@ import org.apache.bigtop.manager.common.enums.MaintainState; import org.apache.bigtop.manager.dao.mapper.ClusterMapper; +import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.HostPO; -import org.apache.bigtop.manager.dao.repository.HostRepository; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.grpc.GrpcClient; @@ -51,11 +51,11 @@ public class HostServiceImpl implements HostService { private ClusterMapper clusterMapper; @Resource - private HostRepository hostRepository; + private HostMapper hostMapper; @Override public List list(Long clusterId) { - List hostPOList = hostRepository.findAllByClusterPOId(clusterId); + List hostPOList = hostMapper.findAllByClusterId(clusterId); if (CollectionUtils.isEmpty(hostPOList)) { throw new ApiException(ApiExceptionEnum.HOST_NOT_FOUND); } @@ -67,7 +67,7 @@ public List list(Long clusterId) { public List batchSave(Long clusterId, List hostnames) { ClusterPO clusterPO = clusterMapper.findById(clusterId); - List hostnameIn = hostRepository.findAllByHostnameIn(hostnames); + List hostnameIn = hostMapper.findAllByHostnameIn(hostnames); List hostPOList = new ArrayList<>(); Map hostInMap = @@ -76,8 +76,8 @@ public List batchSave(Long clusterId, List hostnames) { for (String hostname : hostnames) { HostPO hostPO = new HostPO(); hostPO.setHostname(hostname); - hostPO.setClusterPO(clusterPO); - hostPO.setState(MaintainState.INSTALLED); + hostPO.setClusterId(clusterPO.getId()); + hostPO.setState(MaintainState.INSTALLED.getName()); if (hostInMap.containsKey(hostname)) { hostPO.setId(hostInMap.get(hostname).getId()); @@ -86,7 +86,7 @@ public List batchSave(Long clusterId, List hostnames) { hostPOList.add(hostPO); } - hostRepository.saveAll(hostPOList); + hostMapper.saveAll(hostPOList); return HostConverter.INSTANCE.fromPO2VO(hostPOList); } @@ -94,7 +94,7 @@ public List batchSave(Long clusterId, List hostnames) { @Override public HostVO get(Long id) { HostPO hostPO = - hostRepository.findById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.HOST_NOT_FOUND)); + hostMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.HOST_NOT_FOUND)); return HostConverter.INSTANCE.fromPO2VO(hostPO); } @@ -103,14 +103,14 @@ public HostVO get(Long id) { public HostVO update(Long id, HostDTO hostDTO) { HostPO hostPO = HostConverter.INSTANCE.fromDTO2PO(hostDTO); hostPO.setId(id); - hostRepository.save(hostPO); + hostMapper.updateById(hostPO); return HostConverter.INSTANCE.fromPO2VO(hostPO); } @Override public Boolean delete(Long id) { - hostRepository.deleteById(id); + hostMapper.deleteById(id); return true; } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java index 1670459e1..29ad4d74c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.server.service.impl; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; import org.apache.bigtop.manager.dao.mapper.JobMapper; @@ -48,8 +46,10 @@ import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import jakarta.annotation.Resource; import java.util.List; @Service @@ -85,13 +85,15 @@ public PageVO list(Long clusterId) { @Override public JobVO get(Long id) { - JobPO jobPO = jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); + JobPO jobPO = + jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); return JobConverter.INSTANCE.fromPO2VO(jobPO); } @Override public JobVO retry(Long id) { - JobPO jobPO = jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); + JobPO jobPO = + jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); if (jobPO.getState() != JobState.FAILED) { throw new ApiException(ApiExceptionEnum.JOB_NOT_RETRYABLE); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java index e3643be2d..440247751 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java @@ -21,6 +21,9 @@ import org.apache.bigtop.manager.common.constants.ComponentCategories; import org.apache.bigtop.manager.common.enums.MaintainState; import org.apache.bigtop.manager.common.utils.JsonUtils; +import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceConfigMapper; +import org.apache.bigtop.manager.dao.mapper.ServiceMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; @@ -28,9 +31,6 @@ import org.apache.bigtop.manager.dao.po.ServiceConfigPO; import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -import org.apache.bigtop.manager.dao.repository.HostComponentRepository; -import org.apache.bigtop.manager.dao.repository.ServiceConfigRepository; -import org.apache.bigtop.manager.dao.repository.ServiceRepository; import org.apache.bigtop.manager.server.model.converter.ServiceConverter; import org.apache.bigtop.manager.server.model.converter.TypeConfigConverter; import org.apache.bigtop.manager.server.model.dto.PropertyDTO; @@ -57,24 +57,24 @@ public class ServiceServiceImpl implements ServiceService { @Resource - private ServiceRepository serviceRepository; + private ServiceMapper serviceMapper; @Resource - private HostComponentRepository hostComponentRepository; + private HostComponentMapper hostComponentMapper; @Resource - private ServiceConfigRepository serviceConfigRepository; + private ServiceConfigMapper serviceConfigMapper; @Override public List list(Long clusterId) { List res = new ArrayList<>(); Map> serviceIdToHostComponent = - hostComponentRepository.findAllByComponentPOClusterPOId(clusterId).stream() - .collect(Collectors.groupingBy(hostComponent -> - hostComponent.getComponentPO().getServicePO().getId())); + hostComponentMapper.findAllByClusterId(clusterId).stream() + .collect(Collectors.groupingBy(HostComponentPO::getServiceId)); for (Map.Entry> entry : serviceIdToHostComponent.entrySet()) { List hostComponentPOList = entry.getValue(); + HostComponentPO hostComponentPO1 = hostComponentPOList.get(0); ServicePO servicePO = hostComponentPOList.get(0).getComponentPO().getServicePO(); ServiceVO serviceVO = ServiceConverter.INSTANCE.fromPO2VO(servicePO); serviceVO.setQuickLinks(new ArrayList<>()); @@ -98,7 +98,7 @@ public List list(Long clusterId) { MaintainState expectedState = category.equalsIgnoreCase(ComponentCategories.CLIENT) ? MaintainState.INSTALLED : MaintainState.STARTED; - if (!hostComponentPO.getState().equals(expectedState)) { + if (!MaintainState.fromString(hostComponentPO.getState()).equals(expectedState)) { isHealthy = false; } } @@ -113,7 +113,7 @@ public List list(Long clusterId) { @Override public ServiceVO get(Long id) { - ServicePO servicePO = serviceRepository.findById(id).orElse(new ServicePO()); + ServicePO servicePO = serviceMapper.findOptionalById(id).orElse(new ServicePO()); return ServiceConverter.INSTANCE.fromPO2VO(servicePO); } @@ -128,7 +128,7 @@ private QuickLinkVO resolveQuickLink(HostComponentPO hostComponentPO, String qui HostPO hostPO = hostComponentPO.getHostPO(); ServicePO servicePO = componentPO.getServicePO(); ServiceConfigPO serviceConfigPO = - serviceConfigRepository.findByClusterPOAndServicePOAndSelectedIsTrue(clusterPO, servicePO); + serviceConfigMapper.findByClusterIdAndServiceIdAndSelectedIsTrue(clusterPO.getId(), servicePO.getId()); List typeConfigPOList = serviceConfigPO.getConfigs(); // Use HTTP for now, need to handle https in the future diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java index 62b5613a3..99b9dece6 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.JobState; +import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.TaskPO; -import org.apache.bigtop.manager.dao.repository.TaskRepository; import org.apache.bigtop.manager.grpc.generated.TaskLogReply; import org.apache.bigtop.manager.grpc.generated.TaskLogRequest; import org.apache.bigtop.manager.grpc.generated.TaskLogServiceGrpc; @@ -38,10 +38,10 @@ public class TaskLogServiceImpl implements TaskLogService { @Resource - private TaskRepository taskRepository; + private TaskMapper taskMapper; public void registerSink(Long taskId, FluxSink sink) { - TaskPO taskPO = taskRepository.getReferenceById(taskId); + TaskPO taskPO = taskMapper.findById(taskId); String hostname = taskPO.getHostname(); if (taskPO.getState() == JobState.PENDING || taskPO.getState() == JobState.CANCELED) { diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java index 83124a9e0..de2443702 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java @@ -41,14 +41,16 @@ public class UserServiceImpl implements UserService { @Override public UserVO current() { Long id = SessionUserHolder.getUserId(); - UserPO userPO = userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = + userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); return UserConverter.INSTANCE.fromPO2VO(userPO); } @Override public UserVO update(UserDTO userDTO) { Long id = SessionUserHolder.getUserId(); - UserPO userPO = userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = + userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); userPO.setNickname(userDTO.getNickname()); userMapper.updateById(userPO); return UserConverter.INSTANCE.fromPO2VO(userPO); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java index b3c76c8be..222cc3928 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.stack; +import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.StackPO; -import org.apache.bigtop.manager.dao.repository.StackRepository; import org.apache.bigtop.manager.server.model.dto.ServiceDTO; import org.apache.bigtop.manager.server.model.dto.StackDTO; import org.apache.bigtop.manager.server.utils.StackUtils; @@ -46,7 +46,7 @@ public class StackInitializer implements ApplicationListener { @Resource - private StackRepository stackRepository; + private StackMapper stackMapper; @Override public void onApplicationEvent(@Nonnull ApplicationStartedEvent event) { @@ -58,13 +58,13 @@ public void onApplicationEvent(@Nonnull ApplicationStartedEvent event) { String stackName = stackDTO.getStackName(); String stackVersion = stackDTO.getStackVersion(); - StackPO stackPO = stackRepository.findByStackNameAndStackVersion(stackName, stackVersion); + StackPO stackPO = stackMapper.findByStackNameAndStackVersion(stackName, stackVersion); if (stackPO == null) { stackPO = new StackPO(); stackPO.setStackName(stackName); stackPO.setStackVersion(stackVersion); - stackRepository.save(stackPO); + stackMapper.save(stackPO); } } diff --git a/bigtop-manager-server/src/main/resources/application.yml b/bigtop-manager-server/src/main/resources/application.yml index 2fab0f1d3..4b42f1c5f 100644 --- a/bigtop-manager-server/src/main/resources/application.yml +++ b/bigtop-manager-server/src/main/resources/application.yml @@ -19,9 +19,6 @@ bigtop: manager: - orm: - # hibernate/eclipselink(default=eclipselink) - type: eclipselink grpc: port: 8835 @@ -74,6 +71,7 @@ mybatis: configuration: map-underscore-to-camel-case: true database-id: mysql + use-generated-keys: true pagehelper: reasonable: false From 06284c67095ae0a7c07f8b3eb83236895b7879d6 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Sat, 24 Aug 2024 17:30:08 +0800 Subject: [PATCH 04/17] transfer to mybatis --- .../bigtop/manager/common/enums/JobState.java | 18 +++-- .../manager/dao/mapper/ComponentMapper.java | 2 + .../dao/mapper/HostComponentMapper.java | 1 - .../bigtop/manager/dao/mapper/HostMapper.java | 2 + .../bigtop/manager/dao/po/ComponentPO.java | 7 ++ .../manager/dao/po/HostComponentPO.java | 20 ++++- .../apache/bigtop/manager/dao/po/HostPO.java | 5 ++ .../apache/bigtop/manager/dao/po/JobPO.java | 2 +- .../manager/dao/po/ServiceConfigPO.java | 5 ++ .../mapper/mysql/ComponentMapper.xml | 17 ++-- .../mapper/mysql/HostComponentMapper.xml | 42 +++++++--- .../resources/mapper/mysql/HostMapper.xml | 37 ++++++++- .../main/resources/mapper/mysql/JobMapper.xml | 54 +++++++++++-- .../mapper/mysql/ServiceConfigMapper.xml | 78 ++++++++++++++----- .../server/command/job/AbstractJob.java | 6 +- .../model/converter/ComponentConverter.java | 2 - .../converter/HostComponentConverter.java | 7 -- .../server/model/converter/HostConverter.java | 2 - .../converter/ServiceConfigConverter.java | 2 - .../server/model/vo/HostComponentVO.java | 4 +- .../manager/server/model/vo/HostVO.java | 4 +- .../bigtop/manager/server/model/vo/JobVO.java | 4 +- .../service/impl/CommandServiceImpl.java | 2 +- .../service/impl/ConfigServiceImpl.java | 6 +- .../server/service/impl/HostServiceImpl.java | 7 +- .../server/service/impl/JobServiceImpl.java | 4 +- .../manager/server/utils/PageUtils.java | 6 +- .../main/resources/ddl/MySQL-DDL-CREATE.sql | 1 + 28 files changed, 255 insertions(+), 92 deletions(-) diff --git a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java index 1789bead3..2fbae3916 100644 --- a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java +++ b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java @@ -18,23 +18,31 @@ */ package org.apache.bigtop.manager.common.enums; +import lombok.AllArgsConstructor; +import lombok.Getter; import org.apache.bigtop.manager.common.utils.CaseUtils; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +@AllArgsConstructor +@Getter public enum JobState { - PENDING, + PENDING("pending", "Pending"), - PROCESSING, + PROCESSING("processing", "Processing"), - SUCCESSFUL, + SUCCESSFUL("successful", "Successful"), - FAILED, + FAILED("failed", "Failed"), - CANCELED, + CANCELED("canceled", "Canceled"), ; + private final String code; + + private final String name; + @JsonCreator public static JobState fromString(String value) { return JobState.valueOf(value.toUpperCase()); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java index 65f94003f..2e2d3a7eb 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java @@ -30,6 +30,8 @@ public interface ComponentMapper extends BaseMapper { ComponentPO findByClusterIdAndComponentName( @Param("clusterId") Long clusterId, @Param("componentName") String componentName); + ComponentPO findByIdJoin(@Param("id") Long id); + List findAllByClusterId(@Param("clusterId") Long clusterId); List findAllJoinService(); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java index bb20b28c3..69f2327a4 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java @@ -51,5 +51,4 @@ List findAllByClusterIdAndComponentNameAndHostnameIn( List findAllByClusterIdAndServiceId( @Param("clusterId") Long clusterId, @Param("serviceId") Long serviceId); - List findAllByComponentPOServicePOId(Long serviceId); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java index 3fb269425..393e600c2 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java @@ -35,4 +35,6 @@ public interface HostMapper extends BaseMapper { List findAllByHostnameIn(@Param("hostnames") Collection hostnames); List findAllByClusterId(@Param("clusterId") Long clusterId); + + HostPO findByIdJoin(@Param("id") Long id); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java index edfadf096..ca62b5749 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java @@ -86,6 +86,9 @@ public class ComponentPO extends BasePO implements Serializable { @Column(name = "quick_link") private String quickLink; + @Column(name = "cardinality") + private String cardinality; + @Column(name = "service_id") private Long serviceId; @@ -96,6 +99,10 @@ public class ComponentPO extends BasePO implements Serializable { @Column(name = "service_name") private String serviceName; + @Transient + @Column(name = "cluster_name") + private String clusterName; + @ManyToOne @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private ServicePO servicePO; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java index 898a2991f..476d20bc4 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java @@ -78,6 +78,14 @@ public class HostComponentPO extends BasePO implements Serializable { @Column(name = "service_id") private Long serviceId; + @Transient + @Column(name = "cluster_name") + private String clusterName; + + @Transient + @Column(name = "root") + private String root; + @Transient @Column(name = "service_name") private String serviceName; @@ -86,14 +94,18 @@ public class HostComponentPO extends BasePO implements Serializable { @Column(name = "service_user") private String serviceUser; - @Transient - @Column(name = "\"root\"") - private String root; - @Transient @Column(name = "component_name") private String componentName; + @Transient + @Column(name = "display_name") + private String displayName; + + @Transient + @Column(name = "category") + private String category; + @Transient @Column(name = "command_script") private String commandScript; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java index c66c4bdd2..efa18db8e 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java @@ -18,6 +18,7 @@ */ package org.apache.bigtop.manager.dao.po; +import jakarta.persistence.Transient; import lombok.Data; import lombok.EqualsAndHashCode; @@ -91,6 +92,10 @@ public class HostPO extends BasePO implements Serializable { @Column(name = "cluster_id") private Long clusterId; + @Transient + @Column(name = "cluster_name") + private String clusterName; + @ManyToOne @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private ClusterPO clusterPO; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java index 98a02844e..cbbec19db 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java @@ -58,7 +58,7 @@ public class JobPO extends BasePO implements Serializable { private Long id; @Column(name = "state") - private JobState state; + private String state; @Column(name = "name") private String name; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java index a5753bb81..1cdac4733 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java @@ -18,6 +18,7 @@ */ package org.apache.bigtop.manager.dao.po; +import jakarta.persistence.Transient; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -78,6 +79,10 @@ public class ServiceConfigPO extends BasePO implements Serializable { @Column(name = "cluster_id") private Long clusterId; + @Transient + @Column(name = "service_name") + private String serviceName; + @ManyToOne @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private ServicePO servicePO; diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml index d401ad683..bc3400522 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml @@ -24,10 +24,10 @@ - id, component_name, display_name, command_script, custom_commands, category, quick_link, service_id, cluster_id + id, component_name, display_name, command_script, custom_commands, category, quick_link, cardinality, service_id, cluster_id - ${alias}.id, ${alias}.component_name, ${alias}.command_script, ${alias}.custom_commands, ${alias}.category, ${alias}.quick_link, ${alias}.service_id, ${alias}.cluster_id + ${alias}.id, ${alias}.component_name, ${alias}.display_name, ${alias}.command_script, ${alias}.custom_commands, ${alias}.category, ${alias}.quick_link, ${alias}.cardinality, ${alias}.service_id, ${alias}.cluster_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml index 50b2ee9fb..d10d494a9 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml @@ -57,19 +57,26 @@ + , c.service_id, c.component_name, c.display_name, c.category, s.service_name, clus.cluster_name, ht.hostname from host_component hc left join (select * from component - - service_id = #{serviceId} - - and cluster_id = #{clusterId} + cluster_id = #{clusterId} + + + and service_id = #{serviceId} ) c on hc.component_id = c.id + left join service s + on c.service_id = s.id + left join cluster clus + on c.cluster_id = clus.id + left join host ht + on hc.host_id = ht.id select @@ -40,17 +44,44 @@ limit 1 + + select - + + + from - job + (select * from job cluster_id = #{clusterId} + ) h + left join stage st + on h.id = st.job_id \ No newline at end of file diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml index 47b6f75c5..b8f8d316d 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml @@ -24,34 +24,61 @@ - id, config_desc, version, selected, service_id, cluster_id + id, config_desc, version, selected, service_id, cluster_id, create_time, update_time - select - + + + + , s.service_name, tc.* from - service + (select * from service_config cluster_id = #{clusterId} - - service_id = #{serviceId} - + ) r + left join service s + on r.service_id = s.id + left join type_config tc + on r.id = tc.service_config_id order by version desc - select - + + + + , s.service_name, tc.* from - service - where selected = 'true' + (select * from service_config + selected = 1 and cluster_id = #{clusterId} @@ -59,22 +86,33 @@ and service_name = #{serviceName} + ) r + left join service s + on r.service_id = s.id + left join type_config tc + on r.id = tc.service_config_id limit 1 - select - + + + + , s.service_name, tc.* from - service - where selected = 'true' + (select * from service_config + selected = 1 - cluster_id = #{clusterId} + and cluster_id = #{clusterId} - limit 1 + ) r + left join service s + on r.service_id = s.id + left join type_config tc + on r.id = tc.service_config_id \ No newline at end of file diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index 310200cce..f6b0b717c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -85,7 +85,7 @@ protected void beforeCreateStages() { @Override public void beforeRun() { JobPO jobPO = getJobPO(); - jobPO.setState(JobState.PROCESSING); + jobPO.setState(JobState.PROCESSING.getName()); jobMapper.save(jobPO); } @@ -120,7 +120,7 @@ public void run() { @Override public void onSuccess() { JobPO jobPO = getJobPO(); - jobPO.setState(JobState.SUCCESSFUL); + jobPO.setState(JobState.SUCCESSFUL.getName()); jobMapper.updateById(jobPO); } @@ -130,7 +130,7 @@ public void onFailure() { List stagePOList = new ArrayList<>(); List taskPOList = new ArrayList<>(); - jobPO.setState(JobState.FAILED); + jobPO.setState(JobState.FAILED.getName()); for (Stage stage : getStages()) { StagePO stagePO = stage.getStagePO(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ComponentConverter.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ComponentConverter.java index d630b2a09..73fff20eb 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ComponentConverter.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ComponentConverter.java @@ -54,8 +54,6 @@ public interface ComponentConverter { @Mapping(target = "componentName", source = "name") ComponentDTO fromModel2DTO(ComponentModel componentModel); - @Mapping(target = "serviceName", source = "servicePO.serviceName") - @Mapping(target = "clusterName", source = "clusterPO.clusterName") ComponentVO fromPO2VO(ComponentPO componentPO); List fromPO2VO(List componentPOList); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostComponentConverter.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostComponentConverter.java index 1ed9df1a6..8d536ddb4 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostComponentConverter.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostComponentConverter.java @@ -23,7 +23,6 @@ import org.apache.bigtop.manager.server.model.vo.HostComponentVO; import org.mapstruct.Mapper; -import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; import java.util.List; @@ -33,12 +32,6 @@ public interface HostComponentConverter { HostComponentConverter INSTANCE = Mappers.getMapper(HostComponentConverter.class); - @Mapping(target = "componentName", source = "componentPO.componentName") - @Mapping(target = "displayName", source = "componentPO.displayName") - @Mapping(target = "category", source = "componentPO.category") - @Mapping(target = "serviceName", source = "componentPO.servicePO.serviceName") - @Mapping(target = "clusterName", source = "componentPO.clusterPO.clusterName") - @Mapping(target = "hostname", source = "hostPO.hostname") HostComponentVO fromPO2VO(HostComponentPO hostComponentPO); List fromPO2VO(List hostComponentPOList); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java index 175555bcf..66eeb121a 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java @@ -25,7 +25,6 @@ import org.apache.bigtop.manager.server.model.vo.HostVO; import org.mapstruct.Mapper; -import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; import java.util.List; @@ -39,7 +38,6 @@ public interface HostConverter { HostPO fromDTO2PO(HostDTO hostDTO); - @Mapping(target = "clusterName", source = "clusterPO.clusterName") HostVO fromPO2VO(HostPO hostPO); List fromPO2VO(List hostPOList); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ServiceConfigConverter.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ServiceConfigConverter.java index a5a29f436..6a163a095 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ServiceConfigConverter.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ServiceConfigConverter.java @@ -23,7 +23,6 @@ import org.apache.bigtop.manager.server.model.vo.ServiceConfigVO; import org.mapstruct.Mapper; -import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; import java.util.List; @@ -35,7 +34,6 @@ public interface ServiceConfigConverter { ServiceConfigConverter INSTANCE = Mappers.getMapper(ServiceConfigConverter.class); - @Mapping(target = "serviceName", source = "servicePO.serviceName") ServiceConfigVO fromPO2VO(ServiceConfigPO serviceConfigPO); List fromPO2VO(List serviceConfigPOList); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostComponentVO.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostComponentVO.java index 8611000c0..4e06cc2b6 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostComponentVO.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostComponentVO.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.server.model.vo; -import org.apache.bigtop.manager.common.enums.MaintainState; - import lombok.Data; @Data @@ -39,5 +37,5 @@ public class HostComponentVO { private String hostname; - private MaintainState state; + private String state; } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostVO.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostVO.java index 2a9c47264..c52ea3ebf 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostVO.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/HostVO.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.server.model.vo; -import org.apache.bigtop.manager.common.enums.MaintainState; - import lombok.Data; @Data @@ -49,5 +47,5 @@ public class HostVO { private Long totalDisk; - private MaintainState state; + private String state; } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/JobVO.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/JobVO.java index 099863052..d36ed3a0b 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/JobVO.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/JobVO.java @@ -18,8 +18,6 @@ */ package org.apache.bigtop.manager.server.model.vo; -import org.apache.bigtop.manager.common.enums.JobState; - import lombok.Data; import java.util.List; @@ -31,7 +29,7 @@ public class JobVO { private List stages; - private JobState state; + private String state; private String name; diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java index f37994d3c..a0029610f 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java @@ -98,7 +98,7 @@ protected JobPO saveJob(Job job) { JobPO jobPO = job.getJobPO(); jobPO.setClusterId(clusterPO.getId()); - jobPO.setState(JobState.PENDING); + jobPO.setState(JobState.PENDING.getName()); jobMapper.save(jobPO); for (int i = 0; i < job.getStages().size(); i++) { diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java index 3fb6d475b..010c42391 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java @@ -59,15 +59,13 @@ public class ConfigServiceImpl implements ConfigService { @Override public List list(Long clusterId) { - ClusterPO clusterPO = clusterMapper.findById(clusterId); - List list = serviceConfigMapper.findAllByClusterId(clusterPO.getId()); + List list = serviceConfigMapper.findAllByClusterId(clusterId); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } @Override public List latest(Long clusterId) { - ClusterPO clusterPO = clusterMapper.findById(clusterId); - List list = serviceConfigMapper.findAllByClusterIdAndSelectedIsTrue(clusterPO.getId()); + List list = serviceConfigMapper.findAllByClusterIdAndSelectedIsTrue(clusterId); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java index aaab0abc8..39d6bb2f3 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java @@ -38,6 +38,7 @@ import lombok.extern.slf4j.Slf4j; import jakarta.annotation.Resource; + import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -93,8 +94,10 @@ public List batchSave(Long clusterId, List hostnames) { @Override public HostVO get(Long id) { - HostPO hostPO = - hostMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.HOST_NOT_FOUND)); + HostPO hostPO = hostMapper.findByIdJoin(id); + if (hostPO == null) { + throw new ApiException(ApiExceptionEnum.HOST_NOT_FOUND); + } return HostConverter.INSTANCE.fromPO2VO(hostPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java index 29ad4d74c..39cc9ae87 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java @@ -94,7 +94,7 @@ public JobVO get(Long id) { public JobVO retry(Long id) { JobPO jobPO = jobMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); - if (jobPO.getState() != JobState.FAILED) { + if (JobState.fromString(jobPO.getState()) != JobState.FAILED) { throw new ApiException(ApiExceptionEnum.JOB_NOT_RETRYABLE); } @@ -116,7 +116,7 @@ private void resetJobStatusInDB(JobPO jobPO) { stageMapper.updateById(stagePO); } - jobPO.setState(JobState.PENDING); + jobPO.setState(JobState.PENDING.getName()); jobMapper.updateById(jobPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java index f035b0a14..34e2c5019 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/PageUtils.java @@ -45,15 +45,15 @@ public class PageUtils { public static PageQuery getPageQuery() { PageQuery query = new PageQuery(); - query.setPageNum(NumberUtils.toInt(ServletUtils.getParameter(PAGE_NUM), DEFAULT_PAGE_NUM) - 1); + query.setPageNum(NumberUtils.toInt(ServletUtils.getParameter(PAGE_NUM), DEFAULT_PAGE_NUM)); query.setPageSize(NumberUtils.toInt(ServletUtils.getParameter(PAGE_SIZE), DEFAULT_PAGE_SIZE)); String orderBy = StringUtils.defaultIfBlank(ServletUtils.getParameter(ORDER_BY), DEFAULT_ORDER_BY); String sort = StringUtils.defaultIfBlank(ServletUtils.getParameter(SORT), SORT_ASC); if (SORT_DESC.equals(sort)) { - query.setOrderBy("ORDER BY " + orderBy + " DESC "); + query.setOrderBy(orderBy + " DESC "); } else { - query.setOrderBy("ORDER BY " + orderBy + " ASC "); + query.setOrderBy(orderBy + " ASC "); } return query; diff --git a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql index ba9147fc6..081f49d66 100644 --- a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql +++ b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql @@ -109,6 +109,7 @@ CREATE TABLE `component` `custom_commands` LONGTEXT, `display_name` VARCHAR(255), `quick_link` VARCHAR(255), + `cardinality` VARCHAR(255), `update_by` BIGINT, `update_time` DATETIME, `cluster_id` BIGINT, From 72bbed7ffefaedcce55bf37333357f3dfe327d3d Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Mon, 26 Aug 2024 18:54:15 +0800 Subject: [PATCH 05/17] update --- .../bigtop/manager/common/enums/Command.java | 28 ++++-- .../bigtop/manager/common/enums/JobState.java | 4 +- .../dao/mapper/HostComponentMapper.java | 1 - .../bigtop/manager/dao/mapper/JobMapper.java | 3 + .../manager/dao/mapper/ServiceMapper.java | 3 + .../bigtop/manager/dao/po/ComponentPO.java | 12 --- .../apache/bigtop/manager/dao/po/HostPO.java | 10 +- .../apache/bigtop/manager/dao/po/JobPO.java | 16 +--- .../apache/bigtop/manager/dao/po/RepoPO.java | 8 -- .../manager/dao/po/ServiceConfigPO.java | 14 +-- .../bigtop/manager/dao/po/ServicePO.java | 22 +++-- .../apache/bigtop/manager/dao/po/StagePO.java | 22 +---- .../apache/bigtop/manager/dao/po/TaskPO.java | 25 +---- .../bigtop/manager/dao/po/TypeConfigPO.java | 8 -- .../apache/bigtop/manager/dao/po/UserPO.java | 4 +- .../bigtop/manager/dao/sql/SQLBuilder.java | 4 +- .../resources/mapper/mysql/HostMapper.xml | 2 +- .../main/resources/mapper/mysql/JobMapper.xml | 91 +++++++++++++------ .../mapper/mysql/ServiceConfigMapper.xml | 34 +++---- .../resources/mapper/mysql/ServiceMapper.xml | 63 ++++++++++++- .../server/command/job/AbstractJob.java | 6 +- .../server/command/job/ClusterCreateJob.java | 6 +- .../server/command/stage/AbstractStage.java | 6 +- .../server/command/task/AbstractTask.java | 8 +- .../command/task/CacheFileUpdateTask.java | 6 +- .../model/converter/ComponentConverter.java | 4 +- .../server/model/converter/JobConverter.java | 1 - .../server/model/converter/RepoConverter.java | 4 +- .../model/converter/ServiceConverter.java | 6 +- .../model/converter/StageConverter.java | 1 - .../manager/server/model/vo/StageVO.java | 4 +- .../manager/server/model/vo/TaskVO.java | 4 +- .../service/impl/CommandServiceImpl.java | 22 ++--- .../server/service/impl/HostServiceImpl.java | 1 - .../server/service/impl/JobServiceImpl.java | 18 ++-- .../service/impl/ServiceServiceImpl.java | 83 ++++++++--------- .../service/impl/TaskLogServiceImpl.java | 5 +- .../src/main/resources/application.yml | 2 +- .../src/main/resources/assembly/server.xml | 4 + .../main/resources/ddl/MySQL-DDL-CREATE.sql | 43 ++------- dev-support/docker/rocky8/build-containers.sh | 1 + 41 files changed, 300 insertions(+), 309 deletions(-) diff --git a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java index c6d37864b..a379fcaab 100644 --- a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java +++ b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java @@ -22,29 +22,37 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; +@AllArgsConstructor +@Getter public enum Command { - CREATE, + CREATE("create", "Create"), - INSTALL, + INSTALL("install", "Install"), - UNINSTALL, + UNINSTALL("uninstall", "Uninstall"), - START, + START("start", "Start"), - STOP, + STOP("stop", "Stop"), - STATUS, + STATUS("status", "Status"), - RESTART, + RESTART("restart", "Restart"), - CONFIGURE, + CONFIGURE("configure", "Configure"), - CHECK, + CHECK("check", "Check"), - CUSTOM, + CUSTOM("custom", "Custom"), ; + private final String code; + + private final String name; + @JsonCreator public static Command fromString(String value) { return Command.valueOf(value.toUpperCase()); diff --git a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java index 2fbae3916..04e1a8056 100644 --- a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java +++ b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/JobState.java @@ -18,12 +18,12 @@ */ package org.apache.bigtop.manager.common.enums; -import lombok.AllArgsConstructor; -import lombok.Getter; import org.apache.bigtop.manager.common.utils.CaseUtils; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; @AllArgsConstructor @Getter diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java index 69f2327a4..8b41a1cea 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java @@ -50,5 +50,4 @@ List findAllByClusterIdAndComponentNameAndHostnameIn( List findAllByClusterIdAndServiceId( @Param("clusterId") Long clusterId, @Param("serviceId") Long serviceId); - } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java index 97a849ad7..e984ceba4 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java @@ -24,10 +24,13 @@ import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Optional; public interface JobMapper extends BaseMapper { List findAllByClusterId(@Param("clusterId") Long clusterId); + Optional findByIdJoin(@Param("id") Long id); + List findAllByClusterIsNull(); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java index afb462da7..71b3b9edf 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java @@ -24,11 +24,14 @@ import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Optional; public interface ServiceMapper extends BaseMapper { List findAllByClusterId(@Param("clusterId") Long clusterId); + Optional findByIdJoin(@Param("id") Long id); + ServicePO findByClusterIdAndServiceName( @Param("clusterId") Long clusterId, @Param("serviceName") String serviceName); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java index ca62b5749..d58d040aa 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java @@ -23,17 +23,13 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; @@ -102,12 +98,4 @@ public class ComponentPO extends BasePO implements Serializable { @Transient @Column(name = "cluster_name") private String clusterName; - - @ManyToOne - @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ServicePO servicePO; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java index efa18db8e..55b66f936 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java @@ -18,22 +18,18 @@ */ package org.apache.bigtop.manager.dao.po; -import jakarta.persistence.Transient; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import jakarta.persistence.Transient; import jakarta.persistence.UniqueConstraint; import java.io.Serializable; @@ -95,8 +91,4 @@ public class HostPO extends BasePO implements Serializable { @Transient @Column(name = "cluster_name") private String clusterName; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java index cbbec19db..5cd5b8b05 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java @@ -18,25 +18,19 @@ */ package org.apache.bigtop.manager.dao.po; -import org.apache.bigtop.manager.common.enums.JobState; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -47,7 +41,7 @@ @EqualsAndHashCode(callSuper = true) @Entity @Table( - name = "\"job\"", + name = "job", indexes = {@Index(name = "idx_job_cluster_id", columnList = "cluster_id")}) @TableGenerator(name = "job_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") public class JobPO extends BasePO implements Serializable { @@ -65,17 +59,13 @@ public class JobPO extends BasePO implements Serializable { @Lob @Basic(fetch = FetchType.LAZY) - @Column(name = "\"context\"", length = 16777216) + @Column(name = "context", length = 16777216) private String context; @Column(name = "cluster_id") private Long clusterId; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; - @ToString.Exclude @OneToMany(mappedBy = "jobPO") - private List stagePOList; + private List stages; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java index 62b691d08..6e464995e 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java @@ -22,15 +22,11 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import jakarta.persistence.UniqueConstraint; @@ -75,8 +71,4 @@ public class RepoPO extends BasePO implements Serializable { @Column(name = "cluster_id") private Long clusterId; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java index 1cdac4733..72e5482d6 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java @@ -18,24 +18,20 @@ */ package org.apache.bigtop.manager.dao.po; -import jakarta.persistence.Transient; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import jakarta.persistence.Transient; import java.io.Serializable; import java.util.List; @@ -82,12 +78,4 @@ public class ServiceConfigPO extends BasePO implements Serializable { @Transient @Column(name = "service_name") private String serviceName; - - @ManyToOne - @JoinColumn(name = "service_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ServicePO servicePO; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java index 982e40a2d..7aa2106e3 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java @@ -20,21 +20,21 @@ import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.ToString; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; +import jakarta.persistence.Transient; import jakarta.persistence.UniqueConstraint; import java.io.Serializable; +import java.util.List; @Data @EqualsAndHashCode(callSuper = true) @@ -83,7 +83,15 @@ public class ServicePO extends BasePO implements Serializable { @Column(name = "cluster_id") private Long clusterId; - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; + @Transient + @Column(name = "cluster_name") + private String clusterName; + + @Transient + @Column(name = "user_group") + private String userGroup; + + @ToString.Exclude + @OneToMany(mappedBy = "servicePO") + private List components; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java index 8dca61ce8..544cc16da 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java @@ -18,25 +18,19 @@ */ package org.apache.bigtop.manager.dao.po; -import org.apache.bigtop.manager.common.enums.JobState; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; @@ -64,9 +58,9 @@ public class StagePO extends BasePO implements Serializable { private String name; @Column(name = "state") - private JobState state; + private String state; - @Column(name = "\"order\"") + @Column(name = "order") private Integer order; @Column(name = "service_name") @@ -77,7 +71,7 @@ public class StagePO extends BasePO implements Serializable { @Lob @Basic(fetch = FetchType.LAZY) - @Column(name = "\"context\"", length = 16777216) + @Column(name = "context", length = 16777216) private String context; @Column(name = "job_id") @@ -88,13 +82,5 @@ public class StagePO extends BasePO implements Serializable { @ToString.Exclude @OneToMany(mappedBy = "stagePO") - private List taskPOList; - - @ManyToOne - @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private JobPO jobPO; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; + private List tasks; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java index d03045b6b..9c23c41b1 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java @@ -18,25 +18,18 @@ */ package org.apache.bigtop.manager.dao.po; -import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.common.enums.JobState; - import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Index; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import java.io.Serializable; @@ -45,7 +38,7 @@ @EqualsAndHashCode(callSuper = true) @Entity @Table( - name = "\"task\"", + name = "task", indexes = { @Index(name = "idx_task_cluster_id", columnList = "cluster_id"), @Index(name = "idx_task_job_id", columnList = "job_id"), @@ -68,7 +61,7 @@ public class TaskPO extends BasePO implements Serializable { private String context; @Column(name = "state") - private JobState state; + private String state; @Column(name = "service_name") private String serviceName; @@ -77,7 +70,7 @@ public class TaskPO extends BasePO implements Serializable { private String componentName; @Column(name = "command") - private Command command; + private String command; @Column(name = "custom_command") private String customCommand; @@ -107,16 +100,4 @@ public class TaskPO extends BasePO implements Serializable { @Column(name = "cluster_id") private Long clusterId; - - @ManyToOne - @JoinColumn(name = "job_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private JobPO jobPO; - - @ManyToOne - @JoinColumn(name = "stage_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private StagePO stagePO; - - @ManyToOne - @JoinColumn(name = "cluster_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ClusterPO clusterPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java index 71bd8d1b8..cec947081 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java @@ -23,16 +23,12 @@ import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; -import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; import jakarta.persistence.Lob; -import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import jakarta.persistence.TableGenerator; import java.io.Serializable; @@ -63,8 +59,4 @@ public class TypeConfigPO extends BasePO implements Serializable { @Column(name = "service_config_id") private Long serviceConfigId; - - @ManyToOne - @JoinColumn(name = "service_config_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) - private ServiceConfigPO serviceConfigPO; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java index 8bd167dd8..731921461 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java @@ -33,7 +33,7 @@ @Data @EqualsAndHashCode(callSuper = true) @Entity -@Table(name = "\"user\"") +@Table(name = "user") @TableGenerator(name = "user_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") public class UserPO extends BasePO implements Serializable { @@ -45,7 +45,7 @@ public class UserPO extends BasePO implements Serializable { @Column(name = "username") private String username; - @Column(name = "\"password\"") + @Column(name = "password") private String password; @Column(name = "nickname") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java index aae9987e6..6b7d85e7c 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -59,7 +59,7 @@ public static String insert(TableMataData mataData, Entity entity, Stri } Object value = ReflectionUtils.invokeMethod(ps.getReadMethod(), entity); if (!ObjectUtils.isEmpty(value)) { - sql.VALUES(entry.getValue(), getTokenParam(entry.getKey())); + sql.VALUES("`" + entry.getValue() + "`", getTokenParam(entry.getKey())); } } break; @@ -91,7 +91,7 @@ public static String update(TableMataData mataData, Entity entity, Stri } Object value = ReflectionUtils.invokeMethod(ps.getReadMethod(), entity); if (!ObjectUtils.isEmpty(value)) { - sql.SET(getEquals(entry.getValue(), entry.getKey())); + sql.SET("`" + getEquals(entry.getValue() + "`", entry.getKey())); } } diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml index 2b0b9313c..08cd5686c 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml @@ -92,7 +92,7 @@ host - cluster_id = in + cluster_id in #{hostname} diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml index 78e8c908e..c4df75e08 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml @@ -32,42 +32,55 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select + , st.order, tk.hostname, st.id as s_id, tk.id as t_id from (select * from job @@ -78,6 +91,28 @@ ) h left join stage st on h.id = st.job_id + left join task tk + on tk.job_id = h.id and st.id = tk.stage_id + + + + + ${alias}.id, ${alias}.service_name, ${alias}.display_name, ${alias}.service_desc, ${alias}.service_version, ${alias}.os_specifics, ${alias}.service_user, ${alias}.required_services, ${alias}.cluster_id + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml index bc3400522..2f19b2c05 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml @@ -52,13 +52,13 @@ - ,c.cluster_name, s.service_name + ,c.cluster_name, s.service_name from component r - left join cluster c + inner join cluster c on r.cluster_id = c.id - left join service s - on r.service_id = s.id + inner join service s + on r.service_id = s.id r.cluster_id = #{clusterId} @@ -80,7 +80,7 @@ ) r - left join (select * from service + inner join (select * from service service_name in @@ -102,7 +102,7 @@ , s.service_name from component r - left join service s + inner join service s on r.service_id = s.id and r.cluster_id = s.cluster_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml index d10d494a9..c57d5036c 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml @@ -38,7 +38,7 @@ from host_component hc - left join (select * from component + inner join (select * from component component_name = #{componentName} @@ -60,7 +60,7 @@ , c.service_id, c.component_name, c.display_name, c.category, s.service_name, clus.cluster_name, ht.hostname from host_component hc - left join (select * from component + inner join (select * from component cluster_id = #{clusterId} @@ -71,11 +71,11 @@ ) c on hc.component_id = c.id - left join service s + inner join service s on c.service_id = s.id - left join cluster clus + inner join cluster clus on c.cluster_id = clus.id - left join host ht + inner join host ht on hc.host_id = ht.id @@ -87,9 +87,9 @@ from host_component hc - left join (select * from host + inner join (select * from host - + hostname = #{hostname} @@ -98,17 +98,48 @@ ) h on hc.host_id = h.id - left join (select * from component + inner join (select * from component - + component_name = #{componentName} + + ) c + on hc.component_id = c.id and h.cluster_id = c.cluster_id + limit 1 + + + @@ -173,18 +204,18 @@ ,st.stack_name,st.stack_version,ser.service_name,ser.service_user,clu.root,c.component_name,c.command_script,hst.hostname from host_component hc - left join host hst + inner join host hst on hc.host_id = hst.id - left join + inner join component c on hc.component_id = c.id - left join + inner join cluster clu on c.cluster_id = clu.id - left join + inner join service ser on c.service_id=ser.id and c.cluster_id = ser.cluster_id - left join stack st + inner join stack st on clu.stack_id = st.id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml index 08cd5686c..921f26229 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml @@ -31,14 +31,14 @@ ${alias}.id, ${alias}.hostname, ${alias}.ipv4, ${alias}.ipv6, ${alias}.os, ${alias}.arch, ${alias}.available_processors, ${alias}.free_memory_size, ${alias}.total_memory_size, ${alias}.free_disk, ${alias}.total_disk, ${alias}.state, ${alias}.cluster_id - select from host - - hostname=#{hostname} + + hostname = #{hostname} limit 1 @@ -58,7 +58,7 @@ ) h - left join + inner join cluster clus on h.cluster_id = clus.id limit 1 @@ -73,7 +73,7 @@ ,clus.cluster_name from host h - left join + inner join (select * from cluster @@ -92,7 +92,7 @@ host - cluster_id in + hostname in #{hostname} @@ -104,7 +104,7 @@ insert into host (hostname, ipv4, ipv6, os, arch, available_processors, free_memory_size, total_memory_size, free_disk, total_disk, state, cluster_id) values - (#{host.hostname}, #{host.ipv4}, #{host.ipv6}, #{host.os}, #{host.arch}, #{host.available_processors}, #{host.free_memory_size}, #{host.total_memory_size}, #{host.free_disk}, #{host.total_disk}, #{host.state}, #{host.cluster_id}) + (#{host.hostname}, #{host.ipv4}, #{host.ipv6}, #{host.os}, #{host.arch}, #{host.availableProcessors}, #{host.freeMemorySize}, #{host.totalMemorySize}, #{host.freeDisk}, #{host.totalDisk}, #{host.state}, #{host.clusterId}) diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml index c4df75e08..40b866083 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml @@ -89,9 +89,9 @@ ) h - left join stage st + inner join stage st on h.id = st.job_id - left join task tk + inner join task tk on tk.job_id = h.id and st.id = tk.stage_id @@ -109,9 +109,9 @@ ) h - left join stage st + inner join stage st on h.id = st.job_id - left join task tk + inner join task tk on tk.job_id = h.id and st.id = tk.stage_id @@ -123,7 +123,7 @@ from (select * from job where cluster_id is null) h - left join stage st + inner join stage st on h.id = st.job_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml index 929115885..020fe413b 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml @@ -41,10 +41,10 @@ - insert into repo (cluster_name, cluster_type, root, user_group, packages, repo_template, state, selected) + insert into repo (base_url, os, arch, repo_id, repo_name, cluster_id) values - (#{cluster.clusterName},#{cluster.clusterType},#{cluster.root},#{cluster.userGroup},#{cluster.packages},#{cluster.repoTemplate},#{cluster.state},#{cluster.selected}) + (#{cluster.baseUrl},#{cluster.os},#{cluster.arch},#{cluster.repoId},#{cluster.repoName},#{cluster.clusterId}) diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml index a97d50bb4..0cf19ee2b 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml @@ -62,9 +62,9 @@ ) r - left join service s + inner join service s on r.service_id = s.id - left join type_config tc + inner join type_config tc on r.id = tc.service_config_id order by version desc @@ -87,9 +87,9 @@ ) r - left join service s + inner join service s on r.service_id = s.id - left join type_config tc + inner join type_config tc on r.id = tc.service_config_id limit 1 @@ -109,9 +109,9 @@ ) r - left join service s + inner join service s on r.service_id = s.id - left join type_config tc + inner join type_config tc on r.id = tc.service_config_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml index 5b175b8f0..147636673 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml @@ -67,10 +67,10 @@ ) s - left join + inner join cluster clus on s.cluster_id = clus.id - left join + inner join component c on c.service_id = s.id @@ -90,7 +90,7 @@ ) s - left join + inner join cluster clus on s.cluster_id = clus.id @@ -106,7 +106,7 @@ cluster_id = #{clusterId} - service_name = #{serviceName} + and service_name = #{serviceName} diff --git a/bigtop-manager-server/pom.xml b/bigtop-manager-server/pom.xml index eb603fa54..408b7f94a 100644 --- a/bigtop-manager-server/pom.xml +++ b/bigtop-manager-server/pom.xml @@ -83,7 +83,7 @@ com.mysql mysql-connector-j - + provided diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index 74b79a382..d3503f94e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -33,10 +33,13 @@ import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.holder.SpringContextHolder; +import lombok.extern.slf4j.Slf4j; + import java.util.ArrayList; import java.util.List; import java.util.concurrent.LinkedBlockingQueue; +@Slf4j public abstract class AbstractJob implements Job { protected StackMapper stackMapper; @@ -84,9 +87,8 @@ protected void beforeCreateStages() { @Override public void beforeRun() { - JobPO jobPO = getJobPO(); jobPO.setState(JobState.PROCESSING.getName()); - jobMapper.save(jobPO); + jobMapper.updateById(jobPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java index 29de8ec78..a3a242f24 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java @@ -103,7 +103,7 @@ protected List findHostnamesByComponentName(String componentName) { .findAllByClusterIdAndComponentNameAndHostnameIn( clusterPO.getId(), componentName, hostnames) .stream() - .map(hostComponent -> hostComponent.getHostPO().getHostname()) + .map(HostComponentPO::getHostname) .toList(); hostnames.removeAll(existHostnames); @@ -165,13 +165,13 @@ private void upsertService(ServicePO servicePO, ServiceCommandDTO serviceCommand // 4. Persist hostComponent for (String hostname : componentHostDTO.getHostnames()) { - HostComponentPO hostComponentPO = - hostComponentMapper.findByComponentPOComponentNameAndHostPOHostname(componentName, hostname); + HostComponentPO hostComponentPO = hostComponentMapper.findByClusterIdAndComponentNameAndHostname( + clusterId, componentName, hostname); if (hostComponentPO == null) { HostPO hostPO = hostMapper.findByHostname(hostname); hostComponentPO = new HostComponentPO(); - hostComponentPO.setHostPO(hostPO); + hostComponentPO.setHostId(hostPO.getId()); hostComponentPO.setComponentId(componentPO.getId()); hostComponentPO.setState(MaintainState.UNINSTALLED.getName()); hostComponentMapper.save(hostComponentPO); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java index 06af8a3a7..0598b833e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java @@ -72,9 +72,8 @@ protected String getComponentName() { @Override public void beforeRun() { - StagePO stagePO = getStagePO(); stagePO.setState(JobState.PROCESSING.getName()); - stageMapper.save(stagePO); + stageMapper.updateById(stagePO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java index 6f1664ca0..934bd2386 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java @@ -64,9 +64,8 @@ protected String getCustomCommand() { @Override public void beforeRun() { - TaskPO taskPO = getTaskPO(); taskPO.setState(JobState.PROCESSING.getName()); - taskMapper.save(taskPO); + taskMapper.updateById(taskPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java index 9b9a5941a..ee0238a9a 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java @@ -166,15 +166,14 @@ private void genFullCaches() { hostMap = new HashMap<>(); hostComponentPOList.forEach(x -> { - if (hostMap.containsKey(x.getComponentPO().getComponentName())) { - hostMap.get(x.getComponentPO().getComponentName()) - .add(x.getHostPO().getHostname()); + if (hostMap.containsKey(x.getComponentName())) { + hostMap.get(x.getComponentName()).add(x.getHostname()); } else { Set set = new HashSet<>(); - set.add(x.getHostPO().getHostname()); - hostMap.put(x.getComponentPO().getComponentName(), set); + set.add(x.getHostname()); + hostMap.put(x.getComponentName(), set); } - hostMap.get(x.getComponentPO().getComponentName()).add(x.getHostPO().getHostname()); + hostMap.get(x.getComponentName()).add(x.getHostname()); }); Set hostNameSet = hostPOList.stream().map(HostPO::getHostname).collect(Collectors.toSet()); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java index 96fbca630..70f909341 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/ClusterConverter.java @@ -49,5 +49,6 @@ public interface ClusterConverter { @Mapping(target = "stackName", expression = "java(stackPO.getStackName())") @Mapping(target = "stackVersion", expression = "java(stackPO.getStackVersion())") + @Mapping(target = "stackId", expression = "java(stackPO.getId())") ClusterPO fromDTO2PO(ClusterDTO clusterDTO, StackDTO stackDTO, @Context StackPO stackPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java index 8fac62a58..e3e530c36 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java @@ -87,8 +87,10 @@ public ClusterVO save(ClusterDTO clusterDTO) { clusterMapper.findByClusterName(clusterDTO.getClusterName()).orElse(new ClusterPO()); if (oldClusterPO.getId() != null) { clusterPO.setId(oldClusterPO.getId()); + clusterMapper.updateById(clusterPO); + } else { + clusterMapper.save(clusterPO); } - clusterMapper.save(clusterPO); hostService.batchSave(clusterPO.getId(), clusterDTO.getHostnames()); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java index 0be7d7aaf..4a54102cc 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java @@ -96,6 +96,7 @@ protected JobPO saveJob(Job job) { } jobPO.setState(JobState.PENDING.getName()); jobMapper.save(jobPO); + job.loadJobPO(jobPO); for (int i = 0; i < job.getStages().size(); i++) { Stage stage = job.getStages().get(i); @@ -107,6 +108,7 @@ protected JobPO saveJob(Job job) { stagePO.setOrder(i + 1); stagePO.setState(JobState.PENDING.getName()); stageMapper.save(stagePO); + stage.loadStagePO(stagePO); for (int j = 0; j < stage.getTasks().size(); j++) { Task task = stage.getTasks().get(j); @@ -118,6 +120,7 @@ protected JobPO saveJob(Job job) { taskPO.setStageId(stagePO.getId()); taskPO.setState(JobState.PENDING.getName()); taskMapper.save(taskPO); + task.loadTaskPO(taskPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java index 6440b64d3..977720cd6 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java @@ -19,9 +19,7 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.mapper.HostMapper; -import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.HostPO; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; @@ -47,9 +45,6 @@ @Service public class HostServiceImpl implements HostService { - @Resource - private ClusterMapper clusterMapper; - @Resource private HostMapper hostMapper; @@ -65,7 +60,6 @@ public List list(Long clusterId) { @Override public List batchSave(Long clusterId, List hostnames) { - ClusterPO clusterPO = clusterMapper.findById(clusterId); List hostnameIn = hostMapper.findAllByHostnameIn(hostnames); List hostPOList = new ArrayList<>(); @@ -76,7 +70,7 @@ public List batchSave(Long clusterId, List hostnames) { for (String hostname : hostnames) { HostPO hostPO = new HostPO(); hostPO.setHostname(hostname); - hostPO.setClusterId(clusterPO.getId()); + hostPO.setClusterId(clusterId); hostPO.setState(MaintainState.INSTALLED.getName()); if (hostInMap.containsKey(hostname)) { diff --git a/bigtop-manager-server/src/main/resources/application.yml b/bigtop-manager-server/src/main/resources/application.yml index 855d24458..f394fbd6b 100644 --- a/bigtop-manager-server/src/main/resources/application.yml +++ b/bigtop-manager-server/src/main/resources/application.yml @@ -30,10 +30,10 @@ spring: main: banner-mode: log datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/bigtop_manager - username: root - password: root + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://localhost:5432/bigtop_manager + username: postgres + password: postgres type: com.zaxxer.hikari.HikariDataSource hikari: auto-commit: true diff --git a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql index b47f2d30e..976e86a82 100644 --- a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql +++ b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql @@ -179,10 +179,6 @@ CREATE TABLE `stack` `update_time` DATETIME DEFAULT NULL, `create_by` BIGINT, `update_by` BIGINT, - `component_name` VARCHAR(255), - `context` LONGTEXT, - `order` INTEGER, - `service_name` VARCHAR(255), PRIMARY KEY (`id`), UNIQUE KEY `uk_stack` (`stack_name`, `stack_version`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; @@ -299,7 +295,6 @@ CREATE TABLE `stage` `cluster_id` BIGINT(20) UNSIGNED DEFAULT NULL, `job_id` BIGINT(20) UNSIGNED NOT NULL, `state` VARCHAR(32) NOT NULL, - `stage_order` INT UNSIGNED DEFAULT NULL, `create_time` DATETIME DEFAULT NULL, `update_time` DATETIME DEFAULT NULL, `component_name` VARCHAR(255), From 8dbcf98ffdc41f8f8e43b7c7cbabd42888d9f2d9 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Tue, 27 Aug 2024 17:27:09 +0800 Subject: [PATCH 07/17] rebase --- .../apache/bigtop/manager/server/command/job/AbstractJob.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index d3503f94e..ed94b57ef 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -33,13 +33,10 @@ import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.holder.SpringContextHolder; -import lombok.extern.slf4j.Slf4j; - import java.util.ArrayList; import java.util.List; import java.util.concurrent.LinkedBlockingQueue; -@Slf4j public abstract class AbstractJob implements Job { protected StackMapper stackMapper; From 5fccbee30a09e30fcd67cdd7a472870ecf9256e0 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Wed, 28 Aug 2024 09:34:50 +0800 Subject: [PATCH 08/17] update jobMapper.xml --- .../main/resources/mapper/mysql/JobMapper.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml index 40b866083..f42b2265a 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml @@ -41,9 +41,8 @@ - - - + + @@ -54,9 +53,8 @@ - - - + + @@ -80,7 +78,8 @@ - , st.order, tk.hostname, st.id as s_id, tk.id as t_id + , st.id as s_id, st.name as s_name, st.state as s_state, st.order + , tk.id as t_id, tk.name as t_name, tk.state as t_state, tk.hostname from (select * from job @@ -100,7 +99,8 @@ - , st.order, tk.hostname + , st.id as s_id, st.name as s_name, st.state as s_state, st.order + , tk.id as t_id, tk.name as t_name, tk.state as t_state, tk.hostname from (select * from job From a6ac1434ae078ba10024dad6ab1ad8ea122cf1a7 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Wed, 28 Aug 2024 10:02:32 +0800 Subject: [PATCH 09/17] Follow the change from os_Specifics to package_Specifics --- .../src/main/resources/mapper/mysql/ServiceMapper.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml index 147636673..a3a128833 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml @@ -24,11 +24,11 @@ - id, service_name, display_name, service_desc, service_version, os_specifics, service_user, required_services, cluster_id + id, service_name, display_name, service_desc, service_version, package_specifics, service_user, required_services, cluster_id - ${alias}.id, ${alias}.service_name, ${alias}.display_name, ${alias}.service_desc, ${alias}.service_version, ${alias}.os_specifics, ${alias}.service_user, ${alias}.required_services, ${alias}.cluster_id + ${alias}.id, ${alias}.service_name, ${alias}.display_name, ${alias}.service_desc, ${alias}.service_version, ${alias}.package_specifics, ${alias}.service_user, ${alias}.required_services, ${alias}.cluster_id @@ -37,7 +37,7 @@ - + From 86e445600ab601e9c7de6624d386a9d162785ad1 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Wed, 28 Aug 2024 10:35:21 +0800 Subject: [PATCH 10/17] fix update batch --- .../resources/mapper/mysql/StageMapper.xml | 19 ++++++++++--------- .../resources/mapper/mysql/TaskMapper.xml | 19 ++++++++++--------- .../src/main/resources/logback-spring.xml | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml index 86829cc5c..dc4e56b85 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml @@ -23,15 +23,16 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - update stage - - - `state` = #{stage.state}, - - - where id = #{stage.id} + + UPDATE stage + SET `state` = CASE + + WHEN id = #{item.id} THEN #{item.state} + + END + WHERE id IN + + #{item.id} diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml index 5460d4088..26363463b 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml @@ -23,15 +23,16 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - update task - - - `state` = #{task.state}, - - - where id = #{task.id} + + UPDATE task + SET `state` = CASE + + WHEN id = #{item.id} THEN #{item.state} + + END + WHERE id IN + + #{item.id} diff --git a/bigtop-manager-server/src/main/resources/logback-spring.xml b/bigtop-manager-server/src/main/resources/logback-spring.xml index 4a42d8578..a4a3b586b 100644 --- a/bigtop-manager-server/src/main/resources/logback-spring.xml +++ b/bigtop-manager-server/src/main/resources/logback-spring.xml @@ -46,7 +46,7 @@ - + From 2fc6fca7be9455a6c5e860a032e42d1086112a41 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Wed, 28 Aug 2024 11:10:13 +0800 Subject: [PATCH 11/17] fix update batch --- .../bigtop/manager/server/command/job/AbstractJob.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index ed94b57ef..bb3feeefc 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -144,9 +144,12 @@ public void onFailure() { } } } - - taskMapper.updateStateByIds(taskPOList); - stageMapper.updateStateByIds(stagePOList); + if (!taskPOList.isEmpty()) { + taskMapper.updateStateByIds(taskPOList); + } + if (!stagePOList.isEmpty()) { + stageMapper.updateStateByIds(stagePOList); + } jobMapper.updateById(jobPO); } From 5592ba9145af6947d749b4890d739d8d4464e0fb Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Wed, 28 Aug 2024 14:01:41 +0800 Subject: [PATCH 12/17] update --- .../bigtop/manager/dao/sql/BaseSqlProvider.java | 14 +++++++------- .../apache/bigtop/manager/dao/sql/SQLBuilder.java | 14 +++++++------- .../sql/{TableMataData.java => TableMetaData.java} | 12 ++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/{TableMataData.java => TableMetaData.java} (92%) diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java index f6ab0518a..225a69c65 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java @@ -41,7 +41,7 @@ public String insert(Entity entity, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = entity.getClass(); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.insert(mataData, entity, databaseId); } @@ -52,7 +52,7 @@ public String updateById(Entity entity, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = entity.getClass(); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.update(mataData, entity, databaseId); } @@ -61,7 +61,7 @@ public String selectById(Serializable id, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.selectById(mataData, databaseId, id); } @@ -70,7 +70,7 @@ public String selectByIds(Collection ids, ProviderContex String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.selectByIds(mataData, databaseId, ids); } @@ -79,7 +79,7 @@ public String selectAll(ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.selectAll(mataData, databaseId); } @@ -88,7 +88,7 @@ public String deleteById(Serializable id, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.deleteById(mataData, databaseId, id); } @@ -97,7 +97,7 @@ public String deleteByIds(Collection ids, ProviderContex String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMataData mataData = TableMataData.forClass(entityClass); + TableMetaData mataData = TableMetaData.forClass(entityClass); return SQLBuilder.deleteByIds(mataData, databaseId, ids); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java index 6b7d85e7c..a9921bc3d 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -40,7 +40,7 @@ @Slf4j public class SQLBuilder { - public static String insert(TableMataData mataData, Entity entity, String databaseId) { + public static String insert(TableMetaData mataData, Entity entity, String databaseId) { Class entityClass = entity.getClass(); Map fieldColumnMap = mataData.getFieldColumnMap(); @@ -72,7 +72,7 @@ public static String insert(TableMataData mataData, Entity entity, Stri return sql.toString(); } - public static String update(TableMataData mataData, Entity entity, String databaseId) { + public static String update(TableMetaData mataData, Entity entity, String databaseId) { Class entityClass = entity.getClass(); Map fieldColumnMap = mataData.getFieldColumnMap(); @@ -106,7 +106,7 @@ public static String update(TableMataData mataData, Entity entity, Stri return sql.toString(); } - public static String selectById(TableMataData mataData, String databaseId, Serializable id) { + public static String selectById(TableMetaData mataData, String databaseId, Serializable id) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { @@ -125,7 +125,7 @@ public static String selectById(TableMataData mataData, String databaseId, Seria } public static String selectByIds( - TableMataData mataData, String databaseId, Collection ids) { + TableMetaData mataData, String databaseId, Collection ids) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { @@ -144,7 +144,7 @@ public static String selectByIds( return sql.toString(); } - public static String selectAll(TableMataData mataData, String databaseId) { + public static String selectAll(TableMetaData mataData, String databaseId) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { @@ -161,7 +161,7 @@ public static String selectAll(TableMataData mataData, String databaseId) { return sql.toString(); } - public static String deleteById(TableMataData mataData, String databaseId, Serializable id) { + public static String deleteById(TableMetaData mataData, String databaseId, Serializable id) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { @@ -178,7 +178,7 @@ public static String deleteById(TableMataData mataData, String databaseId, Seria } public static String deleteByIds( - TableMataData mataData, String databaseId, Collection ids) { + TableMetaData mataData, String databaseId, Collection ids) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java similarity index 92% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java index 893680c6c..32957963b 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMataData.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java @@ -42,9 +42,9 @@ import java.util.concurrent.ConcurrentHashMap; @Getter -public class TableMataData { +public class TableMetaData { - private static final Map, TableMataData> TABLE_CACHE = new ConcurrentHashMap<>(64); + private static final Map, TableMetaData> TABLE_CACHE = new ConcurrentHashMap<>(64); /** * tableName @@ -71,14 +71,14 @@ public class TableMataData { */ private final Map> fieldTypeMap = new HashMap<>(); - private TableMataData(Class clazz) { + private TableMetaData(Class clazz) { initTableInfo(clazz); } - public static TableMataData forClass(Class entityClass) { - TableMataData tableMataDate = TABLE_CACHE.get(entityClass); + public static TableMetaData forClass(Class entityClass) { + TableMetaData tableMataDate = TABLE_CACHE.get(entityClass); if (tableMataDate == null) { - tableMataDate = new TableMataData(entityClass); + tableMataDate = new TableMetaData(entityClass); TABLE_CACHE.put(entityClass, tableMataDate); } From a2d20af12194c9546ed366c0f013dfcff4f4df06 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Wed, 28 Aug 2024 14:46:37 +0800 Subject: [PATCH 13/17] update --- .../manager/dao/sql/BaseSqlProvider.java | 28 +++++----- .../bigtop/manager/dao/sql/SQLBuilder.java | 52 +++++++++---------- .../bigtop/manager/dao/sql/TableMetaData.java | 10 ++-- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java index 225a69c65..ba93e466a 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java @@ -41,9 +41,9 @@ public String insert(Entity entity, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = entity.getClass(); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.insert(mataData, entity, databaseId); + return SQLBuilder.insert(tableMetaData, entity, databaseId); } public String updateById(Entity entity, ProviderContext context) { @@ -52,54 +52,54 @@ public String updateById(Entity entity, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = entity.getClass(); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.update(mataData, entity, databaseId); + return SQLBuilder.update(tableMetaData, entity, databaseId); } public String selectById(Serializable id, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.selectById(mataData, databaseId, id); + return SQLBuilder.selectById(tableMetaData, databaseId, id); } public String selectByIds(Collection ids, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.selectByIds(mataData, databaseId, ids); + return SQLBuilder.selectByIds(tableMetaData, databaseId, ids); } public String selectAll(ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.selectAll(mataData, databaseId); + return SQLBuilder.selectAll(tableMetaData, databaseId); } public String deleteById(Serializable id, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.deleteById(mataData, databaseId, id); + return SQLBuilder.deleteById(tableMetaData, databaseId, id); } public String deleteByIds(Collection ids, ProviderContext context) { String databaseId = context.getDatabaseId(); Class entityClass = getEntityClass(context); - TableMetaData mataData = TableMetaData.forClass(entityClass); + TableMetaData tableMetaData = TableMetaData.forClass(entityClass); - return SQLBuilder.deleteByIds(mataData, databaseId, ids); + return SQLBuilder.deleteByIds(tableMetaData, databaseId, ids); } private Class getEntityClass(ProviderContext context) { diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java index a9921bc3d..0ae46ac0a 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -40,17 +40,17 @@ @Slf4j public class SQLBuilder { - public static String insert(TableMetaData mataData, Entity entity, String databaseId) { + public static String insert(TableMetaData tableMetaData, Entity entity, String databaseId) { Class entityClass = entity.getClass(); - Map fieldColumnMap = mataData.getFieldColumnMap(); + Map fieldColumnMap = tableMetaData.getFieldColumnMap(); SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { - sql.INSERT_INTO(mataData.getTableName()); + sql.INSERT_INTO(tableMetaData.getTableName()); for (Map.Entry entry : fieldColumnMap.entrySet()) { // 忽略主键 - if (Objects.equals(entry.getKey(), mataData.getPkProperty())) { + if (Objects.equals(entry.getKey(), tableMetaData.getPkProperty())) { continue; } PropertyDescriptor ps = BeanUtils.getPropertyDescriptor(entityClass, entry.getKey()); @@ -72,17 +72,17 @@ public static String insert(TableMetaData mataData, Entity entity, Stri return sql.toString(); } - public static String update(TableMetaData mataData, Entity entity, String databaseId) { + public static String update(TableMetaData tableMetaData, Entity entity, String databaseId) { Class entityClass = entity.getClass(); - Map fieldColumnMap = mataData.getFieldColumnMap(); + Map fieldColumnMap = tableMetaData.getFieldColumnMap(); SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { - sql.UPDATE(mataData.getTableName()); + sql.UPDATE(tableMetaData.getTableName()); for (Map.Entry entry : fieldColumnMap.entrySet()) { // 忽略主键 - if (Objects.equals(entry.getKey(), mataData.getPkProperty())) { + if (Objects.equals(entry.getKey(), tableMetaData.getPkProperty())) { continue; } PropertyDescriptor ps = BeanUtils.getPropertyDescriptor(entityClass, entry.getKey()); @@ -95,7 +95,7 @@ public static String update(TableMetaData mataData, Entity entity, Stri } } - sql.WHERE(getEquals(mataData.getPkColumn(), mataData.getPkProperty())); + sql.WHERE(getEquals(tableMetaData.getPkColumn(), tableMetaData.getPkProperty())); break; } default: { @@ -106,14 +106,14 @@ public static String update(TableMetaData mataData, Entity entity, Stri return sql.toString(); } - public static String selectById(TableMetaData mataData, String databaseId, Serializable id) { + public static String selectById(TableMetaData tableMetaData, String databaseId, Serializable id) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { - sql.SELECT(mataData.getBaseColumns()); - sql.FROM(mataData.getTableName()); - sql.WHERE(mataData.getPkColumn() + " = '" + id + "'"); + sql.SELECT(tableMetaData.getBaseColumns()); + sql.FROM(tableMetaData.getTableName()); + sql.WHERE(tableMetaData.getPkColumn() + " = '" + id + "'"); break; } default: { @@ -125,15 +125,15 @@ public static String selectById(TableMetaData mataData, String databaseId, Seria } public static String selectByIds( - TableMetaData mataData, String databaseId, Collection ids) { + TableMetaData tableMetaData, String databaseId, Collection ids) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { String idsStr = ids.stream().map(String::valueOf).collect(Collectors.joining("', '")); - sql.SELECT(mataData.getBaseColumns()); - sql.FROM(mataData.getTableName()); - sql.WHERE(mataData.getPkColumn() + " in ('" + idsStr + "')"); + sql.SELECT(tableMetaData.getBaseColumns()); + sql.FROM(tableMetaData.getTableName()); + sql.WHERE(tableMetaData.getPkColumn() + " in ('" + idsStr + "')"); break; } default: { @@ -144,13 +144,13 @@ public static String selectByIds( return sql.toString(); } - public static String selectAll(TableMetaData mataData, String databaseId) { + public static String selectAll(TableMetaData tableMetaData, String databaseId) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { - sql.SELECT(mataData.getBaseColumns()); - sql.FROM(mataData.getTableName()); + sql.SELECT(tableMetaData.getBaseColumns()); + sql.FROM(tableMetaData.getTableName()); break; } default: { @@ -161,12 +161,12 @@ public static String selectAll(TableMetaData mataData, String databaseId) { return sql.toString(); } - public static String deleteById(TableMetaData mataData, String databaseId, Serializable id) { + public static String deleteById(TableMetaData tableMetaData, String databaseId, Serializable id) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { - sql.DELETE_FROM(mataData.getTableName()); - sql.WHERE(mataData.getPkColumn() + " = '" + id + "'"); + sql.DELETE_FROM(tableMetaData.getTableName()); + sql.WHERE(tableMetaData.getPkColumn() + " = '" + id + "'"); break; } default: { @@ -178,13 +178,13 @@ public static String deleteById(TableMetaData mataData, String databaseId, Seria } public static String deleteByIds( - TableMetaData mataData, String databaseId, Collection ids) { + TableMetaData tableMetaData, String databaseId, Collection ids) { SQL sql = new SQL(); switch (DBType.toType(databaseId)) { case MYSQL: { String idsStr = ids.stream().map(String::valueOf).collect(Collectors.joining("', '")); - sql.DELETE_FROM(mataData.getTableName()); - sql.WHERE(mataData.getPkColumn() + " in ('" + idsStr + "')"); + sql.DELETE_FROM(tableMetaData.getTableName()); + sql.WHERE(tableMetaData.getPkColumn() + " in ('" + idsStr + "')"); break; } default: { diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java index 32957963b..a464a8164 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/TableMetaData.java @@ -76,13 +76,13 @@ private TableMetaData(Class clazz) { } public static TableMetaData forClass(Class entityClass) { - TableMetaData tableMataDate = TABLE_CACHE.get(entityClass); - if (tableMataDate == null) { - tableMataDate = new TableMetaData(entityClass); - TABLE_CACHE.put(entityClass, tableMataDate); + TableMetaData tableMetaData = TABLE_CACHE.get(entityClass); + if (tableMetaData == null) { + tableMetaData = new TableMetaData(entityClass); + TABLE_CACHE.put(entityClass, tableMetaData); } - return tableMataDate; + return tableMetaData; } public String getBaseColumns() { From e7f45fe4a27883389c81fae1135c529ac8f51f0a Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Thu, 29 Aug 2024 10:57:33 +0800 Subject: [PATCH 14/17] update as comment --- bigtop-manager-bom/pom.xml | 1 - .../bigtop/manager/dao/po/AuditLogPO.java | 18 +---------- .../apache/bigtop/manager/dao/po/BasePO.java | 4 +-- .../bigtop/manager/dao/po/ClusterPO.java | 22 +------------ .../bigtop/manager/dao/po/ComponentPO.java | 32 ++----------------- .../manager/dao/po/HostComponentPO.java | 19 +---------- .../apache/bigtop/manager/dao/po/HostPO.java | 18 +---------- .../apache/bigtop/manager/dao/po/JobPO.java | 17 ++-------- .../apache/bigtop/manager/dao/po/RepoPO.java | 18 +---------- .../manager/dao/po/ServiceConfigPO.java | 21 +----------- .../bigtop/manager/dao/po/ServicePO.java | 28 ++-------------- .../bigtop/manager/dao/po/SettingPO.java | 18 +---------- .../apache/bigtop/manager/dao/po/StackPO.java | 16 +--------- .../apache/bigtop/manager/dao/po/StagePO.java | 24 ++------------ .../apache/bigtop/manager/dao/po/TaskPO.java | 27 ++-------------- .../bigtop/manager/dao/po/TypeConfigPO.java | 18 +---------- .../apache/bigtop/manager/dao/po/UserPO.java | 7 ---- .../bigtop/manager/dao/sql/SQLBuilder.java | 4 +-- .../main/resources/ddl/MySQL-DDL-CREATE.sql | 6 ++-- 19 files changed, 29 insertions(+), 289 deletions(-) diff --git a/bigtop-manager-bom/pom.xml b/bigtop-manager-bom/pom.xml index 2145ed390..55ea3d07d 100644 --- a/bigtop-manager-bom/pom.xml +++ b/bigtop-manager-bom/pom.xml @@ -43,7 +43,6 @@ 4.4.0 3.0.16 4.0.4 - 6.2.5.Final 1.11.0 1.0.0 6.4.11 diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java index 8de0e32f9..095b2adaa 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/AuditLogPO.java @@ -21,40 +21,24 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Lob; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity @Table(name = "audit_log") -@TableGenerator( - name = "audit_log_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") public class AuditLogPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "audit_log_generator") @Column(name = "id") private Long id; @Column(name = "uri") private String uri; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "args", length = 16777216) + @Column(name = "args") private String args; @Column(name = "tag_name") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java index f3fc63070..7fe37f9ee 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/BasePO.java @@ -26,13 +26,13 @@ @Data public abstract class BasePO { - @Column(name = "create_time", updatable = false) + @Column(name = "create_time") private Timestamp createTime; @Column(name = "update_time") private Timestamp updateTime; - @Column(name = "create_by", updatable = false) + @Column(name = "create_by") private Long createBy; @Column(name = "update_by") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java index be13da630..3b70c0af2 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ClusterPO.java @@ -22,37 +22,17 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; -import jakarta.persistence.UniqueConstraint; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "cluster", - uniqueConstraints = { - @UniqueConstraint( - name = "uk_cluster_name", - columnNames = {"cluster_name"}) - }, - indexes = {@Index(name = "idx_cluster_stack_id", columnList = "stack_id")}) -@TableGenerator( - name = "cluster_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") +@Table(name = "cluster") public class ClusterPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "cluster_generator") @Column(name = "id") private Long id; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java index d58d040aa..bc0a410b0 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ComponentPO.java @@ -21,44 +21,18 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; -import jakarta.persistence.Lob; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; -import jakarta.persistence.UniqueConstraint; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "component", - uniqueConstraints = { - @UniqueConstraint( - name = "uk_component_name", - columnNames = {"component_name", "cluster_id"}) - }, - indexes = { - @Index(name = "idx_component_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_component_service_id", columnList = "service_id") - }) -@TableGenerator( - name = "component_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") +@Table(name = "component") public class ComponentPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "component_generator") @Column(name = "id") private Long id; @@ -71,9 +45,7 @@ public class ComponentPO extends BasePO implements Serializable { @Column(name = "command_script") private String commandScript; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "custom_commands", length = 16777216) + @Column(name = "custom_commands") private String customCommands; @Column(name = "category") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java index 536b693a6..accf5d380 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostComponentPO.java @@ -22,34 +22,17 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "host_component", - indexes = { - @Index(name = "idx_hc_component_id", columnList = "component_id"), - @Index(name = "idx_hc_host_id", columnList = "host_id") - }) -@TableGenerator( - name = "host_component_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") +@Table(name = "host_component") public class HostComponentPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "host_component_generator") @Column(name = "id") private Long id; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java index 55b66f936..f0b3054da 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/HostPO.java @@ -22,33 +22,17 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; -import jakarta.persistence.UniqueConstraint; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "host", - uniqueConstraints = { - @UniqueConstraint( - name = "uk_hostname", - columnNames = {"hostname", "cluster_id"}) - }, - indexes = {@Index(name = "idx_host_cluster_id", columnList = "cluster_id")}) -@TableGenerator(name = "host_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") +@Table(name = "host") public class HostPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "host_generator") @Column(name = "id") private Long id; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java index 5cd5b8b05..30adbb6a6 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java @@ -22,32 +22,20 @@ import lombok.EqualsAndHashCode; import lombok.ToString; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; import jakarta.persistence.Lob; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; import java.util.List; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "job", - indexes = {@Index(name = "idx_job_cluster_id", columnList = "cluster_id")}) -@TableGenerator(name = "job_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") +@Table(name = "job") public class JobPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "job_generator") @Column(name = "id") private Long id; @@ -58,8 +46,7 @@ public class JobPO extends BasePO implements Serializable { private String name; @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "context", length = 16777216) + @Column(name = "context") private String context; @Column(name = "cluster_id") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java index 6e464995e..00030d2c5 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java @@ -22,32 +22,16 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; -import jakarta.persistence.UniqueConstraint; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "repo", - uniqueConstraints = { - @UniqueConstraint( - name = "uk_repo_id", - columnNames = {"repo_id", "os", "arch", "cluster_id"}) - }, - indexes = {@Index(name = "idx_repo_cluster_id", columnList = "cluster_id")}) -@TableGenerator(name = "repo_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") +@Table(name = "repo") public class RepoPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "repo_generator") @Column(name = "id") private Long id; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java index 72e5482d6..4c622cea6 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServiceConfigPO.java @@ -23,36 +23,18 @@ import lombok.ToString; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; import java.io.Serializable; import java.util.List; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "service_config", - indexes = { - @Index(name = "idx_sc_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_sc_service_id", columnList = "service_id") - }) -@TableGenerator( - name = "service_config_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") +@Table(name = "service_config") public class ServiceConfigPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "service_config_generator") @Column(name = "id") private Long id; @@ -66,7 +48,6 @@ public class ServiceConfigPO extends BasePO implements Serializable { private Boolean selected; @ToString.Exclude - @OneToMany(mappedBy = "serviceConfigPO") private List configs; @Column(name = "service_id") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java index 7aa2106e3..4584d7f49 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ServicePO.java @@ -23,39 +23,18 @@ import lombok.ToString; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import jakarta.persistence.Transient; -import jakarta.persistence.UniqueConstraint; import java.io.Serializable; import java.util.List; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "service", - uniqueConstraints = { - @UniqueConstraint( - name = "uk_service_name", - columnNames = {"service_name", "cluster_id"}) - }, - indexes = {@Index(name = "idx_service_cluster_id", columnList = "cluster_id")}) -@TableGenerator( - name = "service_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") +@Table(name = "service") public class ServicePO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "service_generator") @Column(name = "id") private Long id; @@ -65,13 +44,13 @@ public class ServicePO extends BasePO implements Serializable { @Column(name = "display_name") private String displayName; - @Column(name = "service_desc", length = 1024) + @Column(name = "service_desc") private String serviceDesc; @Column(name = "service_version") private String serviceVersion; - @Column(name = "package_specifics", length = 1024) + @Column(name = "package_specifics") private String packageSpecifics; @Column(name = "service_user") @@ -92,6 +71,5 @@ public class ServicePO extends BasePO implements Serializable { private String userGroup; @ToString.Exclude - @OneToMany(mappedBy = "servicePO") private List components; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java index 6ff632e80..e0c85d8f1 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java @@ -21,39 +21,23 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Lob; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity @Table(name = "setting") -@TableGenerator( - name = "settings_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") public class SettingPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "settings_generator") @Column(name = "id") private Long id; @Column(name = "type_name") private String typeName; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "config_data", length = 16777216) + @Column(name = "config_data") private String configData; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java index f154a3966..76db3ea9e 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StackPO.java @@ -22,30 +22,16 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; -import jakarta.persistence.UniqueConstraint; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "stack", - uniqueConstraints = { - @UniqueConstraint( - name = "uk_stack", - columnNames = {"stack_name", "stack_version"}) - }) -@TableGenerator(name = "stack_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") +@Table(name = "stack") public class StackPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "stack_generator") @Column(name = "id") private Long id; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java index 544cc16da..22a2d94c1 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java @@ -22,35 +22,18 @@ import lombok.EqualsAndHashCode; import lombok.ToString; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; -import jakarta.persistence.Lob; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; import java.util.List; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "stage", - indexes = { - @Index(name = "idx_stage_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_stage_job_id", columnList = "job_id") - }) -@TableGenerator(name = "stage_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") +@Table(name = "stage") public class StagePO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "stage_generator") @Column(name = "id") private Long id; @@ -69,9 +52,7 @@ public class StagePO extends BasePO implements Serializable { @Column(name = "component_name") private String componentName; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "context", length = 16777216) + @Column(name = "context") private String context; @Column(name = "job_id") @@ -81,6 +62,5 @@ public class StagePO extends BasePO implements Serializable { private Long clusterId; @ToString.Exclude - @OneToMany(mappedBy = "stagePO") private List tasks; } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java index 9c23c41b1..54b507173 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TaskPO.java @@ -21,43 +21,24 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Index; -import jakarta.persistence.Lob; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity -@Table( - name = "task", - indexes = { - @Index(name = "idx_task_cluster_id", columnList = "cluster_id"), - @Index(name = "idx_task_job_id", columnList = "job_id"), - @Index(name = "idx_task_stage_id", columnList = "stage_id") - }) -@TableGenerator(name = "task_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") +@Table(name = "task") public class TaskPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "task_generator") @Column(name = "id") private Long id; @Column(name = "name") private String name; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "context", length = 16777216) + @Column(name = "context") private String context; @Column(name = "state") @@ -87,9 +68,7 @@ public class TaskPO extends BasePO implements Serializable { @Column(name = "service_user") private String serviceUser; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "content", length = 16777216) + @Column(name = "content") private String content; @Column(name = "stage_id") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java index cec947081..1fb21bf3c 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/TypeConfigPO.java @@ -21,40 +21,24 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.persistence.Basic; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import jakarta.persistence.Lob; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity @Table(name = "type_config") -@TableGenerator( - name = "type_config_generator", - table = "sequence", - pkColumnName = "seq_name", - valueColumnName = "seq_count") public class TypeConfigPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "type_config_generator") @Column(name = "id") private Long id; @Column(name = "type_name") private String typeName; - @Lob - @Basic(fetch = FetchType.LAZY) - @Column(name = "properties_json", length = 16777216) + @Column(name = "properties_json") private String propertiesJson; @Column(name = "service_config_id") diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java index 731921461..e684ea708 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/UserPO.java @@ -22,23 +22,16 @@ import lombok.EqualsAndHashCode; import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; -import jakarta.persistence.TableGenerator; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) -@Entity @Table(name = "user") -@TableGenerator(name = "user_generator", table = "sequence", pkColumnName = "seq_name", valueColumnName = "seq_count") public class UserPO extends BasePO implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.TABLE, generator = "user_generator") @Column(name = "id") private Long id; diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java index 0ae46ac0a..2f3b120ee 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/SQLBuilder.java @@ -49,7 +49,7 @@ public static String insert(TableMetaData tableMetaData, Entity entity, case MYSQL: { sql.INSERT_INTO(tableMetaData.getTableName()); for (Map.Entry entry : fieldColumnMap.entrySet()) { - // 忽略主键 + // Ignore primary key if (Objects.equals(entry.getKey(), tableMetaData.getPkProperty())) { continue; } @@ -81,7 +81,7 @@ public static String update(TableMetaData tableMetaData, Entity entity, case MYSQL: { sql.UPDATE(tableMetaData.getTableName()); for (Map.Entry entry : fieldColumnMap.entrySet()) { - // 忽略主键 + // Ignore primary key if (Objects.equals(entry.getKey(), tableMetaData.getPkProperty())) { continue; } diff --git a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql index 976e86a82..94a4ab598 100644 --- a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql +++ b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql @@ -86,7 +86,8 @@ CREATE TABLE `cluster` `user_group` VARCHAR(255), `stack_id` BIGINT, PRIMARY KEY (`id`), - UNIQUE KEY `uk_cluster_name` (`cluster_name`) + UNIQUE KEY `uk_cluster_name` (`cluster_name`), + KEY `idx_cluster_stack_id` (`stack_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `component` @@ -148,7 +149,8 @@ CREATE TABLE `host` `total_memory_size` BIGINT, `update_by` BIGINT, PRIMARY KEY (`id`), - UNIQUE KEY `uk_hostname` (`hostname`) + UNIQUE KEY `uk_hostname` (`hostname`, `cluster_id`), + KEY `idx_host_cluster_id` (cluster_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `repo` From 6ea0a95796b7fc4ebf1df568032eeb4816e715d6 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Thu, 29 Aug 2024 11:23:40 +0800 Subject: [PATCH 15/17] rename orm suffix --- .../AuditLogDao.java} | 4 +- .../BaseDao.java} | 4 +- .../ClusterDao.java} | 4 +- .../ComponentDao.java} | 4 +- .../HostComponentDao.java} | 4 +- .../HostDao.java} | 4 +- .../JobMapper.java => repository/JobDao.java} | 4 +- .../RepoDao.java} | 4 +- .../ServiceConfigDao.java} | 4 +- .../ServiceDao.java} | 4 +- .../SettingDao.java} | 4 +- .../StackDao.java} | 4 +- .../StageDao.java} | 4 +- .../TaskDao.java} | 4 +- .../TypeConfigDao.java} | 4 +- .../UserDao.java} | 4 +- .../manager/dao/sql/BaseSqlProvider.java | 4 +- .../resources/mapper/mysql/ClusterMapper.xml | 2 +- .../mapper/mysql/ComponentMapper.xml | 2 +- .../mapper/mysql/HostComponentMapper.xml | 2 +- .../resources/mapper/mysql/HostMapper.xml | 2 +- .../main/resources/mapper/mysql/JobMapper.xml | 2 +- .../resources/mapper/mysql/RepoMapper.xml | 2 +- .../mapper/mysql/ServiceConfigMapper.xml | 2 +- .../resources/mapper/mysql/ServiceMapper.xml | 2 +- .../resources/mapper/mysql/StackMapper.xml | 2 +- .../resources/mapper/mysql/StageMapper.xml | 2 +- .../resources/mapper/mysql/TaskMapper.xml | 2 +- .../resources/mapper/mysql/UserMapper.xml | 2 +- .../manager/server/aop/AuditAspect.java | 6 +- .../server/command/job/AbstractJob.java | 42 ++++++------ .../command/job/AbstractServiceJob.java | 26 ++++---- .../server/command/job/ClusterCreateJob.java | 10 +-- .../server/command/job/ServiceInstallJob.java | 32 +++++----- .../command/stage/AbstractComponentStage.java | 8 +-- .../server/command/stage/AbstractStage.java | 12 ++-- .../command/stage/CacheFileUpdateStage.java | 8 +-- .../server/command/stage/HostCheckStage.java | 8 +-- .../command/task/AbstractComponentTask.java | 6 +- .../server/command/task/AbstractTask.java | 12 ++-- .../command/task/CacheFileUpdateTask.java | 64 +++++++++---------- .../command/task/ComponentInstallTask.java | 4 +- .../command/task/ComponentStartTask.java | 4 +- .../command/task/ComponentStopTask.java | 4 +- .../validator/ClusterCreateValidator.java | 6 +- .../validator/ClusterHostValidator.java | 6 +- .../command/validator/HostAddValidator.java | 6 +- .../validator/RequiredServicesValidator.java | 12 ++-- .../validator/ServiceHostValidator.java | 6 +- .../command/validator/StackValidator.java | 6 +- .../scheduler/ComponentStatusScheduler.java | 10 +-- .../server/scheduler/HostInfoScheduler.java | 8 +-- .../service/impl/ClusterServiceImpl.java | 32 +++++----- .../service/impl/CommandServiceImpl.java | 18 +++--- .../service/impl/ComponentServiceImpl.java | 8 +-- .../service/impl/ConfigServiceImpl.java | 32 +++++----- .../impl/HostComponentServiceImpl.java | 10 +-- .../server/service/impl/HostServiceImpl.java | 16 ++--- .../server/service/impl/JobServiceImpl.java | 26 ++++---- .../server/service/impl/LoginServiceImpl.java | 6 +- .../service/impl/ServiceServiceImpl.java | 20 +++--- .../service/impl/TaskLogServiceImpl.java | 6 +- .../server/service/impl/UserServiceImpl.java | 12 ++-- .../server/stack/StackInitializer.java | 8 +-- .../manager/server/aop/AuditAspectTest.java | 10 +-- 65 files changed, 300 insertions(+), 302 deletions(-) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/AuditLogMapper.java => repository/AuditLogDao.java} (88%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/BaseMapper.java => repository/BaseDao.java} (96%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/ClusterMapper.java => repository/ClusterDao.java} (91%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/ComponentMapper.java => repository/ComponentDao.java} (92%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/HostComponentMapper.java => repository/HostComponentDao.java} (94%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/HostMapper.java => repository/HostDao.java} (92%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/JobMapper.java => repository/JobDao.java} (91%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/RepoMapper.java => repository/RepoDao.java} (91%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/ServiceConfigMapper.java => repository/ServiceConfigDao.java} (91%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/ServiceMapper.java => repository/ServiceDao.java} (92%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/SettingMapper.java => repository/SettingDao.java} (88%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/StackMapper.java => repository/StackDao.java} (90%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/StageMapper.java => repository/StageDao.java} (90%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/TaskMapper.java => repository/TaskDao.java} (90%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/TypeConfigMapper.java => repository/TypeConfigDao.java} (88%) rename bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/{mapper/UserMapper.java => repository/UserDao.java} (90%) diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogDao.java similarity index 88% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogDao.java index 9fdd4378a..a12f51a74 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/AuditLogMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/AuditLogDao.java @@ -17,8 +17,8 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.AuditLogPO; -public interface AuditLogMapper extends BaseMapper {} +public interface AuditLogDao extends BaseDao {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/BaseDao.java similarity index 96% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/BaseDao.java index 4c378e99e..ff8b96923 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/BaseMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/BaseDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.sql.BaseSqlProvider; @@ -32,7 +32,7 @@ import java.util.List; import java.util.Optional; -public interface BaseMapper { +public interface BaseDao { /** * Insert the entity. diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterDao.java similarity index 91% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterDao.java index 78b4547f8..de2ec3269 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ClusterMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ClusterDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.ClusterPO; @@ -26,7 +26,7 @@ import java.util.List; import java.util.Optional; -public interface ClusterMapper extends BaseMapper { +public interface ClusterDao extends BaseDao { Optional findByClusterName(@Param("clusterName") String clusterName); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentDao.java similarity index 92% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentDao.java index 2e2d3a7eb..70d057081 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ComponentDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.ComponentPO; @@ -25,7 +25,7 @@ import java.util.List; -public interface ComponentMapper extends BaseMapper { +public interface ComponentDao extends BaseDao { ComponentPO findByClusterIdAndComponentName( @Param("clusterId") Long clusterId, @Param("componentName") String componentName); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentDao.java similarity index 94% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentDao.java index 962ff62e1..d298875a1 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostComponentMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostComponentDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.HostComponentPO; @@ -25,7 +25,7 @@ import java.util.List; -public interface HostComponentMapper extends BaseMapper { +public interface HostComponentDao extends BaseDao { List findAllJoin(); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostDao.java similarity index 92% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostDao.java index 393e600c2..335a5e564 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/HostMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/HostDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.HostPO; @@ -26,7 +26,7 @@ import java.util.Collection; import java.util.List; -public interface HostMapper extends BaseMapper { +public interface HostDao extends BaseDao { int saveAll(@Param("hosts") List hosts); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobDao.java similarity index 91% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobDao.java index e984ceba4..82efe16a3 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/JobMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/JobDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.JobPO; @@ -26,7 +26,7 @@ import java.util.List; import java.util.Optional; -public interface JobMapper extends BaseMapper { +public interface JobDao extends BaseDao { List findAllByClusterId(@Param("clusterId") Long clusterId); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java similarity index 91% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java index f06e55b70..c951dfb35 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/RepoMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.RepoPO; @@ -26,7 +26,7 @@ import java.util.List; import java.util.Optional; -public interface RepoMapper extends BaseMapper { +public interface RepoDao extends BaseDao { Optional findByRepoName(@Param("repoName") String clusterName); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigDao.java similarity index 91% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigDao.java index 2b56b13bc..ddfd24c9d 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceConfigMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceConfigDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.ServiceConfigPO; @@ -25,7 +25,7 @@ import java.util.List; -public interface ServiceConfigMapper extends BaseMapper { +public interface ServiceConfigDao extends BaseDao { List findAllByClusterId(@Param("clusterId") Long clusterId); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java similarity index 92% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java index 71b3b9edf..57d29805c 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/ServiceMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.ServicePO; @@ -26,7 +26,7 @@ import java.util.List; import java.util.Optional; -public interface ServiceMapper extends BaseMapper { +public interface ServiceDao extends BaseDao { List findAllByClusterId(@Param("clusterId") Long clusterId); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingDao.java similarity index 88% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingDao.java index 7706c8bc9..c719b760e 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/SettingMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingDao.java @@ -17,8 +17,8 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.SettingPO; -public interface SettingMapper extends BaseMapper {} +public interface SettingDao extends BaseDao {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackDao.java similarity index 90% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackDao.java index fe377817f..8523d2be1 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StackMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StackDao.java @@ -17,13 +17,13 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.StackPO; import org.apache.ibatis.annotations.Param; -public interface StackMapper extends BaseMapper { +public interface StackDao extends BaseDao { StackPO findByStackNameAndStackVersion( @Param("stackName") String stackName, @Param("stackVersion") String stackVersion); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageDao.java similarity index 90% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageDao.java index 9cb3b39da..993c57dce 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/StageMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/StageDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.StagePO; @@ -25,7 +25,7 @@ import java.util.List; -public interface StageMapper extends BaseMapper { +public interface StageDao extends BaseDao { List findByJobId(@Param("jobId") Long jobId); diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskDao.java similarity index 90% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskDao.java index 503c59e0b..7f74e536c 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TaskMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TaskDao.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.TaskPO; @@ -25,7 +25,7 @@ import java.util.List; -public interface TaskMapper extends BaseMapper { +public interface TaskDao extends BaseDao { void updateStateByIds(@Param("tasks") List tasks); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigDao.java similarity index 88% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigDao.java index a57b99852..0dd4b4785 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/TypeConfigMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/TypeConfigDao.java @@ -17,8 +17,8 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.TypeConfigPO; -public interface TypeConfigMapper extends BaseMapper {} +public interface TypeConfigDao extends BaseDao {} diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserDao.java similarity index 90% rename from bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java rename to bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserDao.java index 5dda7045c..e1cfeebc8 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/mapper/UserMapper.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/UserDao.java @@ -17,13 +17,13 @@ * under the License. */ -package org.apache.bigtop.manager.dao.mapper; +package org.apache.bigtop.manager.dao.repository; import org.apache.bigtop.manager.dao.po.UserPO; import org.apache.ibatis.annotations.Param; -public interface UserMapper extends BaseMapper { +public interface UserDao extends BaseDao { UserPO findByUsername(@Param("username") String username); } diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java index ba93e466a..52966b4a2 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/sql/BaseSqlProvider.java @@ -19,7 +19,7 @@ package org.apache.bigtop.manager.dao.sql; -import org.apache.bigtop.manager.dao.mapper.BaseMapper; +import org.apache.bigtop.manager.dao.repository.BaseDao; import org.apache.ibatis.builder.annotation.ProviderContext; @@ -106,7 +106,7 @@ private Class getEntityClass(ProviderContext context) { Class mapperType = context.getMapperType(); for (Type parent : mapperType.getGenericInterfaces()) { ResolvableType parentType = ResolvableType.forType(parent); - if (parentType.getRawClass() == BaseMapper.class) { + if (parentType.getRawClass() == BaseDao.class) { return parentType.getGeneric(0).getRawClass(); } } diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml index 2ad8236b2..75caa42aa 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml @@ -21,7 +21,7 @@ - + id, cluster_name, cluster_type, root, user_group, packages, repo_template, state, selected, stack_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml index 2f19b2c05..cc1c93d65 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ComponentMapper.xml @@ -21,7 +21,7 @@ - + id, component_name, display_name, command_script, custom_commands, category, quick_link, cardinality, service_id, cluster_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml index c57d5036c..51060006c 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostComponentMapper.xml @@ -21,7 +21,7 @@ - + id, state, host_id, component_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml index 921f26229..a1143a325 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/HostMapper.xml @@ -21,7 +21,7 @@ - + id, hostname, ipv4, ipv6, os, arch, available_processors, free_memory_size, total_memory_size, free_disk, total_disk, state, cluster_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml index f42b2265a..6efb75bcc 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/JobMapper.xml @@ -21,7 +21,7 @@ - + id, state, name, context, cluster_id, create_time, update_time diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml index 020fe413b..138250733 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml @@ -21,7 +21,7 @@ - + id, base_url, os, arch, repo_id, repo_name, cluster_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml index 0cf19ee2b..52a30d61b 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceConfigMapper.xml @@ -21,7 +21,7 @@ - + id, config_desc, version, selected, service_id, cluster_id, create_time, update_time diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml index a3a128833..5a4056514 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml @@ -21,7 +21,7 @@ - + id, service_name, display_name, service_desc, service_version, package_specifics, service_user, required_services, cluster_id diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml index 5805f9837..d654df909 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StackMapper.xml @@ -21,7 +21,7 @@ - + id, stack_name, stack_version diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml index dc4e56b85..6b567ce28 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/StageMapper.xml @@ -21,7 +21,7 @@ - + UPDATE stage diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml index 26363463b..7f9d74b8d 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/TaskMapper.xml @@ -21,7 +21,7 @@ - + UPDATE task diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/UserMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/UserMapper.xml index 2bb67fbbf..e05f9262c 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/UserMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/UserMapper.xml @@ -21,7 +21,7 @@ - + id, username, password, nickname, status diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java index d0f53908c..08331833a 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/aop/AuditAspect.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.aop; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.AuditLogMapper; import org.apache.bigtop.manager.dao.po.AuditLogPO; +import org.apache.bigtop.manager.dao.repository.AuditLogDao; import org.apache.bigtop.manager.server.holder.SessionUserHolder; import org.aspectj.lang.JoinPoint; @@ -44,7 +44,7 @@ public class AuditAspect { @Resource - private AuditLogMapper auditLogMapper; + private AuditLogDao auditLogDao; @Before(value = "@annotation(org.apache.bigtop.manager.server.annotations.Audit)") public void before(JoinPoint joinPoint) { @@ -87,7 +87,7 @@ public void before(JoinPoint joinPoint) { log.debug("auditLog: {}", auditLogPO); log.debug("request method:{}.{}", joinPoint.getSignature().getDeclaringTypeName(), methodName); - auditLogMapper.save(auditLogPO); + auditLogDao.save(auditLogPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java index bb3feeefc..902311b0c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractJob.java @@ -20,15 +20,15 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; -import org.apache.bigtop.manager.dao.mapper.JobMapper; -import org.apache.bigtop.manager.dao.mapper.StackMapper; -import org.apache.bigtop.manager.dao.mapper.StageMapper; -import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; +import org.apache.bigtop.manager.dao.repository.JobDao; +import org.apache.bigtop.manager.dao.repository.StackDao; +import org.apache.bigtop.manager.dao.repository.StageDao; +import org.apache.bigtop.manager.dao.repository.TaskDao; import org.apache.bigtop.manager.server.command.stage.Stage; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -39,11 +39,11 @@ public abstract class AbstractJob implements Job { - protected StackMapper stackMapper; - protected ClusterMapper clusterMapper; - protected JobMapper jobMapper; - protected StageMapper stageMapper; - protected TaskMapper taskMapper; + protected StackDao stackDao; + protected ClusterDao clusterDao; + protected JobDao jobDao; + protected StageDao stageDao; + protected TaskDao taskDao; protected JobContext jobContext; protected List stages; @@ -67,17 +67,17 @@ public AbstractJob(JobContext jobContext) { } protected void injectBeans() { - this.stackMapper = SpringContextHolder.getBean(StackMapper.class); - this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); + this.stackDao = SpringContextHolder.getBean(StackDao.class); + this.clusterDao = SpringContextHolder.getBean(ClusterDao.class); - this.jobMapper = SpringContextHolder.getBean(JobMapper.class); - this.stageMapper = SpringContextHolder.getBean(StageMapper.class); - this.taskMapper = SpringContextHolder.getBean(TaskMapper.class); + this.jobDao = SpringContextHolder.getBean(JobDao.class); + this.stageDao = SpringContextHolder.getBean(StageDao.class); + this.taskDao = SpringContextHolder.getBean(TaskDao.class); } protected void beforeCreateStages() { Long clusterId = jobContext.getCommandDTO().getClusterId(); - this.clusterPO = clusterId == null ? new ClusterPO() : clusterMapper.findById(clusterId); + this.clusterPO = clusterId == null ? new ClusterPO() : clusterDao.findById(clusterId); } protected abstract void createStages(); @@ -85,7 +85,7 @@ protected void beforeCreateStages() { @Override public void beforeRun() { jobPO.setState(JobState.PROCESSING.getName()); - jobMapper.updateById(jobPO); + jobDao.updateById(jobPO); } @Override @@ -120,7 +120,7 @@ public void run() { public void onSuccess() { JobPO jobPO = getJobPO(); jobPO.setState(JobState.SUCCESSFUL.getName()); - jobMapper.updateById(jobPO); + jobDao.updateById(jobPO); } @Override @@ -145,12 +145,12 @@ public void onFailure() { } } if (!taskPOList.isEmpty()) { - taskMapper.updateStateByIds(taskPOList); + taskDao.updateStateByIds(taskPOList); } if (!stagePOList.isEmpty()) { - stageMapper.updateStateByIds(stagePOList); + stageDao.updateStateByIds(stagePOList); } - jobMapper.updateById(jobPO); + jobDao.updateById(jobPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java index 90c5b70ce..5192d6118 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java @@ -21,13 +21,13 @@ import org.apache.bigtop.manager.common.constants.ComponentCategories; import org.apache.bigtop.manager.common.enums.Command; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.ComponentMapper; -import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; import org.apache.bigtop.manager.dao.po.HostPO; import org.apache.bigtop.manager.dao.po.StackPO; +import org.apache.bigtop.manager.dao.repository.ComponentDao; +import org.apache.bigtop.manager.dao.repository.HostComponentDao; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.server.command.stage.CacheFileUpdateStage; import org.apache.bigtop.manager.server.command.stage.ComponentCheckStage; import org.apache.bigtop.manager.server.command.stage.ComponentConfigureStage; @@ -53,9 +53,9 @@ public abstract class AbstractServiceJob extends AbstractJob { - protected ComponentMapper componentMapper; - protected HostComponentMapper hostComponentMapper; - protected HostMapper hostMapper; + protected ComponentDao componentDao; + protected HostComponentDao hostComponentDao; + protected HostDao hostDao; protected String stackName; protected String stackVersion; @@ -69,15 +69,15 @@ public AbstractServiceJob(JobContext jobContext) { protected void injectBeans() { super.injectBeans(); - this.componentMapper = SpringContextHolder.getBean(ComponentMapper.class); - this.hostComponentMapper = SpringContextHolder.getBean(HostComponentMapper.class); - this.hostMapper = SpringContextHolder.getBean(HostMapper.class); + this.componentDao = SpringContextHolder.getBean(ComponentDao.class); + this.hostComponentDao = SpringContextHolder.getBean(HostComponentDao.class); + this.hostDao = SpringContextHolder.getBean(HostDao.class); } @Override protected void beforeCreateStages() { super.beforeCreateStages(); - StackPO stackPO = stackMapper.findById(clusterPO.getStackId()); + StackPO stackPO = stackDao.findById(clusterPO.getStackId()); stackName = stackPO.getStackName(); stackVersion = stackPO.getStackVersion(); @@ -120,7 +120,7 @@ protected List getTodoListForCommand(Command command) { protected List getComponentNames() { List serviceNames = getServiceNames(); List componentPOList = - componentMapper.findAllByClusterIdAndServiceServiceNameIn(clusterPO.getId(), serviceNames); + componentDao.findAllByClusterIdAndServiceServiceNameIn(clusterPO.getId(), serviceNames); return componentPOList.stream().map(ComponentPO::getComponentName).toList(); } @@ -154,12 +154,12 @@ protected Boolean isClientComponent(String componentName) { protected List findHostnamesByComponentName(String componentName) { List hostComponentPOList = - hostComponentMapper.findAllByClusterIdAndComponentName(clusterPO.getId(), componentName); + hostComponentDao.findAllByClusterIdAndComponentName(clusterPO.getId(), componentName); if (hostComponentPOList == null) { return new ArrayList<>(); } else { - List hostPOList = hostMapper.findByIds( + List hostPOList = hostDao.findByIds( hostComponentPOList.stream().map(HostComponentPO::getHostId).toList()); return hostPOList.stream().map(HostPO::getHostname).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java index 3177d54f3..47a274473 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterCreateJob.java @@ -71,28 +71,28 @@ public void onSuccess() { super.onSuccess(); CommandDTO commandDTO = jobContext.getCommandDTO(); - ClusterPO clusterPO = clusterMapper + ClusterPO clusterPO = clusterDao .findByClusterName(commandDTO.getClusterCommand().getClusterName()) .orElse(new ClusterPO()); // Update cluster state to installed clusterPO.setState(MaintainState.INSTALLED.getName()); - clusterMapper.updateById(clusterPO); + clusterDao.updateById(clusterPO); // Link job to cluster after cluster successfully added JobPO jobPO = getJobPO(); jobPO.setClusterId(clusterPO.getId()); - jobMapper.updateById(jobPO); + jobDao.updateById(jobPO); for (Stage stage : getStages()) { StagePO stagePO = stage.getStagePO(); stagePO.setClusterId(clusterPO.getId()); - stageMapper.updateById(stagePO); + stageDao.updateById(stagePO); for (Task task : stage.getTasks()) { TaskPO taskPO = task.getTaskPO(); taskPO.setClusterId(clusterPO.getId()); - taskMapper.updateById(taskPO); + taskDao.updateById(taskPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java index a3a242f24..100ccdf41 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceInstallJob.java @@ -19,13 +19,13 @@ package org.apache.bigtop.manager.server.command.job; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.mapper.HostMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; import org.apache.bigtop.manager.dao.po.HostPO; import org.apache.bigtop.manager.dao.po.ServicePO; +import org.apache.bigtop.manager.dao.repository.HostDao; +import org.apache.bigtop.manager.dao.repository.ServiceDao; import org.apache.bigtop.manager.server.holder.SpringContextHolder; import org.apache.bigtop.manager.server.model.converter.ComponentConverter; import org.apache.bigtop.manager.server.model.converter.ServiceConverter; @@ -43,8 +43,8 @@ public class ServiceInstallJob extends AbstractServiceJob { private ConfigService configService; - private ServiceMapper serviceMapper; - private HostMapper hostMapper; + private ServiceDao serviceDao; + private HostDao hostDao; public ServiceInstallJob(JobContext jobContext) { super(jobContext); @@ -55,8 +55,8 @@ protected void injectBeans() { super.injectBeans(); this.configService = SpringContextHolder.getBean(ConfigService.class); - this.serviceMapper = SpringContextHolder.getBean(ServiceMapper.class); - this.hostMapper = SpringContextHolder.getBean(HostMapper.class); + this.serviceDao = SpringContextHolder.getBean(ServiceDao.class); + this.hostDao = SpringContextHolder.getBean(HostDao.class); } @Override @@ -99,7 +99,7 @@ protected List findHostnamesByComponentName(String componentName) { if (componentHost.getComponentName().equals(componentName)) { List hostnames = new ArrayList<>(componentHost.getHostnames()); if (serviceCommand.getInstalled()) { - List existHostnames = hostComponentMapper + List existHostnames = hostComponentDao .findAllByClusterIdAndComponentNameAndHostnameIn( clusterPO.getId(), componentName, hostnames) .stream() @@ -128,7 +128,7 @@ public void beforeRun() { // Persist service, component and hostComponent metadata to database for (ServiceCommandDTO serviceCommand : serviceCommands) { String serviceName = serviceCommand.getServiceName(); - ServicePO servicePO = serviceMapper.findByClusterIdAndServiceName(clusterId, serviceName); + ServicePO servicePO = serviceDao.findByClusterIdAndServiceName(clusterId, serviceName); upsertService(servicePO, serviceCommand); } } @@ -137,7 +137,7 @@ private void upsertService(ServicePO servicePO, ServiceCommandDTO serviceCommand CommandDTO commandDTO = jobContext.getCommandDTO(); Long clusterId = commandDTO.getClusterId(); String serviceName = serviceCommand.getServiceName(); - ClusterPO clusterPO = clusterMapper.findByIdJoin(clusterId); + ClusterPO clusterPO = clusterDao.findByIdJoin(clusterId); String stackName = clusterPO.getStackName(); String stackVersion = clusterPO.getStackVersion(); @@ -146,7 +146,7 @@ private void upsertService(ServicePO servicePO, ServiceCommandDTO serviceCommand if (servicePO == null) { ServiceDTO serviceDTO = StackUtils.getServiceDTO(stackName, stackVersion, serviceName); servicePO = ServiceConverter.INSTANCE.fromDTO2PO(serviceDTO, clusterPO); - serviceMapper.save(servicePO); + serviceDao.save(servicePO); } // 2. Update configs @@ -156,25 +156,25 @@ private void upsertService(ServicePO servicePO, ServiceCommandDTO serviceCommand String componentName = componentHostDTO.getComponentName(); // 3. Persist component - ComponentPO componentPO = componentMapper.findByClusterIdAndComponentName(clusterId, componentName); + ComponentPO componentPO = componentDao.findByClusterIdAndComponentName(clusterId, componentName); if (componentPO == null) { ComponentDTO componentDTO = StackUtils.getComponentDTO(stackName, stackVersion, componentName); componentPO = ComponentConverter.INSTANCE.fromDTO2PO(componentDTO, servicePO, clusterPO); - componentMapper.save(componentPO); + componentDao.save(componentPO); } // 4. Persist hostComponent for (String hostname : componentHostDTO.getHostnames()) { - HostComponentPO hostComponentPO = hostComponentMapper.findByClusterIdAndComponentNameAndHostname( - clusterId, componentName, hostname); + HostComponentPO hostComponentPO = + hostComponentDao.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); if (hostComponentPO == null) { - HostPO hostPO = hostMapper.findByHostname(hostname); + HostPO hostPO = hostDao.findByHostname(hostname); hostComponentPO = new HostComponentPO(); hostComponentPO.setHostId(hostPO.getId()); hostComponentPO.setComponentId(componentPO.getId()); hostComponentPO.setState(MaintainState.UNINSTALLED.getName()); - hostComponentMapper.save(hostComponentPO); + hostComponentDao.save(hostComponentPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java index a7a26ef89..54b272825 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.command.stage; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; import org.apache.bigtop.manager.server.command.task.TaskContext; import org.apache.bigtop.manager.server.holder.SpringContextHolder; import org.apache.bigtop.manager.server.model.dto.ComponentDTO; @@ -30,7 +30,7 @@ public abstract class AbstractComponentStage extends AbstractStage { - private ClusterMapper clusterMapper; + private ClusterDao clusterDao; private ClusterPO clusterPO; @@ -42,12 +42,12 @@ public AbstractComponentStage(StageContext stageContext) { protected void injectBeans() { super.injectBeans(); - this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); + this.clusterDao = SpringContextHolder.getBean(ClusterDao.class); } @Override protected void beforeCreateTasks() { - this.clusterPO = clusterMapper.findById(stageContext.getClusterId()); + this.clusterPO = clusterDao.findById(stageContext.getClusterId()); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java index 0598b833e..2081f7c36 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java @@ -20,8 +20,8 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.StageMapper; import org.apache.bigtop.manager.dao.po.StagePO; +import org.apache.bigtop.manager.dao.repository.StageDao; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -31,7 +31,7 @@ public abstract class AbstractStage implements Stage { - protected StageMapper stageMapper; + protected StageDao stageDao; protected StageContext stageContext; protected List tasks; @@ -55,7 +55,7 @@ public AbstractStage(StageContext stageContext) { } protected void injectBeans() { - this.stageMapper = SpringContextHolder.getBean(StageMapper.class); + this.stageDao = SpringContextHolder.getBean(StageDao.class); } protected abstract void beforeCreateTasks(); @@ -73,7 +73,7 @@ protected String getComponentName() { @Override public void beforeRun() { stagePO.setState(JobState.PROCESSING.getName()); - stageMapper.updateById(stagePO); + stageDao.updateById(stagePO); } @Override @@ -116,14 +116,14 @@ public Boolean run() { public void onSuccess() { StagePO stagePO = getStagePO(); stagePO.setState(JobState.SUCCESSFUL.getName()); - stageMapper.updateById(stagePO); + stageDao.updateById(stagePO); } @Override public void onFailure() { StagePO stagePO = getStagePO(); stagePO.setState(JobState.FAILED.getName()); - stageMapper.updateById(stagePO); + stageDao.updateById(stagePO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java index 040fbfca8..37d8f40df 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.stage; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.server.command.task.CacheFileUpdateTask; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.command.task.TaskContext; @@ -33,7 +33,7 @@ public class CacheFileUpdateStage extends AbstractStage { - private HostMapper hostMapper; + private HostDao hostDao; public CacheFileUpdateStage(StageContext stageContext) { super(stageContext); @@ -43,7 +43,7 @@ public CacheFileUpdateStage(StageContext stageContext) { protected void injectBeans() { super.injectBeans(); - this.hostMapper = SpringContextHolder.getBean(HostMapper.class); + this.hostDao = SpringContextHolder.getBean(HostDao.class); } @Override @@ -54,7 +54,7 @@ protected void beforeCreateTasks() { hostnames.addAll(stageContext.getHostnames()); } else { hostnames.addAll(stageContext.getHostnames() == null ? List.of() : stageContext.getHostnames()); - hostnames.addAll(hostMapper.findAllByClusterId(stageContext.getClusterId()).stream() + hostnames.addAll(hostDao.findAllByClusterId(stageContext.getClusterId()).stream() .map(HostPO::getHostname) .toList()); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java index c0be708e5..5167cb329 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.stage; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; import org.apache.bigtop.manager.server.command.task.HostCheckTask; import org.apache.bigtop.manager.server.command.task.Task; import org.apache.bigtop.manager.server.command.task.TaskContext; @@ -28,7 +28,7 @@ public class HostCheckStage extends AbstractStage { - private ClusterMapper clusterMapper; + private ClusterDao clusterDao; public HostCheckStage(StageContext stageContext) { super(stageContext); @@ -38,13 +38,13 @@ public HostCheckStage(StageContext stageContext) { protected void injectBeans() { super.injectBeans(); - this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); + this.clusterDao = SpringContextHolder.getBean(ClusterDao.class); } @Override protected void beforeCreateTasks() { if (stageContext.getClusterId() != null) { - ClusterPO clusterPO = clusterMapper.findByIdJoin(stageContext.getClusterId()); + ClusterPO clusterPO = clusterDao.findByIdJoin(stageContext.getClusterId()); stageContext.setStackName(clusterPO.getStackName()); stageContext.setStackVersion(clusterPO.getStackVersion()); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java index 05760a784..03414e621 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java @@ -24,7 +24,7 @@ import org.apache.bigtop.manager.common.message.entity.pojo.PackageSpecificInfo; import org.apache.bigtop.manager.common.message.entity.pojo.ScriptInfo; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; +import org.apache.bigtop.manager.dao.repository.HostComponentDao; import org.apache.bigtop.manager.grpc.generated.CommandRequest; import org.apache.bigtop.manager.grpc.generated.CommandType; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -39,7 +39,7 @@ public abstract class AbstractComponentTask extends AbstractTask { - protected HostComponentMapper hostComponentMapper; + protected HostComponentDao hostComponentDao; public AbstractComponentTask(TaskContext taskContext) { super(taskContext); @@ -49,7 +49,7 @@ public AbstractComponentTask(TaskContext taskContext) { protected void injectBeans() { super.injectBeans(); - this.hostComponentMapper = SpringContextHolder.getBean(HostComponentMapper.class); + this.hostComponentDao = SpringContextHolder.getBean(HostComponentDao.class); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java index 934bd2386..fc0871a84 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractTask.java @@ -22,8 +22,8 @@ import org.apache.bigtop.manager.common.enums.Command; import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.TaskPO; +import org.apache.bigtop.manager.dao.repository.TaskDao; import org.apache.bigtop.manager.grpc.generated.CommandReply; import org.apache.bigtop.manager.grpc.generated.CommandRequest; import org.apache.bigtop.manager.grpc.generated.CommandServiceGrpc; @@ -33,7 +33,7 @@ public abstract class AbstractTask implements Task { - protected TaskMapper taskMapper; + protected TaskDao taskDao; protected TaskContext taskContext; @@ -51,7 +51,7 @@ public AbstractTask(TaskContext taskContext) { } protected void injectBeans() { - this.taskMapper = SpringContextHolder.getBean(TaskMapper.class); + this.taskDao = SpringContextHolder.getBean(TaskDao.class); } protected abstract Command getCommand(); @@ -65,7 +65,7 @@ protected String getCustomCommand() { @Override public void beforeRun() { taskPO.setState(JobState.PROCESSING.getName()); - taskMapper.updateById(taskPO); + taskDao.updateById(taskPO); } @Override @@ -102,7 +102,7 @@ public void onSuccess() { TaskPO taskPO = getTaskPO(); taskPO.setContent(ProtobufUtil.toJson(commandRequest)); taskPO.setState(JobState.SUCCESSFUL.getName()); - taskMapper.updateById(taskPO); + taskDao.updateById(taskPO); } @Override @@ -110,7 +110,7 @@ public void onFailure() { TaskPO taskPO = getTaskPO(); taskPO.setContent(ProtobufUtil.toJson(commandRequest)); taskPO.setState(JobState.FAILED.getName()); - taskMapper.updateById(taskPO); + taskDao.updateById(taskPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java index ee0238a9a..4d6790655 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java @@ -25,14 +25,6 @@ import org.apache.bigtop.manager.common.message.entity.pojo.ComponentInfo; import org.apache.bigtop.manager.common.message.entity.pojo.RepoInfo; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; -import org.apache.bigtop.manager.dao.mapper.ComponentMapper; -import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; -import org.apache.bigtop.manager.dao.mapper.HostMapper; -import org.apache.bigtop.manager.dao.mapper.RepoMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceConfigMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceMapper; -import org.apache.bigtop.manager.dao.mapper.SettingMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; @@ -42,6 +34,14 @@ import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.SettingPO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; +import org.apache.bigtop.manager.dao.repository.ComponentDao; +import org.apache.bigtop.manager.dao.repository.HostComponentDao; +import org.apache.bigtop.manager.dao.repository.HostDao; +import org.apache.bigtop.manager.dao.repository.RepoDao; +import org.apache.bigtop.manager.dao.repository.ServiceConfigDao; +import org.apache.bigtop.manager.dao.repository.ServiceDao; +import org.apache.bigtop.manager.dao.repository.SettingDao; import org.apache.bigtop.manager.grpc.generated.CommandRequest; import org.apache.bigtop.manager.grpc.generated.CommandType; import org.apache.bigtop.manager.server.holder.SpringContextHolder; @@ -69,14 +69,14 @@ public class CacheFileUpdateTask extends AbstractTask { - private ClusterMapper clusterMapper; - private HostComponentMapper hostComponentMapper; - private ServiceMapper serviceMapper; - private ServiceConfigMapper serviceConfigMapper; - private RepoMapper repoMapper; - private SettingMapper settingMapper; - private HostMapper hostMapper; - private ComponentMapper componentMapper; + private ClusterDao clusterDao; + private HostComponentDao hostComponentDao; + private ServiceDao serviceDao; + private ServiceConfigDao serviceConfigDao; + private RepoDao repoDao; + private SettingDao settingDao; + private HostDao hostDao; + private ComponentDao componentDao; private ClusterInfo clusterInfo; private Map componentInfoMap; @@ -94,14 +94,14 @@ public CacheFileUpdateTask(TaskContext taskContext) { protected void injectBeans() { super.injectBeans(); - this.clusterMapper = SpringContextHolder.getBean(ClusterMapper.class); - this.hostComponentMapper = SpringContextHolder.getBean(HostComponentMapper.class); - this.serviceMapper = SpringContextHolder.getBean(ServiceMapper.class); - this.serviceConfigMapper = SpringContextHolder.getBean(ServiceConfigMapper.class); - this.repoMapper = SpringContextHolder.getBean(RepoMapper.class); - this.settingMapper = SpringContextHolder.getBean(SettingMapper.class); - this.hostMapper = SpringContextHolder.getBean(HostMapper.class); - this.componentMapper = SpringContextHolder.getBean(ComponentMapper.class); + this.clusterDao = SpringContextHolder.getBean(ClusterDao.class); + this.hostComponentDao = SpringContextHolder.getBean(HostComponentDao.class); + this.serviceDao = SpringContextHolder.getBean(ServiceDao.class); + this.serviceConfigDao = SpringContextHolder.getBean(ServiceConfigDao.class); + this.repoDao = SpringContextHolder.getBean(RepoDao.class); + this.settingDao = SpringContextHolder.getBean(SettingDao.class); + this.hostDao = SpringContextHolder.getBean(HostDao.class); + this.componentDao = SpringContextHolder.getBean(ComponentDao.class); } @Override @@ -120,7 +120,7 @@ private void genCaches() { } private void genFullCaches() { - ClusterPO clusterPO = clusterMapper.findByIdJoin(taskContext.getClusterId()); + ClusterPO clusterPO = clusterDao.findByIdJoin(taskContext.getClusterId()); Long clusterId = clusterPO.getId(); String clusterName = clusterPO.getClusterName(); @@ -128,13 +128,13 @@ private void genFullCaches() { String stackName = clusterPO.getStackName(); String stackVersion = clusterPO.getStackVersion(); - List servicePOList = serviceMapper.findAllByClusterId(clusterId); + List servicePOList = serviceDao.findAllByClusterId(clusterId); List serviceConfigPOList = - serviceConfigMapper.findAllByClusterIdAndSelectedIsTrue(clusterPO.getId()); - List hostComponentPOList = hostComponentMapper.findAllByClusterId(clusterId); - List repoPOList = repoMapper.findAllByClusterId(clusterPO.getId()); - Iterable settings = settingMapper.findAll(); - List hostPOList = hostMapper.findAllByClusterId(clusterId); + serviceConfigDao.findAllByClusterIdAndSelectedIsTrue(clusterPO.getId()); + List hostComponentPOList = hostComponentDao.findAllByClusterId(clusterId); + List repoPOList = repoDao.findAllByClusterId(clusterPO.getId()); + Iterable settings = settingDao.findAll(); + List hostPOList = hostDao.findAllByClusterId(clusterId); clusterInfo = new ClusterInfo(); clusterInfo.setClusterName(clusterName); @@ -192,7 +192,7 @@ private void genFullCaches() { settings.forEach(x -> settingsMap.put(x.getTypeName(), x.getConfigData())); componentInfoMap = new HashMap<>(); - List componentPOList = componentMapper.findAllJoinService(); + List componentPOList = componentDao.findAllJoinService(); componentPOList.forEach(c -> { ComponentInfo componentInfo = new ComponentInfo(); componentInfo.setComponentName(c.getComponentName()); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java index 26d0c4f93..91f003cbb 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentInstallTask.java @@ -41,9 +41,9 @@ public void onSuccess() { String componentName = taskContext.getComponentName(); String hostname = taskContext.getHostname(); HostComponentPO hostComponentPO = - hostComponentMapper.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); + hostComponentDao.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); hostComponentPO.setState(MaintainState.INSTALLED.getName()); - hostComponentMapper.updateById(hostComponentPO); + hostComponentDao.updateById(hostComponentPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java index 83bf3609e..fca02aa87 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java @@ -41,9 +41,9 @@ public void onSuccess() { String componentName = taskContext.getComponentName(); String hostname = taskContext.getHostname(); HostComponentPO hostComponentPO = - hostComponentMapper.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); + hostComponentDao.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); hostComponentPO.setState(MaintainState.STARTED.getName()); - hostComponentMapper.updateById(hostComponentPO); + hostComponentDao.updateById(hostComponentPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java index c9a282717..b779aa448 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java @@ -41,9 +41,9 @@ public void onSuccess() { String componentName = taskContext.getComponentName(); String hostname = taskContext.getHostname(); HostComponentPO hostComponentPO = - hostComponentMapper.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); + hostComponentDao.findByClusterIdAndComponentNameAndHostname(clusterId, componentName, hostname); hostComponentPO.setState(MaintainState.STOPPED.getName()); - hostComponentMapper.updateById(hostComponentPO); + hostComponentDao.updateById(hostComponentPO); } @Override diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java index 16f5a0c74..adc9dc3c4 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterCreateValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -37,7 +37,7 @@ public class ClusterCreateValidator implements CommandValidator { @Resource - private ClusterMapper clusterMapper; + private ClusterDao clusterDao; @Override public List getCommandIdentifiers() { @@ -49,7 +49,7 @@ public void validate(ValidatorContext context) { ClusterCommandDTO clusterCommand = context.getCommandDTO().getClusterCommand(); String clusterName = clusterCommand.getClusterName(); - Optional clusterOptional = clusterMapper.findByClusterName(clusterName); + Optional clusterOptional = clusterDao.findByClusterName(clusterName); if (clusterOptional.isPresent()) { throw new ApiException(ApiExceptionEnum.CLUSTER_IS_INSTALLED, clusterName); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java index 66d36384e..d007f205c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ClusterHostValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -39,7 +39,7 @@ public class ClusterHostValidator implements CommandValidator { @Resource - private HostMapper hostMapper; + private HostDao hostDao; @Override public List getCommandIdentifiers() { @@ -51,7 +51,7 @@ public void validate(ValidatorContext context) { ClusterCommandDTO clusterCommand = context.getCommandDTO().getClusterCommand(); List hostnames = clusterCommand.getHostnames(); - List hostPOList = hostMapper.findAllByHostnameIn(hostnames); + List hostPOList = hostDao.findAllByHostnameIn(hostnames); if (CollectionUtils.isNotEmpty(hostPOList)) { List existsHostnames = hostPOList.stream().map(HostPO::getHostname).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java index ecfb96114..1003f8407 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -38,7 +38,7 @@ public class HostAddValidator implements CommandValidator { @Resource - private HostMapper hostMapper; + private HostDao hostDao; @Override public List getCommandIdentifiers() { @@ -51,7 +51,7 @@ public void validate(ValidatorContext context) { .map(HostCommandDTO::getHostname) .toList(); - List hostPOList = hostMapper.findAllByHostnameIn(hostnames); + List hostPOList = hostDao.findAllByHostnameIn(hostnames); if (CollectionUtils.isNotEmpty(hostPOList)) { List existsHostnames = hostPOList.stream().map(HostPO::getHostname).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java index 07842a3c1..0daefc717 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/RequiredServicesValidator.java @@ -19,10 +19,10 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ServicePO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; +import org.apache.bigtop.manager.dao.repository.ServiceDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -43,10 +43,10 @@ public class RequiredServicesValidator implements CommandValidator { @Resource - private ClusterMapper clusterMapper; + private ClusterDao clusterDao; @Resource - private ServiceMapper serviceMapper; + private ServiceDao serviceDao; @Override public List getCommandIdentifiers() { @@ -59,7 +59,7 @@ public void validate(ValidatorContext context) { List serviceCommands = commandDTO.getServiceCommands(); Long clusterId = commandDTO.getClusterId(); - ClusterPO clusterPO = clusterMapper.findByIdJoin(clusterId); + ClusterPO clusterPO = clusterDao.findByIdJoin(clusterId); String stackName = clusterPO.getStackName(); String stackVersion = clusterPO.getStackVersion(); @@ -73,7 +73,7 @@ public void validate(ValidatorContext context) { return; } - List servicePOList = serviceMapper.findByClusterIdAndServiceNameIn(clusterId, requiredServices); + List servicePOList = serviceDao.findByClusterIdAndServiceNameIn(clusterId, requiredServices); List list = servicePOList.stream().map(ServicePO::getServiceName).toList(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java index 67bad2b3d..73b092422 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/ServiceHostValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -39,7 +39,7 @@ public class ServiceHostValidator implements CommandValidator { @Resource - private HostMapper hostMapper; + private HostDao hostDao; @Override public List getCommandIdentifiers() { @@ -56,7 +56,7 @@ public void validate(ValidatorContext context) { .flatMap(x -> x.getHostnames().stream()) .collect(Collectors.toSet()); - List hostnames = hostMapper.findAllByHostnameIn(hostnameSet); + List hostnames = hostDao.findAllByHostnameIn(hostnameSet); if (hostnames.size() != hostnameSet.size()) { throw new ApiException(ApiExceptionEnum.HOST_NOT_FOUND); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java index c07920b02..387462d58 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/StackValidator.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.command.validator; import org.apache.bigtop.manager.common.enums.Command; -import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.StackPO; +import org.apache.bigtop.manager.dao.repository.StackDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.enums.CommandLevel; @@ -36,7 +36,7 @@ public class StackValidator implements CommandValidator { @Resource - private StackMapper stackMapper; + private StackDao stackDao; @Override public List getCommandIdentifiers() { @@ -49,7 +49,7 @@ public void validate(ValidatorContext context) { String stackName = clusterCommand.getStackName(); String stackVersion = clusterCommand.getStackVersion(); - StackPO stackPO = stackMapper.findByStackNameAndStackVersion(stackName, stackVersion); + StackPO stackPO = stackDao.findByStackNameAndStackVersion(stackName, stackVersion); if (stackPO == null) { throw new ApiException(ApiExceptionEnum.STACK_NOT_FOUND); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java index d31a680de..4c0d99caf 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/ComponentStatusScheduler.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.scheduler; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; import org.apache.bigtop.manager.dao.po.HostComponentPO; +import org.apache.bigtop.manager.dao.repository.HostComponentDao; import org.apache.bigtop.manager.grpc.generated.ComponentStatusReply; import org.apache.bigtop.manager.grpc.generated.ComponentStatusRequest; import org.apache.bigtop.manager.grpc.generated.ComponentStatusServiceGrpc; @@ -41,12 +41,12 @@ public class ComponentStatusScheduler { @Resource - private HostComponentMapper hostComponentMapper; + private HostComponentDao hostComponentDao; @Async @Scheduled(fixedDelay = 30, timeUnit = TimeUnit.SECONDS) public void execute() { - List hostComponentPOList = hostComponentMapper.findAllJoin(); + List hostComponentPOList = hostComponentDao.findAllJoin(); for (HostComponentPO hostComponentPO : hostComponentPOList) { // Only check services which should be in running if (!List.of(MaintainState.STARTED, MaintainState.STOPPED) @@ -71,13 +71,13 @@ public void execute() { if (reply.getStatus() == 0 && MaintainState.fromString(hostComponentPO.getState()) == MaintainState.STOPPED) { hostComponentPO.setState(MaintainState.STARTED.getName()); - hostComponentMapper.updateById(hostComponentPO); + hostComponentDao.updateById(hostComponentPO); } if (reply.getStatus() != 0 && MaintainState.fromString(hostComponentPO.getState()) == MaintainState.STARTED) { hostComponentPO.setState(MaintainState.STOPPED.getName()); - hostComponentMapper.updateById(hostComponentPO); + hostComponentDao.updateById(hostComponentPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java index af7f2769c..f314661d3 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/scheduler/HostInfoScheduler.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.scheduler; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.grpc.generated.HostInfoReply; import org.apache.bigtop.manager.grpc.generated.HostInfoRequest; import org.apache.bigtop.manager.grpc.generated.HostInfoServiceGrpc; @@ -41,12 +41,12 @@ public class HostInfoScheduler { @Resource - private HostMapper hostMapper; + private HostDao hostDao; @Async @Scheduled(fixedDelay = 30, timeUnit = TimeUnit.SECONDS) public void execute() { - List hostPOList = hostMapper.findAll(); + List hostPOList = hostDao.findAll(); for (HostPO hostPO : hostPOList) { getHostInfo(hostPO); } @@ -75,6 +75,6 @@ private void getHostInfo(HostPO hostPO) { hostPO.setState(MaintainState.STOPPED.getName()); } - hostMapper.updateById(hostPO); + hostDao.updateById(hostPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java index e3e530c36..19604a130 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ClusterServiceImpl.java @@ -19,12 +19,12 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; -import org.apache.bigtop.manager.dao.mapper.RepoMapper; -import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.RepoPO; import org.apache.bigtop.manager.dao.po.StackPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; +import org.apache.bigtop.manager.dao.repository.RepoDao; +import org.apache.bigtop.manager.dao.repository.StackDao; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.converter.ClusterConverter; @@ -49,13 +49,13 @@ public class ClusterServiceImpl implements ClusterService { @Resource - private ClusterMapper clusterMapper; + private ClusterDao clusterDao; @Resource - private RepoMapper repoMapper; + private RepoDao repoDao; @Resource - private StackMapper stackMapper; + private StackDao stackDao; @Resource private HostService hostService; @@ -63,7 +63,7 @@ public class ClusterServiceImpl implements ClusterService { @Override public List list() { List clusterVOList = new ArrayList<>(); - clusterMapper.findAllByJoin().forEach(cluster -> { + clusterDao.findAllByJoin().forEach(cluster -> { ClusterVO clusterVO = ClusterConverter.INSTANCE.fromEntity2VO(cluster); clusterVOList.add(clusterVO); }); @@ -75,28 +75,28 @@ public List list() { public ClusterVO save(ClusterDTO clusterDTO) { // Save cluster StackPO stackPO = - stackMapper.findByStackNameAndStackVersion(clusterDTO.getStackName(), clusterDTO.getStackVersion()); + stackDao.findByStackNameAndStackVersion(clusterDTO.getStackName(), clusterDTO.getStackVersion()); StackDTO stackDTO = StackUtils.getStackKeyMap() .get(StackUtils.fullStackName(clusterDTO.getStackName(), clusterDTO.getStackVersion())) .getLeft(); ClusterPO clusterPO = ClusterConverter.INSTANCE.fromDTO2PO(clusterDTO, stackDTO, stackPO); - clusterPO.setSelected(clusterMapper.count() == 0); + clusterPO.setSelected(clusterDao.count() == 0); clusterPO.setState(MaintainState.UNINSTALLED.getName()); ClusterPO oldClusterPO = - clusterMapper.findByClusterName(clusterDTO.getClusterName()).orElse(new ClusterPO()); + clusterDao.findByClusterName(clusterDTO.getClusterName()).orElse(new ClusterPO()); if (oldClusterPO.getId() != null) { clusterPO.setId(oldClusterPO.getId()); - clusterMapper.updateById(clusterPO); + clusterDao.updateById(clusterPO); } else { - clusterMapper.save(clusterPO); + clusterDao.save(clusterPO); } hostService.batchSave(clusterPO.getId(), clusterDTO.getHostnames()); // Save repo List repoPOList = RepoConverter.INSTANCE.fromDTO2PO(clusterDTO.getRepoInfoList(), clusterPO); - List oldrepoPOList = repoMapper.findAllByClusterId(clusterPO.getId()); + List oldrepoPOList = repoDao.findAllByClusterId(clusterPO.getId()); for (RepoPO repoPO : repoPOList) { for (RepoPO oldRepoPO : oldrepoPOList) { @@ -107,13 +107,13 @@ public ClusterVO save(ClusterDTO clusterDTO) { } } - repoMapper.saveAll(repoPOList); + repoDao.saveAll(repoPOList); return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } @Override public ClusterVO get(Long id) { - ClusterPO clusterPO = clusterMapper.findByIdJoin(id); + ClusterPO clusterPO = clusterDao.findByIdJoin(id); if (clusterPO == null) { throw new ApiException(ApiExceptionEnum.CLUSTER_NOT_FOUND); @@ -126,7 +126,7 @@ public ClusterVO get(Long id) { public ClusterVO update(Long id, ClusterDTO clusterDTO) { ClusterPO clusterPO = ClusterConverter.INSTANCE.fromDTO2PO(clusterDTO); clusterPO.setId(id); - clusterMapper.updateById(clusterPO); + clusterDao.updateById(clusterPO); return ClusterConverter.INSTANCE.fromEntity2VO(clusterPO); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java index 4a54102cc..9ebd0a60d 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/CommandServiceImpl.java @@ -19,12 +19,12 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.JobState; -import org.apache.bigtop.manager.dao.mapper.JobMapper; -import org.apache.bigtop.manager.dao.mapper.StageMapper; -import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; +import org.apache.bigtop.manager.dao.repository.JobDao; +import org.apache.bigtop.manager.dao.repository.StageDao; +import org.apache.bigtop.manager.dao.repository.TaskDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.command.factory.JobFactories; import org.apache.bigtop.manager.server.command.factory.JobFactory; @@ -54,13 +54,13 @@ public class CommandServiceImpl implements CommandService { private JobScheduler jobScheduler; @Resource - private JobMapper jobMapper; + private JobDao jobDao; @Resource - private StageMapper stageMapper; + private StageDao stageDao; @Resource - private TaskMapper taskMapper; + private TaskDao taskDao; @Override public CommandVO command(CommandDTO commandDTO) { @@ -95,7 +95,7 @@ protected JobPO saveJob(Job job) { jobPO.setClusterId(clusterId); } jobPO.setState(JobState.PENDING.getName()); - jobMapper.save(jobPO); + jobDao.save(jobPO); job.loadJobPO(jobPO); for (int i = 0; i < job.getStages().size(); i++) { @@ -107,7 +107,7 @@ protected JobPO saveJob(Job job) { stagePO.setJobId(jobPO.getId()); stagePO.setOrder(i + 1); stagePO.setState(JobState.PENDING.getName()); - stageMapper.save(stagePO); + stageDao.save(stagePO); stage.loadStagePO(stagePO); for (int j = 0; j < stage.getTasks().size(); j++) { @@ -119,7 +119,7 @@ protected JobPO saveJob(Job job) { taskPO.setJobId(jobPO.getId()); taskPO.setStageId(stagePO.getId()); taskPO.setState(JobState.PENDING.getName()); - taskMapper.save(taskPO); + taskDao.save(taskPO); task.loadTaskPO(taskPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java index 2be2359e9..150de592c 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ComponentServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; -import org.apache.bigtop.manager.dao.mapper.ComponentMapper; import org.apache.bigtop.manager.dao.po.ComponentPO; +import org.apache.bigtop.manager.dao.repository.ComponentDao; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.converter.ComponentConverter; @@ -39,12 +39,12 @@ public class ComponentServiceImpl implements ComponentService { @Resource - private ComponentMapper componentMapper; + private ComponentDao componentDao; @Override public List list(Long clusterId) { List componentVOList = new ArrayList<>(); - componentMapper.findAllByClusterId(clusterId).forEach(component -> { + componentDao.findAllByClusterId(clusterId).forEach(component -> { ComponentVO componentVO = ComponentConverter.INSTANCE.fromPO2VO(component); componentVOList.add(componentVO); }); @@ -54,7 +54,7 @@ public List list(Long clusterId) { @Override public ComponentVO get(Long id) { - ComponentPO componentPO = componentMapper + ComponentPO componentPO = componentDao .findOptionalById(id) .orElseThrow(() -> new ApiException(ApiExceptionEnum.COMPONENT_NOT_FOUND)); return ComponentConverter.INSTANCE.fromPO2VO(componentPO); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java index 010c42391..1f5ac9fcc 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ConfigServiceImpl.java @@ -19,14 +19,14 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.ClusterMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceConfigMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceMapper; -import org.apache.bigtop.manager.dao.mapper.TypeConfigMapper; import org.apache.bigtop.manager.dao.po.ClusterPO; import org.apache.bigtop.manager.dao.po.ServiceConfigPO; import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; +import org.apache.bigtop.manager.dao.repository.ClusterDao; +import org.apache.bigtop.manager.dao.repository.ServiceConfigDao; +import org.apache.bigtop.manager.dao.repository.ServiceDao; +import org.apache.bigtop.manager.dao.repository.TypeConfigDao; import org.apache.bigtop.manager.server.model.converter.ServiceConfigConverter; import org.apache.bigtop.manager.server.model.converter.TypeConfigConverter; import org.apache.bigtop.manager.server.model.dto.PropertyDTO; @@ -46,34 +46,34 @@ public class ConfigServiceImpl implements ConfigService { @Resource - private ClusterMapper clusterMapper; + private ClusterDao clusterDao; @Resource - private ServiceMapper serviceMapper; + private ServiceDao serviceDao; @Resource - private ServiceConfigMapper serviceConfigMapper; + private ServiceConfigDao serviceConfigDao; @Resource - private TypeConfigMapper typeConfigMapper; + private TypeConfigDao typeConfigDao; @Override public List list(Long clusterId) { - List list = serviceConfigMapper.findAllByClusterId(clusterId); + List list = serviceConfigDao.findAllByClusterId(clusterId); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } @Override public List latest(Long clusterId) { - List list = serviceConfigMapper.findAllByClusterIdAndSelectedIsTrue(clusterId); + List list = serviceConfigDao.findAllByClusterIdAndSelectedIsTrue(clusterId); return ServiceConfigConverter.INSTANCE.fromPO2VO(list); } @Override public void upsert(Long clusterId, Long serviceId, List configs) { // Save configs - ClusterPO clusterPO = clusterMapper.findById(clusterId); - ServicePO servicePO = serviceMapper.findById(serviceId); + ClusterPO clusterPO = clusterDao.findById(clusterId); + ServicePO servicePO = serviceDao.findById(serviceId); ServiceConfigPO serviceCurrentConfig = findServiceCurrentConfig(clusterPO, servicePO); if (serviceCurrentConfig == null) { // Add config for new service @@ -85,7 +85,7 @@ public void upsert(Long clusterId, Long serviceId, List configs) } private ServiceConfigPO findServiceCurrentConfig(ClusterPO clusterPO, ServicePO servicePO) { - return serviceConfigMapper.findByClusterIdAndServiceIdAndSelectedIsTrue(clusterPO.getId(), servicePO.getId()); + return serviceConfigDao.findByClusterIdAndServiceIdAndSelectedIsTrue(clusterPO.getId(), servicePO.getId()); } private void upsertServiceConfig( @@ -94,7 +94,7 @@ private void upsertServiceConfig( if (shouldUpdateConfig(existConfigs, configs)) { // Unselect current config currentConfig.setSelected(false); - serviceConfigMapper.updateById(currentConfig); + serviceConfigDao.updateById(currentConfig); // Create a new config String configDesc = "Update config for " + servicePO.getServiceName(); @@ -135,7 +135,7 @@ private void addServiceConfig( serviceConfigPO.setConfigDesc(configDesc); serviceConfigPO.setVersion(version); serviceConfigPO.setSelected(true); - serviceConfigMapper.save(serviceConfigPO); + serviceConfigDao.save(serviceConfigPO); for (TypeConfigDTO typeConfigDTO : configs) { String typeName = typeConfigDTO.getTypeName(); @@ -144,7 +144,7 @@ private void addServiceConfig( typeConfigPO.setTypeName(typeName); typeConfigPO.setPropertiesJson(JsonUtils.writeAsString(properties)); typeConfigPO.setServiceConfigId(serviceConfigPO.getId()); - typeConfigMapper.save(typeConfigPO); + typeConfigDao.save(typeConfigPO); } } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java index f318bae50..b001b5207 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostComponentServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; -import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; import org.apache.bigtop.manager.dao.po.HostComponentPO; +import org.apache.bigtop.manager.dao.repository.HostComponentDao; import org.apache.bigtop.manager.server.model.converter.HostComponentConverter; import org.apache.bigtop.manager.server.model.vo.HostComponentVO; import org.apache.bigtop.manager.server.service.HostComponentService; @@ -36,24 +36,24 @@ public class HostComponentServiceImpl implements HostComponentService { @Resource - private HostComponentMapper hostComponentMapper; + private HostComponentDao hostComponentDao; @Override public List list(Long clusterId) { - List hostComponentPOList = hostComponentMapper.findAllByClusterId(clusterId); + List hostComponentPOList = hostComponentDao.findAllByClusterId(clusterId); return HostComponentConverter.INSTANCE.fromPO2VO(hostComponentPOList); } @Override public List listByHost(Long clusterId, Long hostId) { - List hostComponentPOList = hostComponentMapper.findAllByClusterIdAndHostId(clusterId, hostId); + List hostComponentPOList = hostComponentDao.findAllByClusterIdAndHostId(clusterId, hostId); return HostComponentConverter.INSTANCE.fromPO2VO(hostComponentPOList); } @Override public List listByService(Long clusterId, Long serviceId) { List hostComponentPOList = - hostComponentMapper.findAllByClusterIdAndServiceId(clusterId, serviceId); + hostComponentDao.findAllByClusterIdAndServiceId(clusterId, serviceId); return HostComponentConverter.INSTANCE.fromPO2VO(hostComponentPOList); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java index 977720cd6..7127d0e0e 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.MaintainState; -import org.apache.bigtop.manager.dao.mapper.HostMapper; import org.apache.bigtop.manager.dao.po.HostPO; +import org.apache.bigtop.manager.dao.repository.HostDao; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.grpc.GrpcClient; @@ -46,11 +46,11 @@ public class HostServiceImpl implements HostService { @Resource - private HostMapper hostMapper; + private HostDao hostDao; @Override public List list(Long clusterId) { - List hostPOList = hostMapper.findAllByClusterId(clusterId); + List hostPOList = hostDao.findAllByClusterId(clusterId); if (CollectionUtils.isEmpty(hostPOList)) { throw new ApiException(ApiExceptionEnum.HOST_NOT_FOUND); } @@ -61,7 +61,7 @@ public List list(Long clusterId) { @Override public List batchSave(Long clusterId, List hostnames) { - List hostnameIn = hostMapper.findAllByHostnameIn(hostnames); + List hostnameIn = hostDao.findAllByHostnameIn(hostnames); List hostPOList = new ArrayList<>(); Map hostInMap = @@ -80,14 +80,14 @@ public List batchSave(Long clusterId, List hostnames) { hostPOList.add(hostPO); } - hostMapper.saveAll(hostPOList); + hostDao.saveAll(hostPOList); return HostConverter.INSTANCE.fromPO2VO(hostPOList); } @Override public HostVO get(Long id) { - HostPO hostPO = hostMapper.findByIdJoin(id); + HostPO hostPO = hostDao.findByIdJoin(id); if (hostPO == null) { throw new ApiException(ApiExceptionEnum.HOST_NOT_FOUND); } @@ -99,14 +99,14 @@ public HostVO get(Long id) { public HostVO update(Long id, HostDTO hostDTO) { HostPO hostPO = HostConverter.INSTANCE.fromDTO2PO(hostDTO); hostPO.setId(id); - hostMapper.updateById(hostPO); + hostDao.updateById(hostPO); return HostConverter.INSTANCE.fromPO2VO(hostPO); } @Override public Boolean delete(Long id) { - hostMapper.deleteById(id); + hostDao.deleteById(id); return true; } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java index bee2952be..820eab300 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/JobServiceImpl.java @@ -20,12 +20,12 @@ import org.apache.bigtop.manager.common.enums.JobState; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.JobMapper; -import org.apache.bigtop.manager.dao.mapper.StageMapper; -import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.JobPO; import org.apache.bigtop.manager.dao.po.StagePO; import org.apache.bigtop.manager.dao.po.TaskPO; +import org.apache.bigtop.manager.dao.repository.JobDao; +import org.apache.bigtop.manager.dao.repository.StageDao; +import org.apache.bigtop.manager.dao.repository.TaskDao; import org.apache.bigtop.manager.server.command.CommandIdentifier; import org.apache.bigtop.manager.server.command.factory.JobFactories; import org.apache.bigtop.manager.server.command.factory.JobFactory; @@ -56,13 +56,13 @@ public class JobServiceImpl implements JobService { @Resource - private JobMapper jobMapper; + private JobDao jobDao; @Resource - private StageMapper stageMapper; + private StageDao stageDao; @Resource - private TaskMapper taskMapper; + private TaskDao taskDao; @Resource private JobScheduler jobScheduler; @@ -74,9 +74,9 @@ public PageVO list(Long clusterId) { PageHelper.startPage(pageQuery.getPageNum(), pageQuery.getPageSize(), pageQuery.getOrderBy()); List jobPOList; if (ClusterUtils.isNoneCluster(clusterId)) { - jobPOList = jobMapper.findAllByClusterIsNull(); + jobPOList = jobDao.findAllByClusterIsNull(); } else { - jobPOList = jobMapper.findAllByClusterId(clusterId); + jobPOList = jobDao.findAllByClusterId(clusterId); } PageInfo pageInfo = new PageInfo<>(jobPOList); @@ -85,13 +85,13 @@ public PageVO list(Long clusterId) { @Override public JobVO get(Long id) { - JobPO jobPO = jobMapper.findByIdJoin(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); + JobPO jobPO = jobDao.findByIdJoin(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); return JobConverter.INSTANCE.fromPO2VO(jobPO); } @Override public JobVO retry(Long id) { - JobPO jobPO = jobMapper.findByIdJoin(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); + JobPO jobPO = jobDao.findByIdJoin(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.JOB_NOT_FOUND)); if (JobState.fromString(jobPO.getState()) != JobState.FAILED) { throw new ApiException(ApiExceptionEnum.JOB_NOT_RETRYABLE); } @@ -107,15 +107,15 @@ private void resetJobStatusInDB(JobPO jobPO) { for (StagePO stagePO : jobPO.getStages()) { for (TaskPO taskPO : stagePO.getTasks()) { taskPO.setState(JobState.PENDING.getName()); - taskMapper.updateById(taskPO); + taskDao.updateById(taskPO); } stagePO.setState(JobState.PENDING.getName()); - stageMapper.updateById(stagePO); + stageDao.updateById(stagePO); } jobPO.setState(JobState.PENDING.getName()); - jobMapper.updateById(jobPO); + jobDao.updateById(jobPO); } private Job recreateJob(JobPO jobPO) { diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java index 10c3d83a6..a88c02293 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/LoginServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; -import org.apache.bigtop.manager.dao.mapper.UserMapper; import org.apache.bigtop.manager.dao.po.UserPO; +import org.apache.bigtop.manager.dao.repository.UserDao; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.dto.LoginDTO; @@ -35,11 +35,11 @@ public class LoginServiceImpl implements LoginService { @Resource - private UserMapper userMapper; + private UserDao userDao; @Override public LoginVO login(LoginDTO loginDTO) { - UserPO userPO = userMapper.findByUsername(loginDTO.getUsername()); + UserPO userPO = userDao.findByUsername(loginDTO.getUsername()); if (userPO == null || !loginDTO.getPassword().equalsIgnoreCase(userPO.getPassword())) { throw new ApiException(ApiExceptionEnum.INCORRECT_USERNAME_OR_PASSWORD); } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java index 972cda590..73df78580 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/ServiceServiceImpl.java @@ -21,14 +21,14 @@ import org.apache.bigtop.manager.common.constants.ComponentCategories; import org.apache.bigtop.manager.common.enums.MaintainState; import org.apache.bigtop.manager.common.utils.JsonUtils; -import org.apache.bigtop.manager.dao.mapper.HostComponentMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceConfigMapper; -import org.apache.bigtop.manager.dao.mapper.ServiceMapper; import org.apache.bigtop.manager.dao.po.ComponentPO; import org.apache.bigtop.manager.dao.po.HostComponentPO; import org.apache.bigtop.manager.dao.po.ServiceConfigPO; import org.apache.bigtop.manager.dao.po.ServicePO; import org.apache.bigtop.manager.dao.po.TypeConfigPO; +import org.apache.bigtop.manager.dao.repository.HostComponentDao; +import org.apache.bigtop.manager.dao.repository.ServiceConfigDao; +import org.apache.bigtop.manager.dao.repository.ServiceDao; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.model.converter.ServiceConverter; @@ -57,20 +57,20 @@ public class ServiceServiceImpl implements ServiceService { @Resource - private ServiceMapper serviceMapper; + private ServiceDao serviceDao; @Resource - private HostComponentMapper hostComponentMapper; + private HostComponentDao hostComponentDao; @Resource - private ServiceConfigMapper serviceConfigMapper; + private ServiceConfigDao serviceConfigDao; @Override public List list(Long clusterId) { List res = new ArrayList<>(); - List servicePOList = serviceMapper.findAllByClusterId(clusterId); - List allByClusterId = hostComponentMapper.findAllByClusterId(clusterId); + List servicePOList = serviceDao.findAllByClusterId(clusterId); + List allByClusterId = hostComponentDao.findAllByClusterId(clusterId); Map> serviceIdToHostComponent = allByClusterId.stream().collect(Collectors.groupingBy(HostComponentPO::getServiceId)); Map> componentIdToHostComponent = @@ -113,7 +113,7 @@ public List list(Long clusterId) { @Override public ServiceVO get(Long id) { ServicePO servicePO = - serviceMapper.findByIdJoin(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.SERVICE_NOT_FOUND)); + serviceDao.findByIdJoin(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.SERVICE_NOT_FOUND)); return ServiceConverter.INSTANCE.fromPO2VO(servicePO); } @@ -124,7 +124,7 @@ private List resolveQuickLink( QuickLinkDTO quickLinkDTO = JsonUtils.readFromString(quickLinkJson, QuickLinkDTO.class); ServiceConfigPO serviceConfigPO = - serviceConfigMapper.findByClusterIdAndServiceIdAndSelectedIsTrue(clusterId, serviceId); + serviceConfigDao.findByClusterIdAndServiceIdAndSelectedIsTrue(clusterId, serviceId); List typeConfigPOList = serviceConfigPO.getConfigs(); String httpPort = quickLinkDTO.getHttpPortDefault(); diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java index 6b612bb5b..be24d945f 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/TaskLogServiceImpl.java @@ -19,8 +19,8 @@ package org.apache.bigtop.manager.server.service.impl; import org.apache.bigtop.manager.common.enums.JobState; -import org.apache.bigtop.manager.dao.mapper.TaskMapper; import org.apache.bigtop.manager.dao.po.TaskPO; +import org.apache.bigtop.manager.dao.repository.TaskDao; import org.apache.bigtop.manager.grpc.generated.TaskLogReply; import org.apache.bigtop.manager.grpc.generated.TaskLogRequest; import org.apache.bigtop.manager.grpc.generated.TaskLogServiceGrpc; @@ -38,10 +38,10 @@ public class TaskLogServiceImpl implements TaskLogService { @Resource - private TaskMapper taskMapper; + private TaskDao taskDao; public void registerSink(Long taskId, FluxSink sink) { - TaskPO taskPO = taskMapper.findById(taskId); + TaskPO taskPO = taskDao.findById(taskId); String hostname = taskPO.getHostname(); if (JobState.fromString(taskPO.getState()) == JobState.PENDING diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java index de2443702..eaa01d26b 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/UserServiceImpl.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.service.impl; -import org.apache.bigtop.manager.dao.mapper.UserMapper; import org.apache.bigtop.manager.dao.po.UserPO; +import org.apache.bigtop.manager.dao.repository.UserDao; import org.apache.bigtop.manager.server.enums.ApiExceptionEnum; import org.apache.bigtop.manager.server.exception.ApiException; import org.apache.bigtop.manager.server.holder.SessionUserHolder; @@ -36,23 +36,21 @@ public class UserServiceImpl implements UserService { @Resource - private UserMapper userMapper; + private UserDao userDao; @Override public UserVO current() { Long id = SessionUserHolder.getUserId(); - UserPO userPO = - userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = userDao.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); return UserConverter.INSTANCE.fromPO2VO(userPO); } @Override public UserVO update(UserDTO userDTO) { Long id = SessionUserHolder.getUserId(); - UserPO userPO = - userMapper.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); + UserPO userPO = userDao.findOptionalById(id).orElseThrow(() -> new ApiException(ApiExceptionEnum.NEED_LOGIN)); userPO.setNickname(userDTO.getNickname()); - userMapper.updateById(userPO); + userDao.updateById(userPO); return UserConverter.INSTANCE.fromPO2VO(userPO); } } diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java index 222cc3928..3604ba7a5 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/StackInitializer.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.stack; -import org.apache.bigtop.manager.dao.mapper.StackMapper; import org.apache.bigtop.manager.dao.po.StackPO; +import org.apache.bigtop.manager.dao.repository.StackDao; import org.apache.bigtop.manager.server.model.dto.ServiceDTO; import org.apache.bigtop.manager.server.model.dto.StackDTO; import org.apache.bigtop.manager.server.utils.StackUtils; @@ -46,7 +46,7 @@ public class StackInitializer implements ApplicationListener { @Resource - private StackMapper stackMapper; + private StackDao stackDao; @Override public void onApplicationEvent(@Nonnull ApplicationStartedEvent event) { @@ -58,13 +58,13 @@ public void onApplicationEvent(@Nonnull ApplicationStartedEvent event) { String stackName = stackDTO.getStackName(); String stackVersion = stackDTO.getStackVersion(); - StackPO stackPO = stackMapper.findByStackNameAndStackVersion(stackName, stackVersion); + StackPO stackPO = stackDao.findByStackNameAndStackVersion(stackName, stackVersion); if (stackPO == null) { stackPO = new StackPO(); stackPO.setStackName(stackName); stackPO.setStackVersion(stackVersion); - stackMapper.save(stackPO); + stackDao.save(stackPO); } } diff --git a/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java b/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java index 5b38ca60b..a7c9dbaa1 100644 --- a/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java +++ b/bigtop-manager-server/src/test/java/org/apache/bigtop/manager/server/aop/AuditAspectTest.java @@ -18,8 +18,8 @@ */ package org.apache.bigtop.manager.server.aop; -import org.apache.bigtop.manager.dao.mapper.AuditLogMapper; import org.apache.bigtop.manager.dao.po.AuditLogPO; +import org.apache.bigtop.manager.dao.repository.AuditLogDao; import org.apache.bigtop.manager.server.holder.SessionUserHolder; import org.aspectj.lang.JoinPoint; @@ -46,7 +46,7 @@ class AuditAspectTest { @Mock - private AuditLogMapper auditLogMapper; + private AuditLogDao auditLogDao; @Mock private JoinPoint joinPoint; @@ -86,7 +86,7 @@ void before_ValidRequest_SavesAuditLog() { auditAspect.before(joinPoint); - verify(auditLogMapper, times(1)).save(any(AuditLogPO.class)); + verify(auditLogDao, times(1)).save(any(AuditLogPO.class)); } @Test @@ -95,7 +95,7 @@ void before_NullRequestAttributes_DoesNotSaveAuditLog() { auditAspect.before(joinPoint); - verify(auditLogMapper, never()).save(any(AuditLogPO.class)); + verify(auditLogDao, never()).save(any(AuditLogPO.class)); } @Test @@ -104,6 +104,6 @@ void before_NullUserId_DoesNotSaveAuditLog() { auditAspect.before(joinPoint); - verify(auditLogMapper, never()).save(any(AuditLogPO.class)); + verify(auditLogDao, never()).save(any(AuditLogPO.class)); } } From 37034fef3c41ba48419fd7f14cba340048117833 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Thu, 29 Aug 2024 11:29:57 +0800 Subject: [PATCH 16/17] update --- .../org/apache/bigtop/manager/server/ServerApplication.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java index 9ce9dcbb9..07d844e2d 100644 --- a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/ServerApplication.java @@ -26,9 +26,7 @@ @EnableAsync @EnableScheduling -// @EntityScan("org.apache.bigtop.manager.dao") @MapperScan("org.apache.bigtop.manager.dao") -// @EnableJpaRepositories("org.apache.bigtop.manager.dao") @SpringBootApplication(scanBasePackages = {"org.apache.bigtop.manager.server", "org.apache.bigtop.manager.common"}) public class ServerApplication { From e4f956b23f22be60d64e9cf47d3156cdc536e4a2 Mon Sep 17 00:00:00 2001 From: timyuer <524860213@qq.com> Date: Thu, 29 Aug 2024 17:06:17 +0800 Subject: [PATCH 17/17] update --- bigtop-manager-server/src/main/resources/logback-spring.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/bigtop-manager-server/src/main/resources/logback-spring.xml b/bigtop-manager-server/src/main/resources/logback-spring.xml index a4a3b586b..0da8ba30c 100644 --- a/bigtop-manager-server/src/main/resources/logback-spring.xml +++ b/bigtop-manager-server/src/main/resources/logback-spring.xml @@ -44,8 +44,6 @@ - -