[improvement][headless]Optimize code structure and code style.

This commit is contained in:
jerryjzhang
2024-07-27 18:29:08 +08:00
parent e5504473a4
commit ccd79e4830
55 changed files with 138 additions and 168 deletions

View File

@@ -17,7 +17,7 @@ import java.util.List;
@NoArgsConstructor
public class SchemaElement implements Serializable {
private Long dataSet;
private Long dataSetId;
private String dataSetName;
private Long model;
private Long id;
@@ -43,7 +43,7 @@ public class SchemaElement implements Serializable {
return false;
}
SchemaElement schemaElement = (SchemaElement) o;
return Objects.equal(dataSet, schemaElement.dataSet) && Objects.equal(id,
return Objects.equal(dataSetId, schemaElement.dataSetId) && Objects.equal(id,
schemaElement.id) && Objects.equal(name, schemaElement.name)
&& Objects.equal(bizName, schemaElement.bizName)
&& Objects.equal(type, schemaElement.type);
@@ -51,7 +51,7 @@ public class SchemaElement implements Serializable {
@Override
public int hashCode() {
return Objects.hashCode(dataSet, id, name, bizName, type);
return Objects.hashCode(dataSetId, id, name, bizName, type);
}
}

View File

@@ -1,5 +1,8 @@
package com.tencent.supersonic.headless.api.pojo;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum;
@@ -8,14 +11,10 @@ import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.headless.api.pojo.request.QueryFilter;
import lombok.Data;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
@Data
public class SemanticParseInfo {
@@ -23,24 +22,25 @@ public class SemanticParseInfo {
private Integer id;
private String queryMode = "PLAIN_TEXT";
private SchemaElement dataSet;
private Set<SchemaElement> metrics = new TreeSet<>(new SchemaNameLengthComparator());
private Set<SchemaElement> dimensions = new LinkedHashSet();
private Set<SchemaElement> metrics = Sets.newTreeSet(new SchemaNameLengthComparator());
private Set<SchemaElement> dimensions = Sets.newTreeSet(new SchemaNameLengthComparator());
private SchemaElement entity;
private AggregateTypeEnum aggType = AggregateTypeEnum.NONE;
private FilterType filterType = FilterType.AND;
private Set<QueryFilter> dimensionFilters = new LinkedHashSet();
private Set<QueryFilter> metricFilters = new LinkedHashSet();
private Set<Order> orders = new LinkedHashSet();
private Set<QueryFilter> dimensionFilters = Sets.newHashSet();
private Set<QueryFilter> metricFilters = Sets.newHashSet();
private Set<Order> orders = Sets.newHashSet();
private DateConf dateInfo;
private Long limit;
private double score;
private List<SchemaElementMatch> elementMatches = new ArrayList<>();
private Map<String, Object> properties = new HashMap<>();
private List<SchemaElementMatch> elementMatches = Lists.newArrayList();
private SqlInfo sqlInfo = new SqlInfo();
private SqlEvaluation sqlEvaluation = new SqlEvaluation();
private QueryType queryType = QueryType.ID;
private EntityInfo entityInfo;
private String textInfo;
private Map<String, Object> properties = Maps.newHashMap();
private static class SchemaNameLengthComparator implements Comparator<SchemaElement> {
@Override
@@ -62,18 +62,11 @@ public class SemanticParseInfo {
}
}
public Set<SchemaElement> getMetrics() {
Set<SchemaElement> metricSet = new TreeSet<>(new SchemaNameLengthComparator());
metricSet.addAll(metrics);
metrics = metricSet;
return metrics;
}
public Long getDataSetId() {
if (dataSet == null) {
return null;
}
return dataSet.getDataSet();
return dataSet.getDataSetId();
}
}

View File

@@ -116,7 +116,7 @@ public class SemanticSchema implements Serializable {
public List<SchemaElement> getTags(Long dataSetId) {
List<SchemaElement> tags = new ArrayList<>();
dataSetSchemaList.stream().filter(schemaElement ->
dataSetId.equals(schemaElement.getDataSet().getDataSet()))
dataSetId.equals(schemaElement.getDataSet().getDataSetId()))
.forEach(d -> tags.addAll(d.getTags()));
return tags;
}
@@ -129,7 +129,7 @@ public class SemanticSchema implements Serializable {
private List<SchemaElement> getElementsByDataSetId(Long dataSetId, List<SchemaElement> elements) {
return elements.stream()
.filter(schemaElement -> dataSetId.equals(schemaElement.getDataSet()))
.filter(schemaElement -> dataSetId.equals(schemaElement.getDataSetId()))
.collect(Collectors.toList());
}
@@ -155,6 +155,6 @@ public class SemanticSchema implements Serializable {
return new HashMap<>();
}
return dataSetSchemaList.stream().collect(Collectors.toMap(dataSetSchema
-> dataSetSchema.getDataSet().getDataSet(), dataSetSchema -> dataSetSchema));
-> dataSetSchema.getDataSet().getDataSetId(), dataSetSchema -> dataSetSchema));
}
}

View File

@@ -6,8 +6,11 @@ import lombok.Data;
@Data
public class MapResp {
private String queryText;
private final String queryText;
private SchemaMapInfo mapInfo = new SchemaMapInfo();
public MapResp(String queryText) {
this.queryText = queryText;
}
}

View File

@@ -10,7 +10,7 @@ import java.util.stream.Collectors;
@Data
public class ParseResp {
private String queryText;
private final String queryText;
private Long queryId;
private ParseState state = ParseState.PENDING;
private String errorMsg;

View File

@@ -1,30 +0,0 @@
package com.tencent.supersonic.headless.api.pojo.response;
import com.tencent.supersonic.common.pojo.QueryAuthorization;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.headless.api.pojo.AggregateInfo;
import com.tencent.supersonic.headless.api.pojo.EntityInfo;
import com.tencent.supersonic.headless.api.pojo.SchemaElement;
import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class QueryResult {
private Long queryId;
private String queryMode;
private String querySql;
private QueryState queryState = QueryState.EMPTY;
private List<QueryColumn> queryColumns;
private QueryAuthorization queryAuthorization;
private SemanticParseInfo chatContext;
private Object response;
private List<Map<String, Object>> queryResults;
private String textResult;
private Long queryTimeCost;
private EntityInfo entityInfo;
private List<SchemaElement> recommendedDimensions;
private AggregateInfo aggregateInfo;
}