mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 03:52:59 +08:00
fix: 數據源插件卸载
This commit is contained in:
parent
24ae00582f
commit
bcb4084e69
@ -330,6 +330,12 @@ public class DatasourceService {
|
|||||||
return datasourceMapper.selectByPrimaryKey(id);
|
return datasourceMapper.selectByPrimaryKey(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Datasource> selectByType(String type){
|
||||||
|
DatasourceExample datasourceExample = new DatasourceExample();
|
||||||
|
datasourceExample.createCriteria().andTypeEqualTo(type);
|
||||||
|
return datasourceMapper.selectByExampleWithBLOBs(datasourceExample);
|
||||||
|
}
|
||||||
|
|
||||||
public void initAllDataSourceConnectionPool() {
|
public void initAllDataSourceConnectionPool() {
|
||||||
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
|
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
|
||||||
datasources.forEach(datasource -> {
|
datasources.forEach(datasource -> {
|
||||||
|
@ -13,10 +13,14 @@ import io.dataease.commons.utils.DeFileUtils;
|
|||||||
import io.dataease.commons.utils.LogUtil;
|
import io.dataease.commons.utils.LogUtil;
|
||||||
import io.dataease.commons.utils.ZipUtils;
|
import io.dataease.commons.utils.ZipUtils;
|
||||||
import io.dataease.controller.sys.base.BaseGridRequest;
|
import io.dataease.controller.sys.base.BaseGridRequest;
|
||||||
|
import io.dataease.i18n.Translator;
|
||||||
import io.dataease.listener.util.CacheUtils;
|
import io.dataease.listener.util.CacheUtils;
|
||||||
import io.dataease.plugins.common.base.domain.MyPlugin;
|
import io.dataease.plugins.common.base.domain.MyPlugin;
|
||||||
import io.dataease.plugins.common.base.mapper.MyPluginMapper;
|
import io.dataease.plugins.common.base.mapper.MyPluginMapper;
|
||||||
import io.dataease.plugins.config.LoadjarUtil;
|
import io.dataease.plugins.config.LoadjarUtil;
|
||||||
|
import io.dataease.plugins.config.SpringContextUtil;
|
||||||
|
import io.dataease.service.datasource.DatasourceService;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@ -49,6 +53,9 @@ public class PluginService {
|
|||||||
@Resource
|
@Resource
|
||||||
private MyPluginMapper myPluginMapper;
|
private MyPluginMapper myPluginMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DatasourceService datasourceService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private LoadjarUtil loadjarUtil;
|
private LoadjarUtil loadjarUtil;
|
||||||
|
|
||||||
@ -187,6 +194,15 @@ public class PluginService {
|
|||||||
CacheUtils.removeAll(AuthConstants.USER_CACHE_NAME);
|
CacheUtils.removeAll(AuthConstants.USER_CACHE_NAME);
|
||||||
CacheUtils.removeAll(AuthConstants.USER_ROLE_CACHE_NAME);
|
CacheUtils.removeAll(AuthConstants.USER_ROLE_CACHE_NAME);
|
||||||
CacheUtils.removeAll(AuthConstants.USER_PERMISSION_CACHE_NAME);
|
CacheUtils.removeAll(AuthConstants.USER_PERMISSION_CACHE_NAME);
|
||||||
|
|
||||||
|
if(myPlugin.getCategory().equalsIgnoreCase("datasource")){
|
||||||
|
if(CollectionUtils.isNotEmpty(datasourceService.selectByType(myPlugin.getDsType()))){
|
||||||
|
throw new RuntimeException(Translator.get("i18n_plugin_not_allow_delete"));
|
||||||
|
}
|
||||||
|
SpringContextUtil.getBeanFactory().removeBeanDefinition(myPlugin.getDsType() + "DsProvider");
|
||||||
|
SpringContextUtil.getBeanFactory().removeBeanDefinition(myPlugin.getDsType() + "QueryProvider");
|
||||||
|
SpringContextUtil.getBeanFactory().removeBeanDefinition(myPlugin.getDsType() + "Service");
|
||||||
|
}
|
||||||
myPluginMapper.deleteByPrimaryKey(pluginId);
|
myPluginMapper.deleteByPrimaryKey(pluginId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -123,3 +123,4 @@ theme_name_empty=name can not be empty
|
|||||||
i18n_public_chart=【Public Chart】
|
i18n_public_chart=【Public Chart】
|
||||||
i18n_class_blue=Blue Tone
|
i18n_class_blue=Blue Tone
|
||||||
插件管理=Plugins
|
插件管理=Plugins
|
||||||
|
i18n_plugin_not_allow_delete=The plugin in in use cannot be deleted
|
@ -122,4 +122,5 @@ theme_name_empty=名称不能为空
|
|||||||
i18n_public_chart=【存量视图】
|
i18n_public_chart=【存量视图】
|
||||||
i18n_class_blue=蓝色调
|
i18n_class_blue=蓝色调
|
||||||
插件管理=插件管理
|
插件管理=插件管理
|
||||||
|
i18n_plugin_not_allow_delete=正在使用的插件不允许删除
|
||||||
|
|
||||||
|
@ -123,3 +123,4 @@ theme_name_empty=名稱不能為空
|
|||||||
i18n_public_chart=【存量视图】
|
i18n_public_chart=【存量视图】
|
||||||
i18n_class_blue=蓝色调
|
i18n_class_blue=蓝色调
|
||||||
插件管理=插件管理
|
插件管理=插件管理
|
||||||
|
i18n_plugin_not_allow_delete=正在使用的插件不允許刪除
|
Loading…
Reference in New Issue
Block a user