@ -1,10 +1,11 @@
import { CONSTANT_PLUGIN_TYPES } from './app.constant' ;
import { DATA_BASE_TYPES } from '@constants/constant' ;
BI . provider ( 'dec.connection.provider.datebase' , function ( ) {
BI . provider ( 'dec.connection.provider.datebase' , function ( ) {
this . resolves = { } ;
// 原service中resolveUrlInfo方法
function jdbcResolve ( url : string ) {
function jdbcResolve ( url : string ) {
if ( BI . isNull ( url ) ) return { } ;
const oracleUlr = url . match ( /^jdbc:(oracle):(thin:([0-9a-zA-Z/]*)?@|thin:([0-9a-zA-Z/]*)?@\/\/|\/\/|)([0-9a-zA-Z_\\.-]+)(:([0-9|port]+))?(:|\/)([^]+)(.*)/i ) ;
if ( oracleUlr ) {
@ -68,14 +69,35 @@ BI.provider('dec.connection.provider.datebase', function() {
} ;
}
function coverBaseDatabase ( config ) {
const baseDataBase = DATA_BASE_TYPES . find ( item = > item . text === config . text ) ;
if ( BI . isNotNull ( baseDataBase ) ) {
// 覆盖基础配置
Object . assign ( baseDataBase , config ) ;
return true ;
}
return false ;
}
this . registerDatabaseType = ( config : any ) = > {
if ( coverBaseDatabase ( config ) ) return ;
BI . config ( CONSTANT_PLUGIN_TYPES , connections = > BI . concat ( connections , config ) ) ;
} ;
this . registerJdbcDatabase = ( config : any , resolve? : Function ) = > {
BI . config ( CONSTANT_PLUGIN_TYPES , connections = > BI . concat ( connections , { . . . config , type : 'jdbc' } ) ) ;
config = {
. . . config ,
type : 'jdbc' ,
} ;
BI . isFunction ( resolve ) && ( this . resolves [ config . databaseType ] = resolve ) ;
if ( coverBaseDatabase ( config ) ) return ;
BI . config ( CONSTANT_PLUGIN_TYPES , connections = > BI . concat ( connections , config ) ) ;
} ;
this . $get = ( ) = > BI . inherit ( BI . OB , {