fuweng11 commented on code in PR #8424: URL: https://github.com/apache/inlong/pull/8424#discussion_r1255470607
########## inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AuditQuerySourceConfigEntity.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.inlong.manager.dao.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class AuditQuerySourceConfigEntity implements Serializable { + + private Integer id; + private String sourceType; + private String sourceUrl; + private Integer authEnable; + private String userName; Review Comment: username ########## inlong-manager/manager-dao/src/main/resources/mappers/AuditQuerySourceConfigEntityMapper.xml: ########## @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.apache.inlong.manager.dao.mapper.AuditQuerySourceConfigEntityMapper"> + <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.AuditQuerySourceConfigEntity"> + <result column="id" jdbcType="INTEGER" property="id"/> + <result column="source_type" jdbcType="VARCHAR" property="sourceType"/> + <result column="source_url" jdbcType="VARCHAR" property="sourceUrl"/> + <result column="auth_enable" jdbcType="TINYINT" property="authEnable"/> + <result column="username" jdbcType="VARCHAR" property="userName"/> Review Comment: <result column="username" jdbcType="VARCHAR" property="username"/> ########## inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/AuditServiceImpl.java: ########## @@ -159,6 +167,55 @@ public Boolean refreshBaseItemCache() { return true; } + private AuditQuerySourceConfigEntity createAuditQuerySource(String sourceType, String sourceUrl, + Integer auth_Enable, String userName, + String password, String modifier) { + AuditQuerySourceConfigEntity auditQuerySourceConfig = new AuditQuerySourceConfigEntity(); + auditQuerySourceConfig.setSourceType(sourceType); + auditQuerySourceConfig.setSourceUrl(sourceUrl); + auditQuerySourceConfig.setAuthEnable(auth_Enable); + auditQuerySourceConfig.setUserName(userName); + auditQuerySourceConfig.setPassword(password); + auditQuerySourceConfig.setStatus(1); + auditQuerySourceConfig.setCreator(modifier); + auditQuerySourceConfig.setCreateTime(new Date()); + auditQuerySourceConfig.setModifier(modifier); + auditQuerySourceConfig.setModifyTime(new Date()); + auditQuerySourceConfig.setIsDeleted(0); + auditQuerySourceConfig.setVersion(1); + return auditQuerySourceConfig; + } + @Override + public Boolean updateAuditQuerySource(AuditSourceRequest request) { + String oldUrl = request.getOldUrl(); + String sourceType = request.getSourceType(); + String sourceUrl = request.getSourceUrl(); + String userName = request.getUserName(); + String password = request.getPassword(); + Integer authEnable = (request.getAuthEnable() == null) ? 1 : request.getAuthEnable(); + String modifier = request.getModifier(); + try { + if (!StringUtils.isBlank(oldUrl)) { + querySourceConfigEntityMapper.offlineAuditQuerySourceByUrl(oldUrl); + } + AuditQuerySourceConfigEntity entity = + createAuditQuerySource(sourceType, sourceUrl, authEnable, userName, password, modifier); + querySourceConfigEntityMapper.insert(entity); + config.updateCkSource(); + } catch (Exception e) { + LOGGER.error("fail to update audit query source!"); + LOGGER.error(e.toString()); Review Comment: Redundant log. ########## inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AuditService.java: ########## @@ -51,4 +52,19 @@ public interface AuditService { */ Boolean refreshBaseItemCache(); -} + /** + * Offline the old audit source through url, and insert and online a new audit source. + * If the new url already exists in the table, the insert operation will become an update operation. + * + * @param request + * @return Review Comment: Add comment ########## inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/audit/AuditSourceRequest.java: ########## @@ -0,0 +1,91 @@ +/* + * 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.inlong.manager.pojo.audit; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel("Audit source request") +public class AuditSourceRequest { + + @ApiModelProperty(name = "id") + Integer id; + + @ApiModelProperty(value = "Old url that will be offline. It can be null.", name = "oldUrl") + private String oldUrl; + + @NotBlank + @ApiModelProperty(value = "MYSQL, CLICKHOUSE or ELASTICSEARCH", name = "sourceType", required = true) + private String sourceType; + + @NotBlank + @ApiModelProperty(name = "sourceUrl", required = true) + private String sourceUrl; + + @ApiModelProperty(name = "authEnable") + Integer authEnable; + + @NotBlank + @ApiModelProperty(name = "userName", required = true) + private String userName; Review Comment: username -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
