This is an automated email from the ASF dual-hosted git repository.
SbloodyS pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 6af38d0d9b [Improvement-18249][DAO] Route DataSourceMapper and
DataSourceUserMapper access through repository Dao (#18259)
6af38d0d9b is described below
commit 6af38d0d9bf6e1c10f6b5c987e69d85961056c2f
Author: Wenjun Ruan <[email protected]>
AuthorDate: Mon May 18 21:47:40 2026 +0800
[Improvement-18249][DAO] Route DataSourceMapper and DataSourceUserMapper
access through repository Dao (#18259)
---
.../operator/impl/DatasourceAuditOperatorImpl.java | 6 +-
.../ResourcePermissionCheckServiceImpl.java | 10 +--
.../dolphinscheduler/api/python/PythonGateway.java | 6 +-
.../api/service/impl/DataSourceServiceImpl.java | 50 ++++++-------
.../api/service/impl/UsersServiceImpl.java | 8 +--
.../DataSourceResourcePermissionCheckTest.java | 6 +-
.../api/service/DataSourceServiceTest.java | 60 ++++++++--------
.../api/service/UsersServiceTest.java | 5 +-
.../dao/repository/DataSourceDao.java | 46 ++++++++++++
.../dao/repository/DataSourceUserDao.java | 26 ++-----
.../dao/repository/impl/DataSourceDaoImpl.java | 83 ++++++++++++++++++++++
.../dao/repository/impl/DataSourceUserDaoImpl.java | 45 ++++++++++++
12 files changed, 254 insertions(+), 97 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
index a859ab8cea..5a914d7067 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.api.audit.operator.impl;
import org.apache.dolphinscheduler.api.audit.operator.BaseAuditOperator;
import org.apache.dolphinscheduler.dao.entity.DataSource;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,7 +28,7 @@ import org.springframework.stereotype.Service;
public class DatasourceAuditOperatorImpl extends BaseAuditOperator {
@Autowired
- private DataSourceMapper dataSourceMapper;
+ private DataSourceDao dataSourceDao;
@Override
public String getObjectNameFromIdentity(Object identity) {
@@ -37,7 +37,7 @@ public class DatasourceAuditOperatorImpl extends
BaseAuditOperator {
return "";
}
- DataSource obj = dataSourceMapper.selectById(objId);
+ DataSource obj = dataSourceDao.queryById(objId);
return obj == null ? "" : obj.getName();
}
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java
index 5e0e860f84..1acefe54c6 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java
@@ -35,10 +35,10 @@ import org.apache.dolphinscheduler.dao.entity.WorkerGroup;
import org.apache.dolphinscheduler.dao.mapper.AccessTokenMapper;
import org.apache.dolphinscheduler.dao.mapper.AlertGroupMapper;
import org.apache.dolphinscheduler.dao.mapper.AlertPluginInstanceMapper;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
import org.apache.dolphinscheduler.dao.mapper.EnvironmentMapper;
import org.apache.dolphinscheduler.dao.mapper.QueueMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskGroupMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
import org.apache.dolphinscheduler.dao.repository.K8sNamespaceDao;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.TenantDao;
@@ -384,10 +384,10 @@ public class ResourcePermissionCheckServiceImpl
@Component
public static class DataSourceResourcePermissionCheck implements
ResourceAcquisitionAndPermissionCheck<Integer> {
- private final DataSourceMapper dataSourceMapper;
+ private final DataSourceDao dataSourceDao;
- public DataSourceResourcePermissionCheck(DataSourceMapper
dataSourceMapper) {
- this.dataSourceMapper = dataSourceMapper;
+ public DataSourceResourcePermissionCheck(DataSourceDao dataSourceDao) {
+ this.dataSourceDao = dataSourceDao;
}
@Override
@@ -402,7 +402,7 @@ public class ResourcePermissionCheckServiceImpl
@Override
public Set<Integer> listAuthorizedResourceIds(int userId, Logger
logger) {
- return dataSourceMapper.listAuthorizedDataSource(userId,
null).stream().map(DataSource::getId)
+ return dataSourceDao.listAuthorizedDataSource(userId,
null).stream().map(DataSource::getId)
.collect(toSet());
}
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
index d43d6d1e0c..87f3967917 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
@@ -50,9 +50,9 @@ import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
import org.apache.dolphinscheduler.dao.entity.Tenant;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.entity.WorkflowDefinition;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
import org.apache.dolphinscheduler.dao.mapper.ProjectUserMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.ScheduleDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionDao;
@@ -132,7 +132,7 @@ public class PythonGateway {
private ScheduleDao scheduleDao;
@Autowired
- private DataSourceMapper dataSourceMapper;
+ private DataSourceDao dataSourceDao;
@Autowired
private ApiConfig apiConfig;
@@ -484,7 +484,7 @@ public class PythonGateway {
*/
public DataSource getDatasource(String datasourceName, String type) {
- List<DataSource> dataSourceList =
dataSourceMapper.queryDataSourceByName(datasourceName);
+ List<DataSource> dataSourceList =
dataSourceDao.queryDataSourceByName(datasourceName);
if (dataSourceList == null || dataSourceList.isEmpty()) {
String msg = String.format("Can not find any datasource by name
%s", datasourceName);
log.error(msg);
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
index 36dc882ea8..65b7493762 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
@@ -31,8 +31,8 @@ import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.dao.entity.DataSource;
import org.apache.dolphinscheduler.dao.entity.User;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceUserMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
+import org.apache.dolphinscheduler.dao.repository.DataSourceUserDao;
import
org.apache.dolphinscheduler.plugin.datasource.api.datasource.BaseDataSourceParamDTO;
import
org.apache.dolphinscheduler.plugin.datasource.api.datasource.DataSourceProcessor;
import org.apache.dolphinscheduler.plugin.datasource.api.utils.DataSourceUtils;
@@ -72,10 +72,10 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
public class DataSourceServiceImpl extends BaseServiceImpl implements
DataSourceService {
@Autowired
- private DataSourceMapper dataSourceMapper;
+ private DataSourceDao dataSourceDao;
@Autowired
- private DataSourceUserMapper datasourceUserMapper;
+ private DataSourceUserDao datasourceUserDao;
private static final String TABLE = "TABLE";
private static final String VIEW = "VIEW";
@@ -112,7 +112,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
dataSource.setCreateTime(now);
dataSource.setUpdateTime(now);
try {
- dataSourceMapper.insert(dataSource);
+ dataSourceDao.insert(dataSource);
return dataSource;
} catch (DuplicateKeyException ex) {
throw new ServiceException(Status.DATASOURCE_EXIST);
@@ -123,7 +123,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
public DataSource updateDataSource(User loginUser, BaseDataSourceParamDTO
dataSourceParam) {
DataSourceUtils.checkDatasourceParam(dataSourceParam);
// determine whether the data source exists
- DataSource dataSource =
dataSourceMapper.selectById(dataSourceParam.getId());
+ DataSource dataSource =
dataSourceDao.queryById(dataSourceParam.getId());
if (dataSource == null) {
throw new ServiceException(Status.RESOURCE_NOT_EXIST);
}
@@ -160,7 +160,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
dataSource.setConnectionParams(JSONUtils.toJsonString(connectionParam));
dataSource.setUpdateTime(now);
try {
- dataSourceMapper.updateById(dataSource);
+ dataSourceDao.updateById(dataSource);
return dataSource;
} catch (DuplicateKeyException ex) {
throw new ServiceException(Status.DATASOURCE_EXIST);
@@ -168,13 +168,13 @@ public class DataSourceServiceImpl extends
BaseServiceImpl implements DataSource
}
private boolean checkName(String name) {
- List<DataSource> queryDataSource =
dataSourceMapper.queryDataSourceByName(name.trim());
+ List<DataSource> queryDataSource =
dataSourceDao.queryDataSourceByName(name.trim());
return queryDataSource != null && !queryDataSource.isEmpty();
}
@Override
public BaseDataSourceParamDTO queryDataSource(int id, User loginUser) {
- DataSource dataSource = dataSourceMapper.selectById(id);
+ DataSource dataSource = dataSourceDao.queryById(id);
if (dataSource == null) {
log.error("Datasource does not exist, id:{}.", id);
throw new ServiceException(Status.RESOURCE_NOT_EXIST);
@@ -203,14 +203,14 @@ public class DataSourceServiceImpl extends
BaseServiceImpl implements DataSource
Page<DataSource> dataSourcePage = new Page<>(pageNo, pageSize);
PageInfo<DataSource> pageInfo = new PageInfo<>(pageNo, pageSize);
if (loginUser.getUserType().equals(UserType.ADMIN_USER)) {
- dataSourceList = dataSourceMapper.selectPaging(dataSourcePage, 0,
searchVal);
+ dataSourceList =
dataSourceDao.queryDataSourcePaging(dataSourcePage, 0, searchVal);
} else {
Set<Integer> ids = resourcePermissionCheckService
.userOwnedResourceIdsAcquisition(AuthorizationType.DATASOURCE,
loginUser.getId(), log);
if (ids.isEmpty()) {
return pageInfo;
}
- dataSourceList =
dataSourceMapper.selectPagingByIds(dataSourcePage, new ArrayList<>(ids),
searchVal);
+ dataSourceList =
dataSourceDao.queryDataSourcePagingByIds(dataSourcePage, new ArrayList<>(ids),
searchVal);
}
List<DataSource> dataSources = dataSourceList != null ?
dataSourceList.getRecords() : new ArrayList<>();
@@ -246,14 +246,14 @@ public class DataSourceServiceImpl extends
BaseServiceImpl implements DataSource
List<DataSource> datasourceList;
if (loginUser.getUserType().equals(UserType.ADMIN_USER)) {
- datasourceList = dataSourceMapper.queryDataSourceByType(0, type);
+ datasourceList = dataSourceDao.queryDataSourceByType(0, type);
} else {
Set<Integer> ids = resourcePermissionCheckService
.userOwnedResourceIdsAcquisition(AuthorizationType.DATASOURCE,
loginUser.getId(), log);
if (ids.isEmpty()) {
return Collections.emptyList();
}
- datasourceList = dataSourceMapper.selectBatchIds(ids).stream()
+ datasourceList = dataSourceDao.queryByIds(ids).stream()
.filter(dataSource -> dataSource.getType().getCode() ==
type).collect(Collectors.toList());
}
@@ -262,7 +262,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
@Override
public void verifyDataSourceName(String name) {
- List<DataSource> dataSourceList =
dataSourceMapper.queryDataSourceByName(name);
+ List<DataSource> dataSourceList =
dataSourceDao.queryDataSourceByName(name);
if (dataSourceList != null && !dataSourceList.isEmpty()) {
throw new ServiceException(Status.DATASOURCE_EXIST);
}
@@ -280,7 +280,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
@Override
public void connectionTest(User loginUser, int id) {
- DataSource dataSource = dataSourceMapper.selectById(id);
+ DataSource dataSource = dataSourceDao.queryById(id);
if (dataSource == null) {
throw new ServiceException(Status.RESOURCE_NOT_EXIST);
@@ -299,7 +299,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
@Transactional
public void delete(User loginUser, int datasourceId) {
// query datasource by id
- DataSource dataSource = dataSourceMapper.selectById(datasourceId);
+ DataSource dataSource = dataSourceDao.queryById(datasourceId);
if (dataSource == null) {
throw new ServiceException(Status.RESOURCE_NOT_EXIST);
@@ -310,8 +310,8 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
throw new ServiceException(Status.USER_NO_OPERATION_PERM);
}
- dataSourceMapper.deleteById(datasourceId);
- datasourceUserMapper.deleteByDatasourceId(datasourceId);
+ dataSourceDao.deleteById(datasourceId);
+ datasourceUserDao.deleteByDatasourceId(datasourceId);
}
@Override
@@ -319,17 +319,17 @@ public class DataSourceServiceImpl extends
BaseServiceImpl implements DataSource
List<DataSource> datasourceList;
if (canOperatorPermissions(loginUser, null,
AuthorizationType.DATASOURCE, null)) {
// admin gets all data sources except userId
- datasourceList =
dataSourceMapper.queryDatasourceExceptUserId(userId);
+ datasourceList = dataSourceDao.queryDatasourceExceptUserId(userId);
} else {
// non-admins users get their own data sources
- datasourceList =
dataSourceMapper.selectByMap(Collections.singletonMap("user_id",
loginUser.getId()));
+ datasourceList = dataSourceDao.queryByUserId(loginUser.getId());
}
List<DataSource> resultList = new ArrayList<>();
Set<DataSource> datasourceSet;
if (datasourceList != null && !datasourceList.isEmpty()) {
datasourceSet = new HashSet<>(datasourceList);
- List<DataSource> authedDataSourceList =
dataSourceMapper.queryAuthedDatasource(userId);
+ List<DataSource> authedDataSourceList =
dataSourceDao.queryAuthedDatasource(userId);
Set<DataSource> authedDataSourceSet;
if (authedDataSourceList != null &&
!authedDataSourceList.isEmpty()) {
@@ -343,13 +343,13 @@ public class DataSourceServiceImpl extends
BaseServiceImpl implements DataSource
@Override
public List<DataSource> authedDatasource(User loginUser, Integer userId) {
- List<DataSource> authedDatasourceList =
dataSourceMapper.queryAuthedDatasource(userId);
+ List<DataSource> authedDatasourceList =
dataSourceDao.queryAuthedDatasource(userId);
return authedDatasourceList;
}
@Override
public List<ParamsOptions> getTables(User loginUser, Integer datasourceId,
String database) {
- DataSource dataSource = dataSourceMapper.selectById(datasourceId);
+ DataSource dataSource = dataSourceDao.queryById(datasourceId);
if (dataSource == null) {
throw new ServiceException(Status.QUERY_DATASOURCE_ERROR);
@@ -419,7 +419,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
@Override
public List<ParamsOptions> getTableColumns(User loginUser, Integer
datasourceId, String database,
String tableName) {
- DataSource dataSource = dataSourceMapper.selectById(datasourceId);
+ DataSource dataSource = dataSourceDao.queryById(datasourceId);
if (dataSource == null) {
throw new ServiceException(Status.QUERY_DATASOURCE_ERROR);
@@ -476,7 +476,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
@Override
public List<ParamsOptions> getDatabases(User loginUser, Integer
datasourceId) {
- DataSource dataSource = dataSourceMapper.selectById(datasourceId);
+ DataSource dataSource = dataSourceDao.queryById(datasourceId);
if (dataSource == null) {
throw new ServiceException(Status.QUERY_DATASOURCE_ERROR);
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
index dfa363611d..d1b1f59788 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
@@ -41,9 +41,9 @@ import org.apache.dolphinscheduler.dao.entity.Tenant;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.AccessTokenMapper;
import org.apache.dolphinscheduler.dao.mapper.AlertGroupMapper;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceUserMapper;
import org.apache.dolphinscheduler.dao.mapper.K8sNamespaceUserMapper;
import org.apache.dolphinscheduler.dao.mapper.ProjectUserMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceUserDao;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.TenantDao;
import org.apache.dolphinscheduler.dao.repository.UserDao;
@@ -89,7 +89,7 @@ public class UsersServiceImpl extends BaseServiceImpl
implements UsersService {
private ProjectUserMapper projectUserMapper;
@Autowired
- private DataSourceUserMapper datasourceUserMapper;
+ private DataSourceUserDao datasourceUserDao;
@Autowired
private AlertGroupMapper alertGroupMapper;
@@ -716,7 +716,7 @@ public class UsersServiceImpl extends BaseServiceImpl
implements UsersService {
throw new ServiceException(Status.USER_NOT_EXIST, userId);
}
- datasourceUserMapper.deleteByUserId(userId);
+ datasourceUserDao.deleteByUserId(userId);
if (StringUtils.isEmpty(datasourceIds)) {
return;
@@ -733,7 +733,7 @@ public class UsersServiceImpl extends BaseServiceImpl
implements UsersService {
datasourceUser.setPerm(Constants.AUTHORIZE_WRITABLE_PERM);
datasourceUser.setCreateTime(now);
datasourceUser.setUpdateTime(now);
- datasourceUserMapper.insert(datasourceUser);
+ datasourceUserDao.insert(datasourceUser);
}
}
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/DataSourceResourcePermissionCheckTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/DataSourceResourcePermissionCheckTest.java
index f2d6bb796f..da2c643dd2 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/DataSourceResourcePermissionCheckTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/DataSourceResourcePermissionCheckTest.java
@@ -21,7 +21,7 @@ import
org.apache.dolphinscheduler.common.enums.AuthorizationType;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.dao.entity.DataSource;
import org.apache.dolphinscheduler.dao.entity.User;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
import java.util.Arrays;
import java.util.Collections;
@@ -47,7 +47,7 @@ public class DataSourceResourcePermissionCheckTest {
private
ResourcePermissionCheckServiceImpl.DataSourceResourcePermissionCheck
dataSourceResourcePermissionCheck;
@Mock
- private DataSourceMapper dataSourceMapper;
+ private DataSourceDao dataSourceDao;
@Test
public void testPermissionCheck() {
@@ -69,7 +69,7 @@ public class DataSourceResourcePermissionCheckTest {
ids.add(dataSource.getId());
List<DataSource> dataSources = Arrays.asList(dataSource);
- Mockito.when(dataSourceMapper.listAuthorizedDataSource(user.getId(),
null)).thenReturn(dataSources);
+ Mockito.when(dataSourceDao.listAuthorizedDataSource(user.getId(),
null)).thenReturn(dataSources);
Assertions.assertEquals(ids,
dataSourceResourcePermissionCheck.listAuthorizedResourceIds(user.getId(),
logger));
}
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
index 6b33238bdf..f6daee50b7 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
@@ -33,8 +33,8 @@ import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.dao.entity.DataSource;
import org.apache.dolphinscheduler.dao.entity.User;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceUserMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
+import org.apache.dolphinscheduler.dao.repository.DataSourceUserDao;
import
org.apache.dolphinscheduler.plugin.datasource.api.constants.DataSourceConstants;
import
org.apache.dolphinscheduler.plugin.datasource.api.datasource.BaseDataSourceParamDTO;
import
org.apache.dolphinscheduler.plugin.datasource.api.datasource.DataSourceProcessor;
@@ -88,10 +88,10 @@ public class DataSourceServiceTest {
private DataSourceServiceImpl dataSourceService;
@Mock
- private DataSourceMapper dataSourceMapper;
+ private DataSourceDao dataSourceDao;
@Mock
- private DataSourceUserMapper datasourceUserMapper;
+ private DataSourceUserDao datasourceUserDao;
@Mock
private ResourcePermissionCheckService resourcePermissionCheckService;
@@ -137,7 +137,7 @@ public class DataSourceServiceTest {
DataSource dataSource = new DataSource();
dataSource.setName(dataSourceName);
dataSourceList.add(dataSource);
-
when(dataSourceMapper.queryDataSourceByName(dataSourceName.trim())).thenReturn(dataSourceList);
+
when(dataSourceDao.queryDataSourceByName(dataSourceName.trim())).thenReturn(dataSourceList);
passResourcePermissionCheckService();
// DATASOURCE_EXIST
@@ -148,7 +148,7 @@ public class DataSourceServiceTest {
MockedStatic<DataSourceClientProvider>
mockedStaticDataSourceClientProvider =
Mockito.mockStatic(DataSourceClientProvider.class)) {
-
when(dataSourceMapper.queryDataSourceByName(dataSourceName.trim())).thenReturn(null);
+
when(dataSourceDao.queryDataSourceByName(dataSourceName.trim())).thenReturn(null);
// DESCRIPTION TOO LONG
postgreSqlDatasourceParam.setNote(randomStringWithLengthN(512));
@@ -160,7 +160,7 @@ public class DataSourceServiceTest {
assertDoesNotThrow(() ->
dataSourceService.createDataSource(loginUser, postgreSqlDatasourceParam));
// Duplicated Key Exception
-
when(dataSourceMapper.insert(Mockito.any(DataSource.class))).thenThrow(DuplicateKeyException.class);
+
when(dataSourceDao.insert(Mockito.any(DataSource.class))).thenThrow(DuplicateKeyException.class);
assertThrowsServiceException(Status.DATASOURCE_EXIST,
() -> dataSourceService.createDataSource(loginUser,
postgreSqlDatasourceParam));
}
@@ -187,14 +187,14 @@ public class DataSourceServiceTest {
postgreSqlDatasourceParam.setName(dataSourceUpdateName);
// RESOURCE_NOT_EXIST
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(null);
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(null);
assertThrowsServiceException(Status.RESOURCE_NOT_EXIST,
() -> dataSourceService.updateDataSource(loginUser,
postgreSqlDatasourceParam));
// USER_NO_OPERATION_PERM
DataSource dataSource = new DataSource();
dataSource.setUserId(0);
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(dataSource);
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(dataSource);
assertThrowsServiceException(Status.USER_NO_OPERATION_PERM,
() -> dataSourceService.updateDataSource(loginUser,
postgreSqlDatasourceParam));
@@ -208,8 +208,8 @@ public class DataSourceServiceTest {
anotherDataSource.setName(dataSourceUpdateName);
List<DataSource> dataSourceList = new ArrayList<>();
dataSourceList.add(anotherDataSource);
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(dataSource);
-
when(dataSourceMapper.queryDataSourceByName(postgreSqlDatasourceParam.getName()))
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(dataSource);
+
when(dataSourceDao.queryDataSourceByName(postgreSqlDatasourceParam.getName()))
.thenReturn(dataSourceList);
passResourcePermissionCheckService();
assertThrowsServiceException(Status.DATASOURCE_EXIST,
@@ -219,7 +219,7 @@ public class DataSourceServiceTest {
MockedStatic<DataSourceClientProvider>
mockedStaticDataSourceClientProvider =
Mockito.mockStatic(DataSourceClientProvider.class)) {
// DATASOURCE_CONNECT_FAILED
-
when(dataSourceMapper.queryDataSourceByName(postgreSqlDatasourceParam.getName())).thenReturn(null);
+
when(dataSourceDao.queryDataSourceByName(postgreSqlDatasourceParam.getName())).thenReturn(null);
// DESCRIPTION TOO LONG
postgreSqlDatasourceParam.setNote(randomStringWithLengthN(512));
@@ -231,7 +231,7 @@ public class DataSourceServiceTest {
assertDoesNotThrow(() ->
dataSourceService.updateDataSource(loginUser, postgreSqlDatasourceParam));
// Duplicated Key Exception
-
when(dataSourceMapper.updateById(Mockito.any(DataSource.class))).thenThrow(DuplicateKeyException.class);
+
when(dataSourceDao.updateById(Mockito.any(DataSource.class))).thenThrow(DuplicateKeyException.class);
assertThrowsServiceException(Status.DATASOURCE_EXIST,
() -> dataSourceService.updateDataSource(loginUser,
postgreSqlDatasourceParam));
}
@@ -252,7 +252,7 @@ public class DataSourceServiceTest {
// test query datasource as general user with no datasource authed
when(dataSourceList.getRecords()).thenReturn(getSingleDataSourceList());
- when(dataSourceMapper.selectPagingByIds(Mockito.any(), Mockito.any(),
Mockito.any()))
+ when(dataSourceDao.queryDataSourcePagingByIds(Mockito.any(),
Mockito.any(), Mockito.any()))
.thenReturn(dataSourceList);
assertDoesNotThrow(() ->
dataSourceService.queryDataSourceListPaging(generalUser, searchVal, pageNo,
pageSize));
@@ -267,7 +267,7 @@ public class DataSourceServiceTest {
public void testConnectionTest() {
User loginUser = getAdminUser();
int dataSourceId = -1;
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(null);
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(null);
assertThrowsServiceException(Status.RESOURCE_NOT_EXIST,
() -> dataSourceService.connectionTest(loginUser,
dataSourceId));
@@ -275,7 +275,7 @@ public class DataSourceServiceTest {
MockedStatic<DataSourceUtils> ignored =
Mockito.mockStatic(DataSourceUtils.class)) {
DataSource dataSource = getOracleDataSource(999);
-
when(dataSourceMapper.selectById(dataSource.getId())).thenReturn(dataSource);
+
when(dataSourceDao.queryById(dataSource.getId())).thenReturn(dataSource);
DataSourceProcessor dataSourceProcessor =
Mockito.mock(DataSourceProcessor.class);
when(DataSourceUtils.getDatasourceProcessor(Mockito.any())).thenReturn(dataSourceProcessor);
@@ -295,14 +295,14 @@ public class DataSourceServiceTest {
User loginUser = getAdminUser();
int dataSourceId = 1;
// resource not exist
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(null);
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(null);
assertThrowsServiceException(Status.RESOURCE_NOT_EXIST,
() -> dataSourceService.delete(loginUser, dataSourceId));
// user no operation perm
DataSource dataSource = new DataSource();
dataSource.setUserId(0);
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(dataSource);
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(dataSource);
assertThrowsServiceException(Status.USER_NO_OPERATION_PERM,
() -> dataSourceService.delete(loginUser, dataSourceId));
@@ -312,9 +312,9 @@ public class DataSourceServiceTest {
loginUser.setId(1);
dataSource.setId(22);
passResourcePermissionCheckService();
- when(dataSourceMapper.selectById(dataSourceId)).thenReturn(dataSource);
+ when(dataSourceDao.queryById(dataSourceId)).thenReturn(dataSource);
assertDoesNotThrow(() -> dataSourceService.delete(loginUser,
dataSourceId));
-
Mockito.verify(datasourceUserMapper).deleteByDatasourceId(dataSourceId);
+ Mockito.verify(datasourceUserDao).deleteByDatasourceId(dataSourceId);
}
@@ -329,8 +329,8 @@ public class DataSourceServiceTest {
when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.DATASOURCE,
null, 0,
baseServiceLogger)).thenReturn(true);
// test admin user
-
when(dataSourceMapper.queryAuthedDatasource(userId)).thenReturn(getSingleDataSourceList());
-
when(dataSourceMapper.queryDatasourceExceptUserId(userId)).thenReturn(getDataSourceList());
+
when(dataSourceDao.queryAuthedDatasource(userId)).thenReturn(getSingleDataSourceList());
+
when(dataSourceDao.queryDatasourceExceptUserId(userId)).thenReturn(getDataSourceList());
List<DataSource> dataSources =
dataSourceService.unAuthDatasource(loginUser, userId);
logger.info(dataSources.toString());
Assertions.assertTrue(CollectionUtils.isNotEmpty(dataSources));
@@ -338,7 +338,7 @@ public class DataSourceServiceTest {
// test non-admin user
loginUser.setId(2);
loginUser.setUserType(UserType.GENERAL_USER);
- when(dataSourceMapper.selectByMap(Collections.singletonMap("user_id",
loginUser.getId())))
+ when(dataSourceDao.queryByUserId(loginUser.getId()))
.thenReturn(getDataSourceList());
dataSources = dataSourceService.unAuthDatasource(loginUser, userId);
logger.info(dataSources.toString());
@@ -353,7 +353,7 @@ public class DataSourceServiceTest {
int userId = 3;
// test admin user
-
when(dataSourceMapper.queryAuthedDatasource(userId)).thenReturn(getSingleDataSourceList());
+
when(dataSourceDao.queryAuthedDatasource(userId)).thenReturn(getSingleDataSourceList());
List<DataSource> dataSources =
dataSourceService.authedDatasource(loginUser, userId);
logger.info(dataSources.toString());
Assertions.assertTrue(CollectionUtils.isNotEmpty(dataSources));
@@ -384,7 +384,7 @@ public class DataSourceServiceTest {
DataSource dataSource = new DataSource();
dataSource.setId(1);
dataSource.setType(DbType.MYSQL);
- when(dataSourceMapper.selectBatchIds(Collections.singleton(1)))
+ when(dataSourceDao.queryByIds(Collections.singleton(1)))
.thenReturn(Collections.singletonList(dataSource));
List<DataSource> list =
@@ -397,7 +397,7 @@ public class DataSourceServiceTest {
User loginUser = new User();
loginUser.setUserType(UserType.GENERAL_USER);
String dataSourceName = "dataSource1";
-
when(dataSourceMapper.queryDataSourceByName(dataSourceName)).thenReturn(getDataSourceList());
+
when(dataSourceDao.queryDataSourceByName(dataSourceName)).thenReturn(getDataSourceList());
assertThrowsServiceException(Status.DATASOURCE_EXIST,
() -> dataSourceService.verifyDataSourceName(dataSourceName));
}
@@ -405,7 +405,7 @@ public class DataSourceServiceTest {
@Test
public void testQueryDataSource() {
// datasource not exists
- when(dataSourceMapper.selectById(999)).thenReturn(null);
+ when(dataSourceDao.queryById(999)).thenReturn(null);
User loginUser = new User();
loginUser.setUserType(UserType.GENERAL_USER);
loginUser.setId(2);
@@ -414,7 +414,7 @@ public class DataSourceServiceTest {
() -> dataSourceService.queryDataSource(999, loginUser));
DataSource dataSource = getOracleDataSource(1);
-
when(dataSourceMapper.selectById(dataSource.getId())).thenReturn(dataSource);
+
when(dataSourceDao.queryById(dataSource.getId())).thenReturn(dataSource);
when(resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.DATASOURCE,
loginUser.getId(), DATASOURCE,
baseServiceLogger)).thenReturn(true);
@@ -611,7 +611,7 @@ public class DataSourceServiceTest {
DataSource dataSource = getOracleDataSource();
int datasourceId = 1;
dataSource.setId(datasourceId);
- when(dataSourceMapper.selectById(datasourceId)).thenReturn(null);
+ when(dataSourceDao.queryById(datasourceId)).thenReturn(null);
try {
dataSourceService.getDatabases(loginUser, datasourceId);
@@ -619,7 +619,7 @@ public class DataSourceServiceTest {
Assertions.assertTrue(e.getMessage().contains(Status.QUERY_DATASOURCE_ERROR.getMsg()));
}
- when(dataSourceMapper.selectById(datasourceId)).thenReturn(dataSource);
+ when(dataSourceDao.queryById(datasourceId)).thenReturn(dataSource);
MySQLConnectionParam connectionParam = new MySQLConnectionParam();
Connection connection = Mockito.mock(Connection.class);
MockedStatic<DataSourceUtils> dataSourceUtils =
Mockito.mockStatic(DataSourceUtils.class);
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
index ad8bb74c6b..46dad9fc99 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
@@ -39,9 +39,9 @@ import org.apache.dolphinscheduler.dao.entity.Tenant;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.AccessTokenMapper;
import org.apache.dolphinscheduler.dao.mapper.AlertGroupMapper;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceUserMapper;
import org.apache.dolphinscheduler.dao.mapper.K8sNamespaceUserMapper;
import org.apache.dolphinscheduler.dao.mapper.ProjectUserMapper;
+import org.apache.dolphinscheduler.dao.repository.DataSourceUserDao;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.TenantDao;
import org.apache.dolphinscheduler.dao.repository.UserDao;
@@ -90,7 +90,7 @@ public class UsersServiceTest {
private AlertGroupMapper alertGroupMapper;
@Mock
- private DataSourceUserMapper datasourceUserMapper;
+ private DataSourceUserDao datasourceUserDao;
@Mock
private K8sNamespaceUserMapper k8sNamespaceUserMapper;
@@ -519,7 +519,6 @@ public class UsersServiceTest {
// test admin user
when(userDao.queryById(userId)).thenReturn(getUser());
-
when(datasourceUserMapper.deleteByUserId(Mockito.anyInt())).thenReturn(1);
assertDoesNotThrow(() -> usersService.grantDataSource(loginUser,
userId, datasourceIds));
// test non-admin user
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/DataSourceDao.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/DataSourceDao.java
new file mode 100644
index 0000000000..edf85287eb
--- /dev/null
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/DataSourceDao.java
@@ -0,0 +1,46 @@
+/*
+ * 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.dolphinscheduler.dao.repository;
+
+import org.apache.dolphinscheduler.dao.entity.DataSource;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+public interface DataSourceDao extends IDao<DataSource> {
+
+ List<DataSource> queryDataSourceByType(int userId, Integer type);
+
+ IPage<DataSource> queryDataSourcePaging(IPage<DataSource> page, int
userId, String name);
+
+ List<DataSource> queryDataSourceByName(String name);
+
+ List<DataSource> queryAuthedDatasource(int userId);
+
+ List<DataSource> queryDatasourceExceptUserId(int userId);
+
+ <T> List<DataSource> listAuthorizedDataSource(int userId, T[]
dataSourceIds);
+
+ IPage<DataSource> queryDataSourcePagingByIds(Page<DataSource>
dataSourcePage,
+ List<Integer> dataSourceIds,
+ String name);
+
+ List<DataSource> queryByUserId(int userId);
+}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/DataSourceUserDao.java
similarity index 50%
copy from
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
copy to
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/DataSourceUserDao.java
index a859ab8cea..fc105cb22c 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/DatasourceAuditOperatorImpl.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/DataSourceUserDao.java
@@ -15,29 +15,13 @@
* limitations under the License.
*/
-package org.apache.dolphinscheduler.api.audit.operator.impl;
+package org.apache.dolphinscheduler.dao.repository;
-import org.apache.dolphinscheduler.api.audit.operator.BaseAuditOperator;
-import org.apache.dolphinscheduler.dao.entity.DataSource;
-import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
+import org.apache.dolphinscheduler.dao.entity.DatasourceUser;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+public interface DataSourceUserDao extends IDao<DatasourceUser> {
-@Service
-public class DatasourceAuditOperatorImpl extends BaseAuditOperator {
+ void deleteByUserId(int userId);
- @Autowired
- private DataSourceMapper dataSourceMapper;
-
- @Override
- public String getObjectNameFromIdentity(Object identity) {
- Long objId = toLong(identity);
- if (objId == -1) {
- return "";
- }
-
- DataSource obj = dataSourceMapper.selectById(objId);
- return obj == null ? "" : obj.getName();
- }
+ void deleteByDatasourceId(int datasourceId);
}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/DataSourceDaoImpl.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/DataSourceDaoImpl.java
new file mode 100644
index 0000000000..c4061f8d95
--- /dev/null
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/DataSourceDaoImpl.java
@@ -0,0 +1,83 @@
+/*
+ * 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.dolphinscheduler.dao.repository.impl;
+
+import org.apache.dolphinscheduler.dao.entity.DataSource;
+import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
+import org.apache.dolphinscheduler.dao.repository.BaseDao;
+import org.apache.dolphinscheduler.dao.repository.DataSourceDao;
+
+import java.util.Collections;
+import java.util.List;
+
+import lombok.NonNull;
+
+import org.springframework.stereotype.Repository;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+@Repository
+public class DataSourceDaoImpl extends BaseDao<DataSource, DataSourceMapper>
implements DataSourceDao {
+
+ public DataSourceDaoImpl(@NonNull DataSourceMapper dataSourceMapper) {
+ super(dataSourceMapper);
+ }
+
+ @Override
+ public List<DataSource> queryDataSourceByType(int userId, Integer type) {
+ return mybatisMapper.queryDataSourceByType(userId, type);
+ }
+
+ @Override
+ public IPage<DataSource> queryDataSourcePaging(IPage<DataSource> page, int
userId, String name) {
+ return mybatisMapper.selectPaging(page, userId, name);
+ }
+
+ @Override
+ public List<DataSource> queryDataSourceByName(String name) {
+ return mybatisMapper.queryDataSourceByName(name);
+ }
+
+ @Override
+ public List<DataSource> queryAuthedDatasource(int userId) {
+ return mybatisMapper.queryAuthedDatasource(userId);
+ }
+
+ @Override
+ public List<DataSource> queryDatasourceExceptUserId(int userId) {
+ return mybatisMapper.queryDatasourceExceptUserId(userId);
+ }
+
+ @Override
+ public <T> List<DataSource> listAuthorizedDataSource(int userId, T[]
dataSourceIds) {
+ return mybatisMapper.listAuthorizedDataSource(userId, dataSourceIds);
+ }
+
+ @Override
+ public IPage<DataSource> queryDataSourcePagingByIds(Page<DataSource>
dataSourcePage,
+ List<Integer>
dataSourceIds,
+ String name) {
+ return mybatisMapper.selectPagingByIds(dataSourcePage, dataSourceIds,
name);
+ }
+
+ @Override
+ public List<DataSource> queryByUserId(int userId) {
+ return mybatisMapper.selectByMap(Collections.singletonMap("user_id",
userId));
+ }
+}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/DataSourceUserDaoImpl.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/DataSourceUserDaoImpl.java
new file mode 100644
index 0000000000..6b61dbeea7
--- /dev/null
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/DataSourceUserDaoImpl.java
@@ -0,0 +1,45 @@
+/*
+ * 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.dolphinscheduler.dao.repository.impl;
+
+import org.apache.dolphinscheduler.dao.entity.DatasourceUser;
+import org.apache.dolphinscheduler.dao.mapper.DataSourceUserMapper;
+import org.apache.dolphinscheduler.dao.repository.BaseDao;
+import org.apache.dolphinscheduler.dao.repository.DataSourceUserDao;
+
+import lombok.NonNull;
+
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class DataSourceUserDaoImpl extends BaseDao<DatasourceUser,
DataSourceUserMapper> implements DataSourceUserDao {
+
+ public DataSourceUserDaoImpl(@NonNull DataSourceUserMapper
dataSourceUserMapper) {
+ super(dataSourceUserMapper);
+ }
+
+ @Override
+ public void deleteByUserId(int userId) {
+ mybatisMapper.deleteByUserId(userId);
+ }
+
+ @Override
+ public void deleteByDatasourceId(int datasourceId) {
+ mybatisMapper.deleteByDatasourceId(datasourceId);
+ }
+}