mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 04:27:39 +00:00
Get original name for dimensions and metrics. (#390)
This commit is contained in:
@@ -141,20 +141,22 @@ public class QueryReqConverter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Set<String> getDimensions(ModelSchemaResp modelSchemaResp, List<String> allFields) {
|
private Set<String> getDimensions(ModelSchemaResp modelSchemaResp, List<String> allFields) {
|
||||||
Set<String> allDimensions = modelSchemaResp.getDimensions().stream()
|
Map<String, String> dimensionLowerToNameMap = modelSchemaResp.getDimensions().stream()
|
||||||
.map(entry -> entry.getBizName().toLowerCase())
|
.collect(Collectors.toMap(entry -> entry.getBizName().toLowerCase(), entry -> entry.getBizName()));
|
||||||
.collect(Collectors.toSet());
|
Map<String, String> internalLowerToNameMap = QueryStructUtils.internalCols.stream()
|
||||||
allDimensions.addAll(QueryStructUtils.internalCols);
|
.collect(Collectors.toMap(a -> a.toLowerCase(), a -> a));
|
||||||
Set<String> collect = allFields.stream().filter(entry -> allDimensions.contains(entry.toLowerCase()))
|
dimensionLowerToNameMap.putAll(internalLowerToNameMap);
|
||||||
.map(String::toLowerCase).collect(Collectors.toSet());
|
Set<String> collect = allFields.stream()
|
||||||
|
.filter(entry -> dimensionLowerToNameMap.containsKey(entry.toLowerCase()))
|
||||||
|
.map(entry -> dimensionLowerToNameMap.get(entry.toLowerCase())).collect(Collectors.toSet());
|
||||||
return collect;
|
return collect;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getMetrics(ModelSchemaResp modelSchemaResp, List<String> allFields) {
|
private List<String> getMetrics(ModelSchemaResp modelSchemaResp, List<String> allFields) {
|
||||||
Set<String> allMetrics = modelSchemaResp.getMetrics().stream().map(entry -> entry.getBizName().toLowerCase())
|
Map<String, String> metricLowerToNameMap = modelSchemaResp.getMetrics().stream()
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toMap(entry -> entry.getBizName().toLowerCase(), entry -> entry.getBizName()));
|
||||||
List<String> metrics = allFields.stream().filter(entry -> allMetrics.contains(entry.toLowerCase()))
|
List<String> metrics = allFields.stream().filter(entry -> metricLowerToNameMap.containsKey(entry.toLowerCase()))
|
||||||
.map(String::toLowerCase).collect(Collectors.toList());
|
.map(entry -> metricLowerToNameMap.get(entry.toLowerCase())).collect(Collectors.toList());
|
||||||
return metrics;
|
return metrics;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user