Search in sources :

Example 1 with DsDetailVO

use of com.dtstack.taier.develop.vo.datasource.DsDetailVO in project Taier by DTStack.

the class DsInfoService method dsInfoDetail.

/**
 * 根据数据源Id获取数据源详情
 *
 * @param dataInfoId
 * @return
 */
public DsDetailVO dsInfoDetail(Long dataInfoId) {
    DsInfo dsInfo = lambdaQuery().eq(DsInfo::getId, dataInfoId).one();
    DsDetailVO dsDetailVO = DsDetailTransfer.INSTANCE.toInfoVO(dsInfo);
    String dataJson = dsInfo.getDataJson();
    JSONObject dataSourceJson = DataSourceUtils.getDataSourceJson(dataJson);
    if (DataSourceUtils.judgeOpenKerberos(dataJson) && null == dataSourceJson.getString(FormNames.PRINCIPAL)) {
        JSONObject kerberosConfig = dataSourceJson.getJSONObject(FormNames.KERBEROS_CONFIG);
        dataSourceJson.put(FormNames.PRINCIPAL, kerberosConfig.getString(FormNames.PRINCIPAL));
    }
    if (DataSourceUtils.judgeOpenKerberos(dsInfo.getDataJson()) && dsInfo.getDataType().equals(DataSourceTypeEnum.KAFKA.getDataType())) {
        // kafka开启了kerberos认证
        dataSourceJson.put(FormNames.AUTHENTICATION, FormNames.KERBROS);
    }
    return dsDetailVO;
}
Also used : JSONObject(com.alibaba.fastjson.JSONObject) DsDetailVO(com.dtstack.taier.develop.vo.datasource.DsDetailVO) DsInfo(com.dtstack.taier.dao.domain.DsInfo)

Aggregations

JSONObject (com.alibaba.fastjson.JSONObject)1 DsInfo (com.dtstack.taier.dao.domain.DsInfo)1 DsDetailVO (com.dtstack.taier.develop.vo.datasource.DsDetailVO)1