[fix][headless]Fix create model exception.
Some checks failed
supersonic CentOS CI / build (21) (push) Has been cancelled
supersonic mac CI / build (21) (push) Has been cancelled
supersonic ubuntu CI / build (21) (push) Has been cancelled
supersonic windows CI / build (21) (push) Has been cancelled

This commit is contained in:
jerryjzhang
2025-01-16 11:09:41 +08:00
parent 8900fde4a3
commit 416488b919
4 changed files with 42 additions and 22 deletions

View File

@@ -202,7 +202,8 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
@Override
public List<String> getDbNames(Long id) throws SQLException {
DatabaseResp databaseResp = getDatabase(id);
DbAdaptor dbAdaptor = DbAdaptorFactory.getEngineAdaptor(databaseResp.getType());
DbAdaptor dbAdaptor =
DbAdaptorFactory.getEngineAdaptor(databaseResp.getType().toUpperCase());
return dbAdaptor.getDBs(DatabaseConverter.getConnectInfo(databaseResp));
}

View File

@@ -28,8 +28,7 @@ public class ModelConverter {
public static ModelDO convert(ModelReq modelReq, User user) {
ModelDO modelDO = new ModelDO();
// ModelDetail modelDetail = createModelDetail(modelReq);
ModelDetail modelDetail = modelReq.getModelDetail();
ModelDetail modelDetail = createModelDetail(modelReq);
modelReq.createdBy(user.getName());
BeanMapper.mapper(modelReq, modelDO);
modelDO.setStatus(StatusEnum.ONLINE.getCode());
@@ -267,16 +266,37 @@ public class ModelConverter {
private static ModelDetail createModelDetail(ModelReq modelReq) {
ModelDetail modelDetail = new ModelDetail();
List<Measure> measures = modelReq.getModelDetail().getMeasures();
if (measures == null) {
measures = Lists.newArrayList();
}
for (Measure measure : measures) {
if (StringUtils.isBlank(measure.getBizName())) {
continue;
List<Dimension> dimensions = modelReq.getModelDetail().getDimensions();
List<Identify> identifiers = modelReq.getModelDetail().getIdentifiers();
if (measures != null) {
for (Measure measure : measures) {
if (StringUtils.isBlank(measure.getBizName())) {
continue;
}
measure.setExpr(measure.getBizName());
}
measure.setExpr(measure.getBizName());
measure.setBizName(String.format("%s_%s", modelReq.getBizName(), measure.getExpr()));
}
if (dimensions != null) {
for (Dimension dimension : dimensions) {
if (StringUtils.isBlank(dimension.getBizName())) {
continue;
}
dimension.setExpr(dimension.getBizName());
}
}
if (identifiers != null) {
for (Identify identify : identifiers) {
if (StringUtils.isBlank(identify.getBizName())) {
continue;
}
if (StringUtils.isBlank(identify.getName())) {
identify.setName(identify.getBizName());
}
identify.setIsCreateDimension(1);
}
}
BeanMapper.mapper(modelReq.getModelDetail(), modelDetail);
return modelDetail;
}