修改了message配置
This commit is contained in:
parent
069b9d07af
commit
f8e3b1495a
@ -1,14 +1,9 @@
|
||||
package com.stdproject.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.support.ResourceBundleMessageSource;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* 国际化配置类
|
||||
@ -27,29 +22,4 @@ public class MessageSourceConfig {
|
||||
return messageSource;
|
||||
}
|
||||
|
||||
@Component
|
||||
public static class TranslatorInitializer {
|
||||
|
||||
@Autowired
|
||||
private MessageSource messageSource;
|
||||
|
||||
@PostConstruct
|
||||
public void initTranslator() {
|
||||
try {
|
||||
Class<?> translatorClass = Class.forName("io.gisbi.i18n.Translator");
|
||||
Field messageSourceField = translatorClass.getDeclaredField("messageSource");
|
||||
messageSourceField.setAccessible(true);
|
||||
messageSourceField.set(null, messageSource);
|
||||
System.out.println("Translator.messageSource initialized successfully");
|
||||
} catch (Exception e) {
|
||||
System.err.println("Failed to initialize Translator.messageSource: " + e.getMessage());
|
||||
// 如果Translator类不存在,创建一个简单的替代实现
|
||||
createFallbackTranslator();
|
||||
}
|
||||
}
|
||||
|
||||
private void createFallbackTranslator() {
|
||||
System.out.println("Creating fallback translator implementation");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package com.stdproject.service.provider;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jcraft.jsch.Session;
|
||||
import com.stdproject.common.BusinessException;
|
||||
import com.stdproject.controller.EngineRequest;
|
||||
import com.stdproject.entity.CoreDatasource;
|
||||
import com.stdproject.entity.CoreDriver;
|
||||
@ -11,7 +12,6 @@ import com.stdproject.service.type.*;
|
||||
import com.stdproject.utils.EncryptUtils;
|
||||
import com.stdproject.utils.FieldUtils;
|
||||
import io.gisbi.constant.SQLConstants;
|
||||
import io.gisbi.exception.DEException;
|
||||
import io.gisbi.extensions.datasource.dto.*;
|
||||
import io.gisbi.extensions.datasource.provider.DriverShim;
|
||||
import io.gisbi.extensions.datasource.provider.ExtendedJdbcClassLoader;
|
||||
@ -98,7 +98,7 @@ public class CalciteProvider extends Provider {
|
||||
schemas.add(resultSet.getString(1));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return schemas;
|
||||
}
|
||||
@ -111,7 +111,7 @@ public class CalciteProvider extends Provider {
|
||||
DatasourceConfiguration configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Pg.class);
|
||||
List<String> schemas = getSchema(datasourceRequest);
|
||||
if (CollectionUtils.isEmpty(schemas) || !schemas.contains(configuration.getSchema())) {
|
||||
DEException.throwException("无效的 schema!");
|
||||
BusinessException.throwException("无效的 schema!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -148,13 +148,13 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return tables;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> fetchResultField(DatasourceRequest datasourceRequest) throws DEException {
|
||||
public Map<String, Object> fetchResultField(DatasourceRequest datasourceRequest) throws BusinessException {
|
||||
// 不跨数据源
|
||||
if (datasourceRequest.getDsList().size() == 1) {
|
||||
return jdbcFetchResultField(datasourceRequest);
|
||||
@ -190,7 +190,7 @@ public class CalciteProvider extends Provider {
|
||||
} else {
|
||||
msg = e.getMessage();
|
||||
}
|
||||
DEException.throwException(Translator.get("i18n_fetch_error") + msg);
|
||||
BusinessException.throwException(Translator.get("i18n_fetch_error") + msg);
|
||||
} finally {
|
||||
try {
|
||||
if (resultSet != null) resultSet.close();
|
||||
@ -205,7 +205,7 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String transSqlDialect(String sql, Map<Long, DatasourceSchemaDTO> dsMap) throws DEException {
|
||||
public String transSqlDialect(String sql, Map<Long, DatasourceSchemaDTO> dsMap) throws BusinessException {
|
||||
DatasourceSchemaDTO value = dsMap.entrySet().iterator().next().getValue();
|
||||
try (Connection connection = getConnectionFromPool(value.getId());) {
|
||||
// 获取数据库version
|
||||
@ -216,7 +216,7 @@ public class CalciteProvider extends Provider {
|
||||
SqlNode sqlNode = parser.parseStmt();
|
||||
return sqlNode.toSqlString(getDialect(value)).toString();
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -242,7 +242,7 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TableField> fetchTableField(DatasourceRequest datasourceRequest) throws DEException {
|
||||
public List<TableField> fetchTableField(DatasourceRequest datasourceRequest) throws BusinessException {
|
||||
List<TableField> datasetTableFields = new ArrayList<>();
|
||||
DatasourceSchemaDTO datasourceSchemaDTO = datasourceRequest.getDsList().entrySet().iterator().next().getValue();
|
||||
datasourceRequest.setDatasource(datasourceSchemaDTO);
|
||||
@ -259,7 +259,7 @@ public class CalciteProvider extends Provider {
|
||||
resultSet = statement.executeQuery(datasourceRequest.getQuery());
|
||||
datasetTableFields.addAll(getField(resultSet, datasourceRequest));
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
} finally {
|
||||
if (resultSet != null) {
|
||||
try {
|
||||
@ -296,7 +296,7 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
} finally {
|
||||
if (resultSet != null) {
|
||||
try {
|
||||
@ -386,7 +386,7 @@ public class CalciteProvider extends Provider {
|
||||
conn = driverClass.connect(configuration.getJdbc(), props);
|
||||
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
connectionObj.setConnection(conn);
|
||||
return connectionObj;
|
||||
@ -412,7 +412,7 @@ public class CalciteProvider extends Provider {
|
||||
return drivers;
|
||||
}
|
||||
|
||||
public Map<String, Object> jdbcFetchResultField(DatasourceRequest datasourceRequest) throws DEException {
|
||||
public Map<String, Object> jdbcFetchResultField(DatasourceRequest datasourceRequest) throws BusinessException {
|
||||
DatasourceSchemaDTO value = datasourceRequest.getDsList().entrySet().iterator().next().getValue();
|
||||
datasourceRequest.setDatasource(value);
|
||||
|
||||
@ -442,9 +442,9 @@ public class CalciteProvider extends Provider {
|
||||
fieldList = getField(resultSet, datasourceRequest);
|
||||
dataList = getData(resultSet, datasourceRequest);
|
||||
} catch (SQLException e) {
|
||||
DEException.throwException("SQL ERROR: " + e.getMessage());
|
||||
BusinessException.throwException("SQL ERROR: " + e.getMessage());
|
||||
} catch (Exception e) {
|
||||
DEException.throwException("Datasource connection exception: " + e.getMessage());
|
||||
BusinessException.throwException("Datasource connection exception: " + e.getMessage());
|
||||
} finally {
|
||||
if (resultSet != null) {
|
||||
try {
|
||||
@ -461,7 +461,7 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exec(DatasourceRequest datasourceRequest) throws DEException {
|
||||
public void exec(DatasourceRequest datasourceRequest) throws BusinessException {
|
||||
DatasourceSchemaDTO value = datasourceRequest.getDsList().entrySet().iterator().next().getValue();
|
||||
datasourceRequest.setDatasource(value);
|
||||
DatasourceConfiguration datasourceConfiguration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), DatasourceConfiguration.class);
|
||||
@ -483,9 +483,9 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
DEException.throwException("SQL ERROR: " + e.getMessage());
|
||||
BusinessException.throwException("SQL ERROR: " + e.getMessage());
|
||||
} catch (Exception e) {
|
||||
DEException.throwException("Datasource connection exception: " + e.getMessage());
|
||||
BusinessException.throwException("Datasource connection exception: " + e.getMessage());
|
||||
} finally {
|
||||
if (resultSet != null) {
|
||||
try {
|
||||
@ -498,7 +498,7 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int executeUpdate(DatasourceRequest datasourceRequest) throws DEException {
|
||||
public int executeUpdate(DatasourceRequest datasourceRequest) throws BusinessException {
|
||||
DatasourceSchemaDTO value = datasourceRequest.getDsList().entrySet().iterator().next().getValue();
|
||||
datasourceRequest.setDatasource(value);
|
||||
DatasourceConfiguration datasourceConfiguration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), DatasourceConfiguration.class);
|
||||
@ -521,9 +521,9 @@ public class CalciteProvider extends Provider {
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
DEException.throwException("SQL ERROR: " + e.getMessage());
|
||||
BusinessException.throwException("SQL ERROR: " + e.getMessage());
|
||||
} catch (Exception e) {
|
||||
DEException.throwException("Datasource connection exception: " + e.getMessage());
|
||||
BusinessException.throwException("Datasource connection exception: " + e.getMessage());
|
||||
} finally {
|
||||
if (resultSet != null) {
|
||||
try {
|
||||
@ -757,7 +757,7 @@ public class CalciteProvider extends Provider {
|
||||
Class.forName("org.apache.calcite.jdbc.Driver");
|
||||
connection = DriverManager.getConnection("jdbc:calcite:", info);
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return connection;
|
||||
}
|
||||
@ -997,7 +997,7 @@ public class CalciteProvider extends Provider {
|
||||
list.add(row);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
@ -1045,21 +1045,21 @@ public class CalciteProvider extends Provider {
|
||||
case oracle:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Oracle.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
sql = String.format("SELECT a.COLUMN_NAME , a.DATA_TYPE , b.COMMENTS ,0 FROM all_tab_columns a LEFT JOIN all_col_comments b ON a.owner = b.owner AND a.table_name = b.table_name AND a.column_name = b.column_name WHERE a.owner = '%s' AND a.table_name = '%s' ORDER BY a.table_name, a.column_id", configuration.getSchema(), datasourceRequest.getTable());
|
||||
break;
|
||||
case db2:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Db2.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
sql = String.format("SELECT COLNAME , TYPENAME , REMARKS FROM SYSCAT.COLUMNS WHERE TABSCHEMA = '%s' AND TABNAME = '%s' ", configuration.getSchema(), datasourceRequest.getTable());
|
||||
break;
|
||||
case sqlServer:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Sqlserver.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
|
||||
sql = String.format("SELECT \n" + " c.name ,t.name ,ep.value, 0 \n" + "FROM \n" + " sys.columns AS c\n" + "LEFT JOIN sys.extended_properties AS ep ON c.object_id = ep.major_id AND c.column_id = ep.minor_id\n" + "LEFT JOIN sys.types AS t ON c.user_type_id = t.user_type_id\n" + "LEFT JOIN sys.objects AS o ON c.object_id = o.object_id\n" + "WHERE o.name = '%s'", datasourceRequest.getTable());
|
||||
@ -1067,7 +1067,7 @@ public class CalciteProvider extends Provider {
|
||||
case pg:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Pg.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
sql = String.format("SELECT\n" +
|
||||
" a.attname AS ColumnName,\n" +
|
||||
@ -1122,7 +1122,7 @@ public class CalciteProvider extends Provider {
|
||||
return sql;
|
||||
}
|
||||
|
||||
private List<String> getTablesSql(DatasourceRequest datasourceRequest) throws DEException {
|
||||
private List<String> getTablesSql(DatasourceRequest datasourceRequest) throws BusinessException {
|
||||
List<String> tableSqls = new ArrayList<>();
|
||||
DatasourceConfiguration.DatasourceType datasourceType = DatasourceConfiguration.DatasourceType.valueOf(datasourceRequest.getDatasource().getType());
|
||||
DatasourceConfiguration configuration = null;
|
||||
@ -1167,7 +1167,7 @@ public class CalciteProvider extends Provider {
|
||||
case oracle:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Oracle.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
tableSqls.add("select table_name, comments, owner from all_tab_comments where owner='" + configuration.getSchema() + "' AND table_type = 'TABLE'");
|
||||
tableSqls.add("select table_name, comments, owner from all_tab_comments where owner='" + configuration.getSchema() + "' AND table_type = 'VIEW'");
|
||||
@ -1175,14 +1175,14 @@ public class CalciteProvider extends Provider {
|
||||
case db2:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Db2.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
tableSqls.add("select TABNAME, REMARKS from syscat.tables WHERE TABSCHEMA ='DE_SCHEMA' AND \"TYPE\" = 'T'".replace("DE_SCHEMA", configuration.getSchema()));
|
||||
break;
|
||||
case sqlServer:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Sqlserver.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
tableSqls.add("SELECT \n" + " t.name AS TableName, \n" + " ep.value AS TableDescription \n" + "FROM \n" + " sys.tables t \n" + "LEFT OUTER JOIN sys.schemas sc ON sc.schema_id =t.schema_id \n" + "LEFT OUTER JOIN \n" + " sys.extended_properties ep ON t.object_id = ep.major_id \n" + " AND ep.minor_id = 0 \n" + " AND ep.class = 1 \n" + " AND ep.name = 'MS_Description'\n" + "where sc.name ='DS_SCHEMA'".replace("DS_SCHEMA", configuration.getSchema()));
|
||||
tableSqls.add("SELECT \n" + " t.name AS TableName, \n" + " ep.value AS TableDescription \n" + "FROM \n" + " sys.views t \n" + "LEFT OUTER JOIN sys.schemas sc ON sc.schema_id =t.schema_id \n" + "LEFT OUTER JOIN \n" + " sys.extended_properties ep ON t.object_id = ep.major_id \n" + " AND ep.minor_id = 0 \n" + " AND ep.class = 1 \n" + " AND ep.name = 'MS_Description'\n" + "where sc.name ='DS_SCHEMA'".replace("DS_SCHEMA", configuration.getSchema()));
|
||||
@ -1190,7 +1190,7 @@ public class CalciteProvider extends Provider {
|
||||
case pg:
|
||||
configuration = JsonUtil.parseObject(datasourceRequest.getDatasource().getConfiguration(), Pg.class);
|
||||
if (StringUtils.isEmpty(configuration.getSchema())) {
|
||||
DEException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
BusinessException.throwException(Translator.get("i18n_schema_is_empty"));
|
||||
}
|
||||
tableSqls.add("SELECT \n" + " relname AS TableName, \n" + " obj_description(relfilenode::regclass, 'pg_class') AS TableDescription \n" + "FROM \n" + " pg_class \n" + "WHERE \n" + " relkind in ('r','p', 'f') \n" + " AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'SCHEMA') ".replace("SCHEMA", configuration.getSchema()));
|
||||
break;
|
||||
@ -1224,7 +1224,7 @@ public class CalciteProvider extends Provider {
|
||||
|
||||
}
|
||||
|
||||
private String getSchemaSql(DatasourceDTO datasource) throws DEException {
|
||||
private String getSchemaSql(DatasourceDTO datasource) throws BusinessException {
|
||||
DatasourceConfiguration.DatasourceType datasourceType = DatasourceConfiguration.DatasourceType.valueOf(datasource.getType());
|
||||
switch (datasourceType) {
|
||||
case oracle:
|
||||
@ -1245,14 +1245,14 @@ public class CalciteProvider extends Provider {
|
||||
|
||||
public Statement getStatement(Connection connection, int queryTimeout) {
|
||||
if (connection == null) {
|
||||
DEException.throwException("Failed to get connection!");
|
||||
BusinessException.throwException("Failed to get connection!");
|
||||
}
|
||||
Statement stat = null;
|
||||
try {
|
||||
stat = connection.createStatement();
|
||||
stat.setQueryTimeout(queryTimeout);
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return stat;
|
||||
}
|
||||
@ -1267,7 +1267,7 @@ public class CalciteProvider extends Provider {
|
||||
stat = connection.prepareStatement(sql);
|
||||
stat.setQueryTimeout(queryTimeout);
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return stat;
|
||||
} else {
|
||||
@ -1281,7 +1281,7 @@ public class CalciteProvider extends Provider {
|
||||
|
||||
protected ExtendedJdbcClassLoader getCustomJdbcClassLoader(CoreDriver coreDriver) {
|
||||
if (coreDriver == null) {
|
||||
DEException.throwException("Can not found custom Driver");
|
||||
BusinessException.throwException("Can not found custom Driver");
|
||||
}
|
||||
ExtendedJdbcClassLoader customJdbcClassLoader = customJdbcClassLoaders.get(coreDriver.getId());
|
||||
if (customJdbcClassLoader == null) {
|
||||
@ -1323,7 +1323,7 @@ public class CalciteProvider extends Provider {
|
||||
customJdbcClassLoaders.put(coreDriver.getId(), customJdbcClassLoader);
|
||||
return customJdbcClassLoader;
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -1357,7 +1357,7 @@ public class CalciteProvider extends Provider {
|
||||
|
||||
}
|
||||
|
||||
public void update(DatasourceDTO datasourceDTO) throws DEException {
|
||||
public void update(DatasourceDTO datasourceDTO) throws BusinessException {
|
||||
DatasourceSchemaDTO datasourceSchemaDTO = new DatasourceSchemaDTO();
|
||||
BeanUtils.copyBean(datasourceSchemaDTO, datasourceDTO);
|
||||
datasourceSchemaDTO.setSchemaAlias(String.format(SQLConstants.SCHEMA, datasourceSchemaDTO.getId()));
|
||||
@ -1367,11 +1367,11 @@ public class CalciteProvider extends Provider {
|
||||
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
|
||||
SchemaPlus rootSchema = buildSchema(datasourceRequest, calciteConnection);
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void updateDsPoolAfterCheckStatus(DatasourceDTO datasourceDTO) throws DEException {
|
||||
public void updateDsPoolAfterCheckStatus(DatasourceDTO datasourceDTO) throws BusinessException {
|
||||
DatasourceSchemaDTO datasourceSchemaDTO = new DatasourceSchemaDTO();
|
||||
BeanUtils.copyBean(datasourceSchemaDTO, datasourceDTO);
|
||||
datasourceSchemaDTO.setSchemaAlias(String.format(SQLConstants.SCHEMA, datasourceSchemaDTO.getId()));
|
||||
@ -1391,11 +1391,11 @@ public class CalciteProvider extends Provider {
|
||||
startSshSession(configuration, null, datasourceDTO.getId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(CoreDatasource datasource) throws DEException {
|
||||
public void delete(CoreDatasource datasource) throws BusinessException {
|
||||
DatasourceSchemaDTO datasourceSchemaDTO = new DatasourceSchemaDTO();
|
||||
BeanUtils.copyBean(datasourceSchemaDTO, datasource);
|
||||
datasourceSchemaDTO.setSchemaAlias(String.format(SQLConstants.SCHEMA, datasourceSchemaDTO.getId()));
|
||||
@ -1409,7 +1409,7 @@ public class CalciteProvider extends Provider {
|
||||
rootSchema.removeSubSchema(datasourceSchemaDTO.getSchemaAlias());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
BusinessException.throwException(e.getMessage());
|
||||
}
|
||||
Provider.getLPorts().remove(datasource.getId());
|
||||
if (Provider.getSessions().get(datasource.getId()) != null) {
|
||||
@ -1435,13 +1435,13 @@ public class CalciteProvider extends Provider {
|
||||
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
|
||||
SchemaPlus rootSchema = calciteConnection.getRootSchema();
|
||||
if (rootSchema.getSubSchema(String.format(SQLConstants.SCHEMA, dsId)) == null) {
|
||||
DEException.throwException(Translator.get("i18n_check_datasource_connection"));
|
||||
BusinessException.throwException(Translator.get("i18n_check_datasource_connection"));
|
||||
}
|
||||
JdbcSchema jdbcSchema = rootSchema.getSubSchema(String.format(SQLConstants.SCHEMA, dsId)).unwrap(JdbcSchema.class);
|
||||
BasicDataSource basicDataSource = (BasicDataSource) jdbcSchema.getDataSource();
|
||||
return basicDataSource.getConnection();
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(Translator.get("i18n_invalid_connection") + e.getMessage());
|
||||
BusinessException.throwException(Translator.get("i18n_invalid_connection") + e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -1,74 +0,0 @@
|
||||
package io.gisbi.i18n;
|
||||
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* 简单的国际化翻译器实现
|
||||
* 替代缺失的外部依赖
|
||||
*/
|
||||
public class Translator {
|
||||
|
||||
public static MessageSource messageSource;
|
||||
|
||||
/**
|
||||
* 获取国际化消息
|
||||
* @param key 消息键
|
||||
* @return 国际化消息
|
||||
*/
|
||||
public static String get(String key) {
|
||||
if (messageSource == null) {
|
||||
// 如果messageSource为null,返回默认消息
|
||||
return getDefaultMessage(key);
|
||||
}
|
||||
|
||||
try {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
return messageSource.getMessage(key, null, locale);
|
||||
} catch (Exception e) {
|
||||
// 如果获取消息失败,返回默认消息
|
||||
return getDefaultMessage(key);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取带参数的国际化消息
|
||||
* @param key 消息键
|
||||
* @param args 参数
|
||||
* @return 国际化消息
|
||||
*/
|
||||
public static String get(String key, Object... args) {
|
||||
if (messageSource == null) {
|
||||
return getDefaultMessage(key);
|
||||
}
|
||||
|
||||
try {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
return messageSource.getMessage(key, args, locale);
|
||||
} catch (Exception e) {
|
||||
return getDefaultMessage(key);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取默认消息
|
||||
* @param key 消息键
|
||||
* @return 默认消息
|
||||
*/
|
||||
private static String getDefaultMessage(String key) {
|
||||
switch (key) {
|
||||
case "i18n_fetch_error":
|
||||
return "数据获取错误: ";
|
||||
case "i18n_schema_is_empty":
|
||||
return "数据库模式为空";
|
||||
case "i18n_check_datasource_connection":
|
||||
return "请检查数据源连接";
|
||||
case "i18n_invalid_connection":
|
||||
return "无效的数据库连接: ";
|
||||
default:
|
||||
return key; // 如果没有找到对应的消息,返回键本身
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user