refactor: 将 ProviderFactory 移动到 SDK 内

This commit is contained in:
ulleo 2024-01-30 10:14:48 +08:00
parent 58925fb86f
commit e33eeb89c9
28 changed files with 53 additions and 51 deletions

View File

@ -1,6 +1,6 @@
package io.dataease.commons.utils;
import io.dataease.dto.dataset.union.UnionDTO;
import io.dataease.plugins.common.dto.dataset.union.UnionDTO;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;

View File

@ -1,6 +1,6 @@
package io.dataease.commons.utils;
import io.dataease.dto.dataset.ExcelSheetData;
import io.dataease.plugins.common.dto.dataset.ExcelSheetData;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.dto.datasource.TableField;
import org.apache.poi.hssf.eventusermodel.*;

View File

@ -12,7 +12,7 @@ import io.dataease.commons.constants.ResourceAuthLevel;
import io.dataease.controller.request.dataset.DataSetTableRequest;
import io.dataease.controller.request.dataset.MultFieldValuesRequest;
import io.dataease.controller.response.DatasetTableField4Type;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.base.domain.DatasetTable;
@ -22,7 +22,7 @@ import io.dataease.plugins.common.exception.DataEaseException;
import io.dataease.plugins.datasource.entity.Dateformat;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.xpack.auth.dto.request.ColumnPermissionItem;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.service.dataset.DataSetFieldService;
import io.dataease.service.dataset.DataSetTableFieldsService;
import io.dataease.service.dataset.DataSetTableService;

View File

@ -1,6 +1,6 @@
package io.dataease.controller.request.dataset;
import io.dataease.dto.dataset.ExcelSheetData;
import io.dataease.plugins.common.dto.dataset.ExcelSheetData;
import io.dataease.plugins.common.base.domain.DatasetTable;
import io.dataease.plugins.common.dto.datasource.TableField;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,5 +1,6 @@
package io.dataease.dto.dataset;
import io.dataease.plugins.common.dto.dataset.ExcelSheetData;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -1,8 +1,9 @@
package io.dataease.provider;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.datasource.provider.DDLProvider;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;

View File

@ -20,8 +20,8 @@ import io.dataease.plugins.datasource.entity.JdbcConfiguration;
import io.dataease.plugins.datasource.entity.Status;
import io.dataease.plugins.datasource.provider.DefaultJdbcProvider;
import io.dataease.plugins.datasource.provider.ExtendedJdbcClassLoader;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.provider.ProviderFactory;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

View File

@ -1,7 +1,7 @@
package io.dataease.provider.engine.doris;
import com.google.gson.Gson;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource;
import io.dataease.commons.utils.TableUtils;

View File

@ -1,6 +1,6 @@
package io.dataease.provider.engine.mysql;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource;
import io.dataease.commons.utils.TableUtils;

View File

@ -18,7 +18,6 @@ import io.dataease.controller.response.DataSetDetail;
import io.dataease.dto.chart.*;
import io.dataease.dto.dataset.DataSetTableDTO;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.ext.ExtChartGroupMapper;
import io.dataease.ext.ExtChartViewMapper;
import io.dataease.ext.ExtPanelGroupExtendDataMapper;
@ -35,6 +34,7 @@ import io.dataease.plugins.common.constants.datasource.SQLConstants;
import io.dataease.plugins.common.dto.chart.ChartFieldCompareDTO;
import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO;
import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.SqlVariableDetails;
import io.dataease.plugins.common.exception.DataEaseException;
import io.dataease.plugins.common.request.chart.ChartExtFilterRequest;
@ -44,12 +44,12 @@ import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDT
import io.dataease.plugins.common.util.SpringContextUtil;
import io.dataease.plugins.datasource.entity.PageInfo;
import io.dataease.plugins.datasource.provider.Provider;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.view.entity.*;
import io.dataease.plugins.view.entity.filter.PluginFilterTreeObj;
import io.dataease.plugins.view.service.ViewPluginService;
import io.dataease.plugins.xpack.auth.dto.request.ColumnPermissionItem;
import io.dataease.provider.ProviderFactory;
import io.dataease.provider.query.SQLUtils;
import io.dataease.service.chart.util.ChartDataBuild;
import io.dataease.service.dataset.*;

View File

@ -6,7 +6,7 @@ import io.dataease.commons.model.PluginViewSetImpl;
import io.dataease.commons.utils.TableUtils;
import io.dataease.controller.request.chart.ChartExtRequest;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs;
import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource;
@ -24,7 +24,7 @@ import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.view.entity.*;
import io.dataease.plugins.view.entity.filter.PluginFilterTreeObj;
import io.dataease.plugins.view.service.ViewPluginBaseService;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.service.dataset.DataSetTableService;
import io.dataease.service.dataset.DataSetTableUnionService;
import org.apache.commons.lang3.ObjectUtils;

View File

@ -26,9 +26,12 @@ import io.dataease.controller.request.dataset.DataSetTaskRequest;
import io.dataease.controller.response.DataSetDetail;
import io.dataease.dto.SysLogDTO;
import io.dataease.dto.dataset.*;
import io.dataease.dto.dataset.union.UnionDTO;
import io.dataease.dto.dataset.union.UnionItemDTO;
import io.dataease.dto.dataset.union.UnionParamDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoCustomUnion;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.ExcelSheetData;
import io.dataease.plugins.common.dto.dataset.union.UnionDTO;
import io.dataease.plugins.common.dto.dataset.union.UnionItemDTO;
import io.dataease.plugins.common.dto.dataset.union.UnionParamDTO;
import io.dataease.ext.ExtDataSetGroupMapper;
import io.dataease.ext.ExtDataSetTableMapper;
import io.dataease.ext.UtilMapper;
@ -50,8 +53,8 @@ import io.dataease.plugins.common.util.ClassloaderResponsity;
import io.dataease.plugins.datasource.provider.Provider;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.xpack.auth.dto.request.ColumnPermissionItem;
import io.dataease.provider.DDLProvider;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.DDLProvider;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.provider.datasource.JdbcProvider;
import io.dataease.service.chart.util.ChartDataBuild;
import io.dataease.service.datasource.DatasourceService;

View File

@ -6,8 +6,8 @@ import io.dataease.commons.constants.*;
import io.dataease.commons.model.AuthURD;
import io.dataease.commons.utils.*;
import io.dataease.controller.request.datasource.ApiDefinition;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.dto.dataset.ExcelSheetData;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.ExcelSheetData;
import io.dataease.dto.datasource.*;
import io.dataease.ext.ExtChartViewMapper;
import io.dataease.listener.util.CacheUtils;
@ -21,8 +21,8 @@ import io.dataease.plugins.common.request.datasource.DatasourceRequest;
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
import io.dataease.plugins.datasource.provider.Provider;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.provider.DDLProvider;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.DDLProvider;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.provider.datasource.JdbcProvider;
import io.dataease.service.datasource.DatasourceService;
import io.dataease.service.engine.EngineService;

View File

@ -6,7 +6,7 @@ import io.dataease.commons.utils.BeanUtils;
import io.dataease.commons.utils.LogUtil;
import io.dataease.commons.utils.TreeUtils;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.dto.dataset.DeSortDTO;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.base.domain.DatasetTable;
@ -21,7 +21,7 @@ import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDT
import io.dataease.plugins.datasource.provider.Provider;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.xpack.auth.dto.request.ColumnPermissionItem;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.service.dataset.*;
import io.dataease.service.datasource.DatasourceService;
import io.dataease.service.engine.EngineService;

View File

@ -21,7 +21,7 @@ import io.dataease.controller.request.datasource.ApiDefinition;
import io.dataease.controller.sys.response.BasicInfo;
import io.dataease.dto.DatasourceDTO;
import io.dataease.dto.TaskInstance;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.dto.datasource.DBTableDTO;
import io.dataease.dto.datasource.MysqlConfiguration;
import io.dataease.ext.ExtDataSourceMapper;
@ -44,7 +44,7 @@ import io.dataease.plugins.common.util.SpringContextUtil;
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
import io.dataease.plugins.datasource.entity.Status;
import io.dataease.plugins.datasource.provider.Provider;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.provider.datasource.ApiProvider;
import io.dataease.service.ScheduleService;
import io.dataease.service.dataset.DataSetGroupService;
@ -53,8 +53,6 @@ import io.dataease.service.sys.SysAuthService;
import io.dataease.service.system.SystemParameterService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.zookeeper.data.Stat;
import org.mozilla.javascript.EcmaError;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.data.redis.core.RedisTemplate;

View File

@ -15,7 +15,7 @@ import io.dataease.plugins.common.base.mapper.DeDriverMapper;
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
import io.dataease.plugins.datasource.provider.DefaultJdbcProvider;
import io.dataease.plugins.datasource.provider.ExtendedJdbcClassLoader;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@ -27,7 +27,6 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Modifier;
import java.net.URL;
import java.util.*;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;

View File

@ -17,7 +17,7 @@ import io.dataease.plugins.common.base.domain.DeEngineExample;
import io.dataease.plugins.common.base.mapper.DeEngineMapper;
import io.dataease.plugins.common.request.datasource.DatasourceRequest;
import io.dataease.plugins.datasource.provider.Provider;
import io.dataease.provider.ProviderFactory;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.service.datasource.DatasourceService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;

View File

@ -20,7 +20,7 @@ import io.dataease.dto.chart.ChartViewDTO;
import io.dataease.dto.dataset.DataSetGroupDTO;
import io.dataease.dto.dataset.DataSetTableDTO;
import io.dataease.dto.dataset.DataSetTaskDTO;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.dto.panel.PanelExport2App;
import io.dataease.dto.panel.PanelGroupDTO;
import io.dataease.dto.panel.PanelTemplateFileDTO;

View File

@ -1,4 +1,4 @@
package io.dataease.dto.dataset;
package io.dataease.plugins.common.dto.dataset;
import lombok.Getter;
import lombok.Setter;

View File

@ -1,6 +1,6 @@
package io.dataease.dto.dataset;
package io.dataease.plugins.common.dto.dataset;
import io.dataease.dto.dataset.union.UnionDTO;
import io.dataease.plugins.common.dto.dataset.union.UnionDTO;
import lombok.Getter;
import lombok.Setter;

View File

@ -1,4 +1,4 @@
package io.dataease.dto.dataset;
package io.dataease.plugins.common.dto.dataset;
import io.dataease.plugins.common.dto.datasource.TableField;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,4 +1,4 @@
package io.dataease.dto.dataset.union;
package io.dataease.plugins.common.dto.dataset.union;
import io.dataease.plugins.common.base.domain.DatasetTable;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package io.dataease.dto.dataset.union;
package io.dataease.plugins.common.dto.dataset.union;
import io.dataease.plugins.common.base.domain.DatasetTableField;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package io.dataease.dto.dataset.union;
package io.dataease.plugins.common.dto.dataset.union;
import lombok.Data;

View File

@ -1,8 +1,8 @@
package io.dataease.provider;
package io.dataease.plugins.datasource.provider;
import io.dataease.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import java.util.List;

View File

@ -1,4 +1,4 @@
package io.dataease.provider;
package io.dataease.plugins.datasource.provider;
import io.dataease.plugins.common.constants.DatasourceTypes;
import io.dataease.plugins.common.dto.datasource.DataSourceType;
@ -8,24 +8,21 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
import io.dataease.plugins.datasource.provider.Provider;
import java.util.Map;
@Configuration
public class ProviderFactory implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(final ApplicationContext ctx) {
this.context = ctx;
for(final DatasourceTypes d: DatasourceTypes.values()) {
this.context = ctx;
for (final DatasourceTypes d : DatasourceTypes.values()) {
final ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) context).getBeanFactory();
if(d.isDatasource()){
if (d.isDatasource()) {
DataSourceType dataSourceType = new DataSourceType(d.getType(), d.getName(), false, d.getExtraParams(), d.getCalculationMode(), d.isJdbc());
if(dataSourceType.getType().equalsIgnoreCase("oracle")){
if (dataSourceType.getType().equalsIgnoreCase("oracle")) {
dataSourceType.setCharset(d.getCharset());
dataSourceType.setTargetCharset(d.getTargetCharset());
}
@ -42,12 +39,12 @@ public class ProviderFactory implements ApplicationContextAware {
public static Provider getProvider(String type) {
if(type.equalsIgnoreCase(DatasourceTypes.engine_doris.toString()) || type.equalsIgnoreCase(DatasourceTypes.engine_mysql.toString())){
if (type.equalsIgnoreCase(DatasourceTypes.engine_doris.toString()) || type.equalsIgnoreCase(DatasourceTypes.engine_mysql.toString())) {
return context.getBean("jdbc", Provider.class);
}
Map<String, DataSourceType> dataSourceTypeMap = SpringContextUtil.getApplicationContext().getBeansOfType((DataSourceType.class));
if(dataSourceTypeMap.keySet().contains(type)){
if (dataSourceTypeMap.keySet().contains(type)) {
DatasourceTypes datasourceType = DatasourceTypes.valueOf(type);
switch (datasourceType) {
case es:

View File

@ -0,0 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
io.dataease.plugins.datasource.provider.ProviderFactory

View File

@ -0,0 +1 @@
io.dataease.plugins.datasource.provider.ProviderFactory