(improvement)(semantic) Querying dimension values supports models without time dimensions (#528)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2023-12-18 13:18:18 +08:00
committed by GitHub
parent dfb3b59984
commit 64615cbef9
9 changed files with 66 additions and 62 deletions

View File

@@ -26,10 +26,6 @@ public class Measure {
private Integer isCreateMetric = 0;
private Long datasourceId;
private String datasourceName;
public Measure(String name, String bizName, String agg, Integer isCreateMetric) {
this.name = name;
this.agg = agg;
@@ -37,8 +33,4 @@ public class Measure {
this.bizName = bizName;
}
public Measure(String bizName, Long datasourceId) {
this.bizName = bizName;
this.datasourceId = datasourceId;
}
}

View File

@@ -1,9 +1,13 @@
package com.tencent.supersonic.semantic.api.model.pojo;
import com.google.common.collect.Lists;
import com.tencent.supersonic.semantic.api.model.enums.DimensionTypeEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Data
@@ -28,4 +32,13 @@ public class ModelDetail {
return sqlQuery;
}
public List<Dim> getTimeDims() {
if (CollectionUtils.isEmpty(dimensions)) {
return Lists.newArrayList();
}
return dimensions.stream()
.filter(dim -> DimensionTypeEnum.time.name().equalsIgnoreCase(dim.getType()))
.collect(Collectors.toList());
}
}

View File

@@ -2,17 +2,14 @@ package com.tencent.supersonic.semantic.api.model.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.semantic.api.model.enums.DimensionTypeEnum;
import com.tencent.supersonic.semantic.api.model.pojo.Dim;
import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
import com.tencent.supersonic.semantic.api.model.pojo.ModelDetail;
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
import lombok.Data;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Data
@@ -43,12 +40,10 @@ public class ModelReq extends SchemaItem {
private List<String> adminOrgs = new ArrayList<>();
public List<Dim> getTimeDimension() {
if (CollectionUtils.isEmpty(modelDetail.getDimensions())) {
if (modelDetail == null) {
return Lists.newArrayList();
}
return modelDetail.getDimensions().stream()
.filter(dim -> DimensionTypeEnum.time.name().equalsIgnoreCase(dim.getType()))
.collect(Collectors.toList());
return modelDetail.getTimeDims();
}
public String getViewer() {

View File

@@ -1,9 +1,11 @@
package com.tencent.supersonic.semantic.api.model.response;
import com.google.common.base.Objects;
import com.google.common.collect.Lists;
import com.tencent.supersonic.semantic.api.model.pojo.Dim;
import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
import com.tencent.supersonic.semantic.api.model.pojo.Identify;
import com.tencent.supersonic.semantic.api.model.pojo.ModelDetail;
import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
import lombok.Data;
import org.springframework.util.CollectionUtils;
@@ -65,6 +67,13 @@ public class ModelResp extends SchemaItem {
return null;
}
public List<Dim> getTimeDimension() {
if (modelDetail == null) {
return Lists.newArrayList();
}
return modelDetail.getTimeDims();
}
@Override
public boolean equals(Object o) {
if (this == o) {