Browse Source

Merge pull request #137 in DEC/decision-webui-dcm from ~ALAN/decision-webui-dcm:release/10.0 to release/10.0

* commit 'eb68523149d233f30fe9b747a43bcb964f0910d2':
  fix: 更新注释
  fix: 移除不必要的修改
  fix: BI-56355 如果数据库类型和驱动都为空,则认为是其他jdbc
research/10.0
alan 5 years ago
parent
commit
5b4a3493a8
  1. 10
      src/modules/__test__/app.test.ts
  2. 4
      src/modules/app.service.ts

10
src/modules/__test__/app.test.ts

@ -1,4 +1,4 @@
import { connectionCanEdit, resolveUrlInfo, splitUrl } from '../app.service'; import { connectionCanEdit, resolveUrlInfo, splitUrl, getJdbcDatabaseType } from '../app.service';
const connection = { const connection = {
connectionId: '', connectionId: '',
connectionType: '', connectionType: '',
@ -12,6 +12,14 @@ const connection = {
test('DEC-11030 拼接url', () => { test('DEC-11030 拼接url', () => {
expect(splitUrl('localhost', '22', 'dbname', 'jdbc:pivotal:greenplum://hostname:port;dbname')).toEqual('jdbc:pivotal:greenplum://localhost:22;dbname'); expect(splitUrl('localhost', '22', 'dbname', 'jdbc:pivotal:greenplum://hostname:port;dbname')).toEqual('jdbc:pivotal:greenplum://localhost:22;dbname');
}); });
/**
* test_author_alan
*/
test('BI-56355 如果数据库类型和驱动都为空,则为其他jdbc', () => {
expect(getJdbcDatabaseType('', '').databaseType).toEqual('otherJDBC');
expect(getJdbcDatabaseType('mysql', '').databaseType).toEqual('mysql');
expect(getJdbcDatabaseType('', 'com.mysql.jdbc.Driver').databaseType).toEqual('mysql');
});
/** /**
* test_author_alan * test_author_alan

4
src/modules/app.service.ts

@ -27,9 +27,11 @@ export function getPluginWidgetEdit(plugin: string) {
// 由于database可能为空,所以为了兼容平台和设计器,需要根据driver来判断数据库类型 // 由于database可能为空,所以为了兼容平台和设计器,需要根据driver来判断数据库类型
export function getJdbcDatabaseType(database: string, driver: string): DatabaseType { export function getJdbcDatabaseType(database: string, driver: string): DatabaseType {
if (!database && !driver) {
return DATA_BASE_TYPES_OTHER;
}
let databaseType = null; let databaseType = null;
// KERNEL-1655 兼容旧版 由于旧版设计器创建的数据连接database都为other,所以要根据driber来判断数据类型 // KERNEL-1655 兼容旧版 由于旧版设计器创建的数据连接database都为other,所以要根据driber来判断数据类型
// DEC-10872 不能过滤other,因为新版数据连接创建的其他jdbc也是other类型,会混淆,需要和后端讨论一个最佳的解决方案。
if (database && database !== 'other' && DATA_BASE_TYPES.some(item => item.databaseType === database)) { if (database && database !== 'other' && DATA_BASE_TYPES.some(item => item.databaseType === database)) {
databaseType = DATA_BASE_TYPES.find(item => item.databaseType === database); databaseType = DATA_BASE_TYPES.find(item => item.databaseType === database);
} else { } else {

Loading…
Cancel
Save