[improvement](project) Adding tag abstraction to the dictionary and optimizing related code. (#785)

This commit is contained in:
lexluo09
2024-03-05 18:00:48 +08:00
committed by GitHub
parent ba83c6ca81
commit b8ecfc6a99
27 changed files with 335 additions and 261 deletions

View File

@@ -20,9 +20,12 @@ public class DataSetModelConfig {
private List<Long> dimensions = Lists.newArrayList();
public DataSetModelConfig(Long id, List<Long> dimensions, List<Long> metrics) {
private List<Long> tagIds = Lists.newArrayList();
public DataSetModelConfig(Long id, List<Long> dimensions, List<Long> metrics, List<Long> tagIds) {
this.id = id;
this.metrics = metrics;
this.dimensions = dimensions;
this.tagIds = tagIds;
}
}

View File

@@ -45,6 +45,11 @@ public class DataSetResp extends SchemaItem {
.collect(Collectors.toList());
}
public List<Long> getAllTags() {
return getDataSetModelConfigs().stream().map(DataSetModelConfig::getTagIds)
.flatMap(Collection::stream).collect(Collectors.toList());
}
public List<Long> getAllIncludeAllModels() {
return getDataSetModelConfigs().stream().filter(DataSetModelConfig::isIncludesAll)
.map(DataSetModelConfig::getId)

View File

@@ -15,6 +15,8 @@ public class DataSetSchemaResp extends DataSetResp {
private List<MetricSchemaResp> metrics = Lists.newArrayList();
private List<DimSchemaResp> dimensions = Lists.newArrayList();
private List<TagResp> tags = Lists.newArrayList();
private List<ModelResp> modelResps = Lists.newArrayList();
public DimSchemaResp getPrimaryKey() {