mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 20:25:12 +00:00
[improvement][headless]Remove unnecessary Database class
This commit is contained in:
@@ -11,7 +11,6 @@ import com.tencent.supersonic.headless.core.translator.parser.s2sql.*;
|
||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Materialization.TimePartType;
|
||||
import com.tencent.supersonic.headless.server.pojo.yaml.*;
|
||||
import com.tencent.supersonic.headless.server.service.SchemaService;
|
||||
import com.tencent.supersonic.headless.server.utils.DatabaseConverter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.tuple.Triple;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -40,7 +39,7 @@ public class SemanticSchemaManager {
|
||||
schemaService.getSchemaYamlTpl(semanticSchemaResp, dimensionYamlTpls, dataModelYamlTpls,
|
||||
metricYamlTpls, modelIdName);
|
||||
DatabaseResp databaseResp = semanticSchemaResp.getDatabaseResp();
|
||||
ontology.setDatabase(DatabaseConverter.convert(databaseResp));
|
||||
ontology.setDatabase(databaseResp);
|
||||
if (!CollectionUtils.isEmpty(semanticSchemaResp.getModelRelas())) {
|
||||
ontology.setJoinRelations(
|
||||
getJoinRelation(semanticSchemaResp.getModelRelas(), modelIdName));
|
||||
|
||||
@@ -16,17 +16,12 @@ import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
|
||||
import com.tencent.supersonic.headless.core.adaptor.db.DbAdaptor;
|
||||
import com.tencent.supersonic.headless.core.adaptor.db.DbAdaptorFactory;
|
||||
import com.tencent.supersonic.headless.core.pojo.Database;
|
||||
import com.tencent.supersonic.headless.core.utils.JdbcDataSourceUtils;
|
||||
import com.tencent.supersonic.headless.core.utils.SqlUtils;
|
||||
import com.tencent.supersonic.headless.core.utils.SqlVariableParseUtils;
|
||||
import com.tencent.supersonic.headless.server.persistence.dataobject.DatabaseDO;
|
||||
import com.tencent.supersonic.headless.server.persistence.mapper.DatabaseDOMapper;
|
||||
import com.tencent.supersonic.headless.server.pojo.DatabaseParameter;
|
||||
import com.tencent.supersonic.headless.server.pojo.DbParameterFactory;
|
||||
import com.tencent.supersonic.headless.server.pojo.DbParametersBuilder;
|
||||
import com.tencent.supersonic.headless.server.pojo.DefaultParametersBuilder;
|
||||
import com.tencent.supersonic.headless.server.pojo.ModelFilter;
|
||||
import com.tencent.supersonic.headless.server.pojo.*;
|
||||
import com.tencent.supersonic.headless.server.service.DatabaseService;
|
||||
import com.tencent.supersonic.headless.server.service.ModelService;
|
||||
import com.tencent.supersonic.headless.server.utils.DatabaseConverter;
|
||||
@@ -58,7 +53,7 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
|
||||
|
||||
@Override
|
||||
public boolean testConnect(DatabaseReq databaseReq, User user) {
|
||||
Database database = DatabaseConverter.convert(databaseReq);
|
||||
DatabaseResp database = DatabaseConverter.convert(databaseReq);
|
||||
return JdbcDataSourceUtils.testDatabase(database);
|
||||
}
|
||||
|
||||
@@ -157,7 +152,7 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
|
||||
|
||||
@Override
|
||||
public SemanticQueryResp executeSql(String sql, DatabaseResp databaseResp) {
|
||||
return queryWithColumns(sql, DatabaseConverter.convert(databaseResp));
|
||||
return queryWithColumns(sql, databaseResp);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -192,7 +187,7 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
|
||||
return result;
|
||||
}
|
||||
|
||||
private SemanticQueryResp queryWithColumns(String sql, Database database) {
|
||||
private SemanticQueryResp queryWithColumns(String sql, DatabaseResp database) {
|
||||
SemanticQueryResp queryResultWithColumns = new SemanticQueryResp();
|
||||
SqlUtils sqlUtils = this.sqlUtils.init(database);
|
||||
log.info("query SQL: {}", sql);
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package com.tencent.supersonic.headless.server.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||
import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.core.pojo.ConnectInfo;
|
||||
import com.tencent.supersonic.headless.core.pojo.Database;
|
||||
import com.tencent.supersonic.headless.server.persistence.dataobject.DatabaseDO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -14,15 +12,8 @@ import java.util.Arrays;
|
||||
|
||||
public class DatabaseConverter {
|
||||
|
||||
public static Database convert(DatabaseResp databaseResp) {
|
||||
Database database = new Database();
|
||||
BeanUtils.copyProperties(databaseResp, database);
|
||||
database.setType(EngineType.fromString(databaseResp.getType().toUpperCase()));
|
||||
return database;
|
||||
}
|
||||
|
||||
public static Database convert(DatabaseReq databaseReq) {
|
||||
Database database = new Database();
|
||||
public static DatabaseResp convert(DatabaseReq databaseReq) {
|
||||
DatabaseResp database = new DatabaseResp();
|
||||
BeanUtils.copyProperties(databaseReq, database);
|
||||
return database;
|
||||
}
|
||||
@@ -69,8 +60,7 @@ public class DatabaseConverter {
|
||||
return databaseResp;
|
||||
}
|
||||
|
||||
public static ConnectInfo getConnectInfo(DatabaseResp databaseResp) {
|
||||
Database database = convert(databaseResp);
|
||||
public static ConnectInfo getConnectInfo(DatabaseResp database) {
|
||||
ConnectInfo connectInfo = new ConnectInfo();
|
||||
connectInfo.setUserName(database.getUsername());
|
||||
connectInfo.setPassword(database.passwordDecrypt());
|
||||
|
||||
@@ -107,7 +107,7 @@ public class ModelConverter {
|
||||
dimensionReq.setSemanticType(SemanticType.CATEGORY.name());
|
||||
}
|
||||
dimensionReq.setModelId(modelDO.getId());
|
||||
dimensionReq.setExpr(dim.getBizName());
|
||||
dimensionReq.setExpr(dim.getExpr());
|
||||
dimensionReq.setType(dim.getType().name());
|
||||
dimensionReq
|
||||
.setDescription(Objects.isNull(dim.getDescription()) ? "" : dim.getDescription());
|
||||
@@ -118,11 +118,11 @@ public class ModelConverter {
|
||||
public static MetricReq convert(Measure measure, ModelDO modelDO) {
|
||||
MetricReq metricReq = new MetricReq();
|
||||
metricReq.setName(measure.getName());
|
||||
metricReq.setBizName(measure.getExpr());
|
||||
metricReq.setBizName(measure.getBizName());
|
||||
metricReq.setDescription(measure.getName());
|
||||
metricReq.setModelId(modelDO.getId());
|
||||
MetricDefineByMeasureParams exprTypeParams = new MetricDefineByMeasureParams();
|
||||
exprTypeParams.setExpr(measure.getBizName());
|
||||
exprTypeParams.setExpr(measure.getExpr());
|
||||
Measure measureParam = new Measure();
|
||||
BeanMapper.mapper(measure, measureParam);
|
||||
exprTypeParams.setMeasures(Lists.newArrayList(measureParam));
|
||||
|
||||
@@ -33,7 +33,7 @@ class HeadlessParserServiceTest {
|
||||
queryStatement.setOntologyQuery(ontologyQuery);
|
||||
String sql = aggBuilder.buildOntologySql(queryStatement);
|
||||
queryStatement.setSql(sql);
|
||||
EngineType engineType = semanticSchema.getOntology().getDatabase().getType();
|
||||
EngineType engineType = semanticSchema.getOntology().getDatabaseType();
|
||||
sqlParser.setSql(aggBuilder.getSql(engineType));
|
||||
} catch (Exception e) {
|
||||
sqlParser.setErrMsg(e.getMessage());
|
||||
|
||||
Reference in New Issue
Block a user