From e7f13572d77fc71b085b3054129f253bc382a1b1 Mon Sep 17 00:00:00 2001
From: LXW <1264174498@qq.com>
Date: Tue, 2 Jan 2024 16:43:28 +0800
Subject: [PATCH] (improvement)(headless) Modify the headless module structure
to api, core and server (#588)
Co-authored-by: jolunoluo
---
chat/api/pom.xml | 2 +-
.../api/component/SemanticInterpreter.java | 28 +--
chat/core/pom.xml | 4 +-
.../chat/config/EntityInternalDetail.java | 4 +-
.../chat/mapper/EmbeddingMatchStrategy.java | 14 +-
.../parser/sql/llm/LLMRequestService.java | 4 +-
.../execute/MetricRecommendProcessor.java | 2 +-
.../chat/query/BaseSemanticQuery.java | 14 +-
.../llm/analytics/MetricAnalyzeQuery.java | 4 +-
.../chat/query/llm/s2sql/LLMSqlQuery.java | 4 +-
.../chat/query/rule/RuleSemanticQuery.java | 6 +-
.../query/rule/metric/MetricFilterQuery.java | 4 +-
.../rule/metric/MetricSemanticQuery.java | 2 +-
.../query/rule/metric/MetricTagQuery.java | 4 +-
.../chat/rest/ChatConfigController.java | 12 +-
.../chat/service/SemanticService.java | 4 +-
.../chat/service/impl/ConfigServiceImpl.java | 12 +-
.../chat/service/impl/PluginServiceImpl.java | 2 +-
.../chat/service/impl/QueryServiceImpl.java | 4 +-
.../supersonic/chat/utils/DictMetaHelper.java | 4 +-
.../chat/utils/DictQueryHelper.java | 4 +-
.../chat/utils/QueryReqBuilder.java | 6 +-
.../chat/test/context/ContextTest.java | 14 +-
.../test/context/MockBeansConfiguration.java | 35 ++--
.../chat/utils/QueryReqBuilderTest.java | 4 +-
chat/knowledge/pom.xml | 2 +-
.../semantic/BaseSemanticInterpreter.java | 2 +-
.../semantic/LocalSemanticInterpreter.java | 38 ++--
.../semantic/ModelSchemaBuilder.java | 12 +-
.../semantic/RemoteSemanticInterpreter.java | 30 +--
headless/api/pom.xml | 65 +++++--
.../headless/api/rest/ApiQueryController.java | 43 -----
.../headless/api/service/ApiQueryService.java | 47 -----
.../api/service/impl/ApiQueryServiceImpl.java | 177 ------------------
.../common/core}/enums/AggOption.java | 2 +-
.../common/core}/enums/QueryOptMode.java | 2 +-
.../common/core/enums/QueryTypeBack.java} | 10 +-
.../headless/common/core}/pojo/Cache.java | 2 +-
.../common/core}/pojo/MetricTable.java | 7 +-
.../headless/common/core}/pojo/Param.java | 6 +-
.../core/pojo/SingleItemQueryResult.java | 15 ++
.../core}/request/BatchDownloadReq.java | 2 +-
.../core}/request/DownloadStructReq.java | 2 +-
.../common/core}/request/ExplainSqlReq.java | 6 +-
.../common/core}/request/ItemUseReq.java | 2 +-
.../common/core}/request/MetaQueryApiReq.java | 2 +-
.../common/core}/request/MetricReq.java | 2 +-
.../common/core}/request/ParseSqlReq.java | 4 +-
.../core}/request/QueryDimValueReq.java | 2 +-
.../common/core/request/QueryItemReq.java} | 7 +-
.../core}/request/QueryMultiStructReq.java | 2 +-
.../common/core}/request/QueryS2SQLReq.java | 2 +-
.../common/core}/request/QueryStructReq.java | 6 +-
.../core/response/ItemQueryResultResp.java | 15 ++
.../common/core}/response/ItemUseResp.java | 2 +-
.../common/core}/response/SqlParserResp.java | 2 +-
.../common/server/enums/AppStatus.java} | 12 +-
.../common/server/enums/DataType.java} | 14 +-
.../common/server/enums/DimensionType.java | 9 +
.../common/server/enums/IdentifyType.java | 8 +
.../common/server/enums/MetricType.java | 9 +
.../common/server/enums/ModelSourceType.java} | 12 +-
.../common/server/enums/QueryType.java} | 10 +-
.../common/server/enums/SemanticType.java | 10 +
.../common/server}/pojo/AppConfig.java | 2 +-
.../headless/common/server}/pojo/Dim.java | 2 +-
.../common/server}/pojo/DimValueMap.java | 2 +-
.../server}/pojo/DimensionTimeTypeParams.java | 2 +-
.../server}/pojo/DrillDownDimension.java | 2 +-
.../headless/common/server}/pojo/Entity.java | 2 +-
.../common/server}/pojo/Identify.java | 2 +-
.../headless/common/server}/pojo/Item.java | 2 +-
.../common/server}/pojo/ItemDateFilter.java | 2 +-
.../headless/common/server}/pojo/Measure.java | 2 +-
.../pojo/MetricQueryDefaultConfig.java | 2 +-
.../common/server}/pojo/MetricTypeParams.java | 2 +-
.../common/server}/pojo/ModelDetail.java | 6 +-
.../common/server}/pojo/QueryResult.java | 7 +-
.../common/server}/pojo/QueryStat.java | 2 +-
.../common/server}/pojo/RelateDimension.java | 2 +-
.../common/server}/pojo/SchemaItem.java | 2 +-
.../common/server}/request/AppQueryReq.java | 8 +-
.../common/server}/request/AppReq.java | 4 +-
.../common/server}/request/DatabaseReq.java | 6 +-
.../common/server}/request/DateInfoReq.java | 2 +-
.../common/server}/request/DimensionReq.java | 6 +-
.../common/server}/request/DomainReq.java | 4 +-
.../server}/request/DomainUpdateReq.java | 2 +-
.../common/server}/request/MetaBatchReq.java | 2 +-
.../common/server}/request/MetricBaseReq.java | 6 +-
.../common/server}/request/MetricReq.java | 16 +-
.../common/server}/request/ModelReq.java | 10 +-
.../server}/request/ModelSchemaFilterReq.java | 2 +-
.../server}/request/PageDimensionReq.java | 2 +-
.../common/server}/request/PageMetricReq.java | 2 +-
.../server}/request/PageSchemaItemReq.java | 2 +-
.../common/server}/request/SqlExecuteReq.java | 2 +-
.../common/server}/request/ViewInfoReq.java | 2 +-
.../server}/response/AppDetailResp.java | 2 +-
.../common/server}/response/AppResp.java | 8 +-
.../common/server}/response/DatabaseResp.java | 9 +-
.../server}/response/DimSchemaResp.java | 2 +-
.../server}/response/DimensionResp.java | 6 +-
.../common/server}/response/DomainResp.java | 11 +-
.../common/server}/response/ExplainResp.java | 5 +-
.../common/server}/response/MeasureResp.java | 2 +-
.../common/server}/response/MetricResp.java | 12 +-
.../server}/response/MetricSchemaResp.java | 2 +-
.../common/server}/response/ModelResp.java | 12 +-
.../server}/response/ModelSchemaRelaResp.java | 2 +-
.../server}/response/ModelSchemaResp.java | 4 +-
.../response/QueryResultWithSchemaResp.java | 10 +-
headless/common/pom.xml | 69 -------
.../common/model/enums/DimensionTypeEnum.java | 10 -
.../common/model/enums/IdentifyTypeEnum.java | 9 -
.../common/model/enums/MetricTypeEnum.java | 9 -
.../common/model/enums/OperatorEnum.java | 32 ----
.../common/model/enums/SemanticTypeEnum.java | 10 -
.../common/model/pojo/DatasourceType.java | 19 --
.../query/pojo/ApiQuerySingleResult.java | 15 --
.../common/query/pojo/Materialization.java | 16 --
.../query/request/QueryApiPreviewReq.java | 14 --
.../query/response/ApiQueryResultResp.java | 15 --
headless/{query => core}/pom.xml | 6 +-
.../core}/annotation/ApiHeaderCheck.java | 2 +-
.../core}/annotation/S2SQLDataPermission.java | 2 +-
.../annotation/StructDataPermission.java | 2 +-
.../core}/aspect/ApiHeaderCheckAspect.java | 12 +-
.../core/aspect/AuthCheckBaseAspect.java} | 20 +-
.../headless/core/aspect}/DimValueAspect.java | 24 +--
.../core}/aspect/S2SQLDataAspect.java | 49 +++--
.../core}/aspect/StructDataAspect.java | 43 ++---
.../headless/core}/executor/JdbcExecutor.java | 12 +-
.../headless/core/executor/QueryExecutor.java | 12 ++
.../headless/core}/optimizer/DetailQuery.java | 7 +-
.../core/optimizer/QueryOptimizer.java | 8 +
.../core/parser/HeadlessConverter.java | 12 ++
.../headless/core}/parser/QueryParser.java | 27 +--
.../headless/core/parser/SqlParser.java | 10 +
.../parser/calcite/CalciteSqlParser.java | 20 +-
.../core}/parser/calcite/Configuration.java | 8 +-
.../parser/calcite/HeadlessSchemaManager.java | 63 ++++---
.../parser/calcite/planner/AggPlanner.java | 37 ++--
.../planner/MaterializationPlanner.java | 32 ++--
.../core/parser/calcite/planner/Planner.java | 17 ++
.../core}/parser/calcite/s2sql/Constants.java | 2 +-
.../parser/calcite/s2sql/DataSource.java | 5 +-
.../core}/parser/calcite/s2sql/DataType.java | 2 +-
.../core}/parser/calcite/s2sql/Dimension.java | 4 +-
.../s2sql/DimensionTimeTypeParams.java | 2 +-
.../parser/calcite/s2sql/HeadlessModel.java | 2 +-
.../core}/parser/calcite/s2sql/Identify.java | 2 +-
.../parser/calcite/s2sql/JoinRelation.java | 2 +-
.../parser/calcite/s2sql/Materialization.java | 2 +-
.../calcite/s2sql/MaterializationElement.java | 2 +-
.../core}/parser/calcite/s2sql/Measure.java | 2 +-
.../core}/parser/calcite/s2sql/Metric.java | 5 +-
.../calcite/s2sql/MetricTypeParams.java | 2 +-
.../core}/parser/calcite/s2sql/TimeRange.java | 2 +-
.../calcite/schema/DataSourceTable.java | 2 +-
.../parser/calcite/schema/HeadlessSchema.java | 14 +-
.../schema/HeadlessSqlConformance.java | 2 +-
.../schema/HeadlessSqlTypeFactoryImpl.java | 2 +-
.../parser/calcite/schema/RuntimeOptions.java | 2 +-
.../parser/calcite/schema/SchemaBuilder.java | 7 +-
.../parser/calcite/schema/SemanticItem.java | 6 +
.../calcite/schema/SemanticSqlDialect.java | 2 +-
.../calcite/schema/ViewExpanderImpl.java | 2 +-
.../core/parser/calcite/sql/Optimization.java | 10 +
.../core}/parser/calcite/sql/Renderer.java | 24 +--
.../calcite/sql/S2SQLSqlValidatorImpl.java | 2 +-
.../core}/parser/calcite/sql/TableView.java | 4 +-
.../calcite/sql/node/AggFunctionNode.java | 2 +-
.../calcite/sql/node/DataSourceNode.java | 24 +--
.../calcite/sql/node/DimensionNode.java | 6 +-
.../parser/calcite/sql/node/ExtendNode.java | 2 +-
.../parser/calcite/sql/node/FilterNode.java | 2 +-
.../parser/calcite/sql/node/IdentifyNode.java | 6 +-
.../parser/calcite/sql/node/JoinNode.java | 2 +-
.../parser/calcite/sql/node/MeasureNode.java | 4 +-
.../parser/calcite/sql/node/MetricNode.java | 4 +-
.../parser/calcite/sql/node/SemanticNode.java | 8 +-
.../node/extend/LateralViewExplodeNode.java | 4 +-
.../sql/optimizer/FilterToGroupScanRule.java | 5 +-
.../calcite/sql/render/FilterRender.java | 25 +--
.../parser/calcite/sql/render/JoinRender.java | 99 +++++-----
.../calcite/sql/render/OutputRender.java | 17 +-
.../calcite/sql/render/SourceRender.java | 52 ++---
.../parser/convert/CalculateAggConverter.java | 37 ++--
.../convert/DefaultDimValueConverter.java | 25 +--
.../parser/convert/MetricCheckConverter.java | 29 +--
.../convert/ParserDefaultConverter.java | 21 ++-
.../parser/convert/QueryReqConverter.java | 51 ++---
.../parser/convert/ZipperModelConverter.java | 27 +--
.../core}/persistence/mapper/StatMapper.java | 6 +-
.../core/persistence}/pojo/DataDownload.java | 2 +-
.../persistence/pojo/ParserSvrResponse.java | 2 +-
.../persistence/pojo/QueryStatement.java | 8 +-
.../repository/StatRepository.java | 15 ++
.../repository/StatRepositoryImpl.java | 22 ++-
.../headless/core}/rest/QueryController.java | 58 +++---
.../headless/core}/rest/SchemaController.java | 27 +--
.../core}/service/DownloadService.java | 6 +-
.../core/service/HeadlessQueryEngine.java | 21 +++
.../headless/core/service/QueryService.java | 47 +++++
.../headless/core/service/SchemaService.java | 28 +++
.../service/impl}/DownloadServiceImpl.java | 32 ++--
.../impl}/HeadlessQueryEngineImpl.java | 25 +--
.../core/service/impl}/QueryServiceImpl.java | 163 +++++++++++++---
.../core/service/impl}/SchemaServiceImpl.java | 36 ++--
.../core}/utils/ComponentFactory.java | 26 +--
.../core}/utils/DataTransformUtils.java | 2 +-
.../core}/utils/QueryStructUtils.java | 69 +++----
.../headless/core}/utils/QueryUtils.java | 47 ++---
.../core}/utils/SqlGenerateUtils.java | 4 +-
.../headless/core}/utils/StatUtils.java | 34 ++--
.../src/main/resources/mapper/StatMapper.xml | 6 +-
.../calcite/HeadlessParserServiceTest.java | 28 +--
.../calcite/MaterializationQueryTest.java | 12 +-
.../service/DownloadServiceImplTest.java | 29 +--
.../query/utils/DataTransformUtilsTest.java | 1 +
.../headless/model/domain/Catalog.java | 44 -----
.../model/domain/pojo/Datasource.java | 22 ---
.../headless/model/domain/pojo/Dimension.java | 33 ----
.../headless/model/domain/pojo/Domain.java | 37 ----
.../headless/model/domain/pojo/Metric.java | 31 ---
.../headless/model/domain/pojo/Model.java | 32 ----
.../domain/repository/DateInfoRepository.java | 16 --
headless/pom.xml | 5 +-
.../query/executor/QueryExecutor.java | 12 --
.../query/optimizer/QueryOptimizer.java | 8 -
.../query/parser/HeadlessConverter.java | 13 --
.../headless/query/parser/SqlParser.java | 10 -
.../query/parser/calcite/planner/Planner.java | 17 --
.../parser/calcite/schema/SemanticItem.java | 6 -
.../parser/calcite/sql/Optimization.java | 10 -
.../repository/StatRepository.java | 15 --
.../query/service/HeadlessQueryEngine.java | 21 ---
.../headless/query/service/QueryService.java | 38 ----
.../headless/query/service/SchemaService.java | 28 ---
headless/{model => server}/pom.xml | 16 +-
.../engineadapter/ClickHouseAdaptor.java | 2 +-
.../server}/engineadapter/EngineAdaptor.java | 2 +-
.../engineadapter/EngineAdaptorFactory.java | 4 +-
.../server}/engineadapter/H2Adaptor.java | 2 +-
.../server}/engineadapter/MysqlAdaptor.java | 2 +-
.../listener/MetaEmbeddingListener.java | 9 +-
.../server}/manager/DimensionYamlManager.java | 23 +--
.../server}/manager/MetricYamlManager.java | 17 +-
.../server/manager/ModelYamlManager.java} | 69 +++----
.../server}/persistence/dataobject/AppDO.java | 2 +-
.../persistence}/dataobject/CollectDO.java | 2 +-
.../persistence}/dataobject/DatabaseDO.java | 2 +-
.../dataobject/DatabaseDOExample.java | 2 +-
.../persistence}/dataobject/DateInfoDO.java | 2 +-
.../persistence}/dataobject/DimensionDO.java | 3 +-
.../persistence}/dataobject/DomainDO.java | 2 +-
.../dataobject/DomainDOExample.java | 2 +-
.../persistence}/dataobject/MetricDO.java | 3 +-
.../MetricQueryDefaultConfigDO.java | 2 +-
.../persistence}/dataobject/ModelDO.java | 3 +-
.../persistence}/dataobject/ModelRelaDO.java | 2 +-
.../persistence}/dataobject/ViewInfoDO.java | 3 +-
.../dataobject/ViewInfoDOExample.java | 2 +-
.../server}/persistence/mapper/AppMapper.java | 4 +-
.../persistence}/mapper/CollectMapper.java | 5 +-
.../persistence}/mapper/DatabaseDOMapper.java | 7 +-
.../persistence}/mapper/DateInfoMapper.java | 6 +-
.../mapper/DimensionDOCustomMapper.java | 10 +-
.../mapper/DimensionDOMapper.java | 4 +-
.../persistence}/mapper/DomainDOMapper.java | 4 +-
.../mapper/MetricDOCustomMapper.java | 8 +-
.../persistence}/mapper/MetricDOMapper.java | 4 +-
.../MetricQueryDefaultConfigDOMapper.java | 5 +-
.../mapper/ModelDOCustomMapper.java | 5 +-
.../persistence}/mapper/ModelDOMapper.java | 4 +-
.../mapper/ModelRelaDOMapper.java | 5 +-
.../persistence}/mapper/ViewInfoDOMapper.java | 4 +-
.../repository/DatabaseRepository.java | 5 +-
.../repository/DateInfoRepository.java | 16 ++
.../repository/DimensionRepository.java | 8 +-
.../repository/DomainRepository.java | 5 +-
.../repository/MetricRepository.java | 10 +-
.../repository/ModelRepository.java | 6 +-
.../repository/ViewInfoRepository.java | 5 +-
.../impl}/DatabaseRepositoryImpl.java | 13 +-
.../impl}/DateInfoRepositoryImpl.java | 12 +-
.../impl}/DimensionRepositoryImpl.java | 13 +-
.../impl}/DomainRepositoryImpl.java | 8 +-
.../impl}/MetricRepositoryImpl.java | 16 +-
.../repository/impl}/ModelRepositoryImpl.java | 12 +-
.../impl}/ViewInfoRepositoryImpl.java | 9 +-
.../headless/server}/pojo/ConnectInfo.java | 2 +-
.../headless/server}/pojo/Database.java | 5 +-
.../server}/pojo/DatasourceQueryEnum.java | 2 +-
.../server}/pojo/DimensionFilter.java | 2 +-
.../headless/server}/pojo/EngineTypeEnum.java | 2 +-
.../headless/server}/pojo/JdbcDataSource.java | 50 ++---
.../headless/server}/pojo/MetaFilter.java | 2 +-
.../headless/server}/pojo/MetricFilter.java | 2 +-
.../headless/server}/pojo/ModelFilter.java | 2 +-
.../server/pojo}/yaml/DataModelYamlTpl.java | 9 +-
.../yaml/DimensionTimeTypeParamsTpl.java | 2 +-
.../server/pojo}/yaml/DimensionYamlTpl.java | 2 +-
.../server/pojo}/yaml/IdentifyYamlTpl.java | 2 +-
.../server/pojo}/yaml/MeasureYamlTpl.java | 2 +-
.../pojo}/yaml/MetricTypeParamsYamlTpl.java | 5 +-
.../server/pojo}/yaml/MetricYamlTpl.java | 5 +-
.../headless/server}/rest/AppController.java | 12 +-
.../server}/rest/CollectController.java | 7 +-
.../server}/rest/DatabaseController.java | 19 +-
.../server}/rest/DimensionController.java | 18 +-
.../server}/rest/DomainController.java | 23 ++-
.../server}/rest/MetricController.java | 20 +-
.../server}/rest/ModelController.java | 25 +--
.../server}/rest/ModelRelaController.java | 4 +-
.../server}/rest/ViewInfoController.java | 12 +-
.../headless/server}/service/AppService.java | 10 +-
.../headless/server/service/Catalog.java | 47 +++++
.../server/service}/CollectService.java | 6 +-
.../server/service}/DatabaseService.java | 9 +-
.../server/service}/DimensionService.java | 19 +-
.../server/service}/DomainService.java | 8 +-
.../server/service}/MetricService.java | 17 +-
.../server/service}/ModelRelaService.java | 2 +-
.../server/service}/ModelService.java | 27 +--
.../server}/service/impl/AppServiceImpl.java | 44 ++---
.../server/service/impl}/CatalogImpl.java | 70 ++++---
.../service/impl}/CollectServiceImpl.java | 13 +-
.../service/impl}/DatabaseServiceImpl.java | 32 ++--
.../service/impl}/DimensionServiceImpl.java | 61 +++---
.../service/impl}/DomainServiceImpl.java | 20 +-
.../service/impl}/MetricServiceImpl.java | 47 ++---
.../service/impl}/ModelRelaServiceImpl.java | 8 +-
.../service/impl}/ModelServiceImpl.java | 101 +++++-----
.../service/impl}/ViewInfoServiceImpl.java | 24 +--
.../server}/utils/DatabaseConverter.java | 12 +-
.../server}/utils/DimensionConverter.java | 27 +--
.../headless/server}/utils/DomainConvert.java | 12 +-
.../server}/utils/JdbcDataSourceUtils.java | 14 +-
.../server}/utils/MetricConverter.java | 36 ++--
.../server}/utils/ModelConverter.java | 48 ++---
.../server}/utils/NameCheckUtils.java | 2 +-
.../headless/server}/utils/SqlUtils.java | 14 +-
.../utils/SysTimeDimensionBuilder.java | 19 +-
.../application/ModelServiceImplTest.java | 63 ++++---
launchers/headless/pom.xml | 4 +-
launchers/standalone/pom.xml | 4 +-
.../supersonic/BenchMarkDemoDataLoader.java | 62 +++---
.../supersonic/HeadlessDemoLoader.java | 2 +-
.../supersonic/ModelDemoDataLoader.java | 78 ++++----
.../model/MetricServiceImplTest.java | 11 +-
352 files changed, 2296 insertions(+), 2675 deletions(-)
delete mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/api/rest/ApiQueryController.java
delete mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/api/service/ApiQueryService.java
delete mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/api/service/impl/ApiQueryServiceImpl.java
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/enums/AggOption.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/core}/enums/QueryOptMode.java (50%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeBackEnum.java => api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryTypeBack.java} (62%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/pojo/Cache.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/pojo/MetricTable.java (66%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/pojo/Param.java (92%)
create mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/SingleItemQueryResult.java
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/BatchDownloadReq.java (79%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/DownloadStructReq.java (78%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/ExplainSqlReq.java (59%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/ItemUseReq.java (90%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/MetaQueryApiReq.java (83%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/MetricReq.java (87%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/ParseSqlReq.java (79%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/QueryDimValueReq.java (81%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryApiReq.java => api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryItemReq.java} (65%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/QueryMultiStructReq.java (88%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/QueryS2SQLReq.java (89%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/request/QueryStructReq.java (98%)
create mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemQueryResultResp.java
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => api/src/main/java/com/tencent/supersonic/headless/common/core}/response/ItemUseResp.java (88%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/core}/response/SqlParserResp.java (89%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model/enums/AppStatusEnum.java => api/src/main/java/com/tencent/supersonic/headless/common/server/enums/AppStatus.java} (53%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model/enums/DataTypeEnum.java => api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DataType.java} (87%)
create mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DimensionType.java
create mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/IdentifyType.java
create mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/MetricType.java
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model/enums/ModelSourceTypeEnum.java => api/src/main/java/com/tencent/supersonic/headless/common/server/enums/ModelSourceType.java} (57%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeEnum.java => api/src/main/java/com/tencent/supersonic/headless/common/server/enums/QueryType.java} (57%)
create mode 100644 headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/SemanticType.java
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/AppConfig.java (88%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/Dim.java (96%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/DimValueMap.java (86%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/DimensionTimeTypeParams.java (81%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/DrillDownDimension.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/Entity.java (86%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/Identify.java (90%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/Item.java (87%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/ItemDateFilter.java (81%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/Measure.java (91%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/MetricQueryDefaultConfig.java (82%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/MetricTypeParams.java (77%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/ModelDetail.java (79%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/QueryResult.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/QueryStat.java (98%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/RelateDimension.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/pojo/SchemaItem.java (96%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/AppQueryReq.java (64%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/AppReq.java (81%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/DatabaseReq.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/DateInfoReq.java (94%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/DimensionReq.java (73%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/DomainReq.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/DomainUpdateReq.java (62%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/MetaBatchReq.java (68%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/MetricBaseReq.java (77%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/MetricReq.java (54%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/ModelReq.java (79%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/ModelSchemaFilterReq.java (75%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/PageDimensionReq.java (65%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/PageMetricReq.java (64%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/PageSchemaItemReq.java (89%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/SqlExecuteReq.java (91%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/request/ViewInfoReq.java (82%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/AppDetailResp.java (62%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/AppResp.java (75%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/DatabaseResp.java (95%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/DimSchemaResp.java (78%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/DimensionResp.java (76%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/DomainResp.java (83%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/ExplainResp.java (82%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/MeasureResp.java (86%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/MetricResp.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/MetricSchemaResp.java (71%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/ModelResp.java (78%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/ModelSchemaRelaResp.java (78%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/ModelSchemaResp.java (86%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => api/src/main/java/com/tencent/supersonic/headless/common/server}/response/QueryResultWithSchemaResp.java (64%)
delete mode 100644 headless/common/pom.xml
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/DimensionTypeEnum.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/IdentifyTypeEnum.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/MetricTypeEnum.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/OperatorEnum.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/SemanticTypeEnum.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DatasourceType.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/ApiQuerySingleResult.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Materialization.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryApiPreviewReq.java
delete mode 100644 headless/common/src/main/java/com/tencent/supersonic/headless/common/query/response/ApiQueryResultResp.java
rename headless/{query => core}/pom.xml (96%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => core/src/main/java/com/tencent/supersonic/headless/core}/annotation/ApiHeaderCheck.java (83%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/annotation/S2SQLDataPermission.java (84%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/annotation/StructDataPermission.java (83%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => core/src/main/java/com/tencent/supersonic/headless/core}/aspect/ApiHeaderCheckAspect.java (85%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query/service/AuthCommonService.java => core/src/main/java/com/tencent/supersonic/headless/core/aspect/AuthCheckBaseAspect.java} (94%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query/utils => core/src/main/java/com/tencent/supersonic/headless/core/aspect}/DimValueAspect.java (93%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/aspect/S2SQLDataAspect.java (79%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/aspect/StructDataAspect.java (79%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/executor/JdbcExecutor.java (73%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/executor/QueryExecutor.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/optimizer/DetailQuery.java (87%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/optimizer/QueryOptimizer.java
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/HeadlessConverter.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/QueryParser.java (90%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/SqlParser.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/CalciteSqlParser.java (72%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/Configuration.java (94%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/HeadlessSchemaManager.java (89%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/planner/AggPlanner.java (79%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/planner/MaterializationPlanner.java (92%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/calcite/planner/Planner.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/Constants.java (93%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/DataSource.java (62%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/DataType.java (92%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/Dimension.java (72%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/DimensionTimeTypeParams.java (66%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/HeadlessModel.java (88%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/Identify.java (81%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/JoinRelation.java (81%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/Materialization.java (94%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/MaterializationElement.java (73%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/Measure.java (85%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/Metric.java (67%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/MetricTypeParams.java (68%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/s2sql/TimeRange.java (66%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/DataSourceTable.java (98%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/HeadlessSchema.java (86%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/HeadlessSqlConformance.java (98%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/HeadlessSqlTypeFactoryImpl.java (85%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/RuntimeOptions.java (76%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/SchemaBuilder.java (94%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/calcite/schema/SemanticItem.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/SemanticSqlDialect.java (97%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/schema/ViewExpanderImpl.java (86%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/calcite/sql/Optimization.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/Renderer.java (81%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/S2SQLSqlValidatorImpl.java (88%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/TableView.java (92%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/AggFunctionNode.java (90%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/DataSourceNode.java (95%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/DimensionNode.java (91%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/ExtendNode.java (94%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/FilterNode.java (92%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/IdentifyNode.java (86%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/JoinNode.java (75%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/MeasureNode.java (93%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/MetricNode.java (86%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/SemanticNode.java (97%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/node/extend/LateralViewExplodeNode.java (93%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/optimizer/FilterToGroupScanRule.java (96%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/render/FilterRender.java (73%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/render/JoinRender.java (85%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/render/OutputRender.java (74%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/calcite/sql/render/SourceRender.java (89%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/convert/CalculateAggConverter.java (96%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/convert/DefaultDimValueConverter.java (77%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/convert/MetricCheckConverter.java (81%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/convert/ParserDefaultConverter.java (84%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/convert/QueryReqConverter.java (88%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/parser/convert/ZipperModelConverter.java (76%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/persistence/mapper/StatMapper.java (52%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/query => core/src/main/java/com/tencent/supersonic/headless/core/persistence}/pojo/DataDownload.java (73%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/persistence/pojo/ParserSvrResponse.java (88%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/persistence/pojo/QueryStatement.java (75%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/persistence/repository/StatRepository.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/persistence/repository/StatRepositoryImpl.java (90%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/rest/QueryController.java (71%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/rest/SchemaController.java (78%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/service/DownloadService.java (66%)
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/service/HeadlessQueryEngine.java
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/service/QueryService.java
create mode 100644 headless/core/src/main/java/com/tencent/supersonic/headless/core/service/SchemaService.java
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query/service => core/src/main/java/com/tencent/supersonic/headless/core/service/impl}/DownloadServiceImpl.java (91%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query/service => core/src/main/java/com/tencent/supersonic/headless/core/service/impl}/HeadlessQueryEngineImpl.java (77%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query/service => core/src/main/java/com/tencent/supersonic/headless/core/service/impl}/QueryServiceImpl.java (62%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query/service => core/src/main/java/com/tencent/supersonic/headless/core/service/impl}/SchemaServiceImpl.java (77%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/utils/ComponentFactory.java (73%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/utils/DataTransformUtils.java (98%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/utils/QueryStructUtils.java (93%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/utils/QueryUtils.java (91%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/utils/SqlGenerateUtils.java (96%)
rename headless/{query/src/main/java/com/tencent/supersonic/headless/query => core/src/main/java/com/tencent/supersonic/headless/core}/utils/StatUtils.java (84%)
rename headless/{query => core}/src/main/resources/mapper/StatMapper.xml (93%)
rename headless/{query => core}/src/test/java/com/tencent/supersonic/headless/query/domain/calcite/HeadlessParserServiceTest.java (90%)
rename headless/{query => core}/src/test/java/com/tencent/supersonic/headless/query/domain/calcite/MaterializationQueryTest.java (83%)
rename headless/{query => core}/src/test/java/com/tencent/supersonic/headless/query/service/DownloadServiceImplTest.java (86%)
rename headless/{query => core}/src/test/java/com/tencent/supersonic/headless/query/utils/DataTransformUtilsTest.java (95%)
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/Catalog.java
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/pojo/Datasource.java
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/pojo/Dimension.java
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/pojo/Domain.java
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/pojo/Metric.java
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/pojo/Model.java
delete mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/repository/DateInfoRepository.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/executor/QueryExecutor.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/optimizer/QueryOptimizer.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/HeadlessConverter.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/SqlParser.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/planner/Planner.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/schema/SemanticItem.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/sql/Optimization.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/persistence/repository/StatRepository.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/service/HeadlessQueryEngine.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/service/QueryService.java
delete mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/service/SchemaService.java
rename headless/{model => server}/pom.xml (89%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain/adaptor => server/src/main/java/com/tencent/supersonic/headless/server}/engineadapter/ClickHouseAdaptor.java (96%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain/adaptor => server/src/main/java/com/tencent/supersonic/headless/server}/engineadapter/EngineAdaptor.java (82%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain/adaptor => server/src/main/java/com/tencent/supersonic/headless/server}/engineadapter/EngineAdaptorFactory.java (80%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain/adaptor => server/src/main/java/com/tencent/supersonic/headless/server}/engineadapter/H2Adaptor.java (96%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain/adaptor => server/src/main/java/com/tencent/supersonic/headless/server}/engineadapter/MysqlAdaptor.java (96%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/listener/MetaEmbeddingListener.java (97%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/manager/DimensionYamlManager.java (56%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/manager/MetricYamlManager.java (60%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain/manager/DatasourceYamlManager.java => server/src/main/java/com/tencent/supersonic/headless/server/manager/ModelYamlManager.java} (50%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => server/src/main/java/com/tencent/supersonic/headless/server}/persistence/dataobject/AppDO.java (90%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/CollectDO.java (94%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/DatabaseDO.java (98%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/DatabaseDOExample.java (99%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/DateInfoDO.java (83%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/DimensionDO.java (92%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/DomainDO.java (94%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/DomainDOExample.java (99%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/MetricDO.java (95%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/MetricQueryDefaultConfigDO.java (90%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/ModelDO.java (93%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/ModelRelaDO.java (86%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/ViewInfoDO.java (90%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/dataobject/ViewInfoDOExample.java (99%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => server/src/main/java/com/tencent/supersonic/headless/server}/persistence/mapper/AppMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/CollectMapper.java (65%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/DatabaseDOMapper.java (82%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/DateInfoMapper.java (51%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/DimensionDOCustomMapper.java (62%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/DimensionDOMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/DomainDOMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/MetricDOCustomMapper.java (60%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/MetricDOMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/MetricQueryDefaultConfigDOMapper.java (56%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/ModelDOCustomMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/ModelDOMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/ModelRelaDOMapper.java (55%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/mapper/ViewInfoDOMapper.java (54%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/repository/DatabaseRepository.java (64%)
create mode 100644 headless/server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/DateInfoRepository.java
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/repository/DimensionRepository.java (64%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/repository/DomainRepository.java (64%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/repository/MetricRepository.java (65%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/repository/ModelRepository.java (57%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/persistence}/repository/ViewInfoRepository.java (65%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/DatabaseRepositoryImpl.java (70%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/DateInfoRepositoryImpl.java (83%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/DimensionRepositoryImpl.java (73%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/DomainRepositoryImpl.java (75%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/MetricRepositoryImpl.java (78%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/ModelRepositoryImpl.java (79%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/infrastructure/repository => server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl}/ViewInfoRepositoryImpl.java (77%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/ConnectInfo.java (74%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/Database.java (90%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/DatasourceQueryEnum.java (81%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/DimensionFilter.java (65%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/EngineTypeEnum.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/JdbcDataSource.java (89%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/MetaFilter.java (89%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/MetricFilter.java (63%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/pojo/ModelFilter.java (73%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/DataModelYamlTpl.java (64%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/DimensionTimeTypeParamsTpl.java (70%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/DimensionYamlTpl.java (84%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/IdentifyYamlTpl.java (82%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/MeasureYamlTpl.java (85%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/MetricTypeParamsYamlTpl.java (73%)
rename headless/{common/src/main/java/com/tencent/supersonic/headless/common/model => server/src/main/java/com/tencent/supersonic/headless/server/pojo}/yaml/MetricYamlTpl.java (78%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => server/src/main/java/com/tencent/supersonic/headless/server}/rest/AppController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/CollectController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/DatabaseController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/DimensionController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/DomainController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/MetricController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/ModelController.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/ModelRelaController.java (92%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model => server/src/main/java/com/tencent/supersonic/headless/server}/rest/ViewInfoController.java (82%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => server/src/main/java/com/tencent/supersonic/headless/server}/service/AppService.java (59%)
create mode 100644 headless/server/src/main/java/com/tencent/supersonic/headless/server/service/Catalog.java
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/CollectService.java (70%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/DatabaseService.java (71%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/DimensionService.java (65%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/DomainService.java (74%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/MetricService.java (70%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/ModelRelaService.java (88%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server/service}/ModelService.java (62%)
rename headless/{api/src/main/java/com/tencent/supersonic/headless/api => server/src/main/java/com/tencent/supersonic/headless/server}/service/impl/AppServiceImpl.java (85%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/CatalogImpl.java (62%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/CollectServiceImpl.java (84%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/DatabaseServiceImpl.java (84%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/DimensionServiceImpl.java (89%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/DomainServiceImpl.java (93%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/MetricServiceImpl.java (91%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/ModelRelaServiceImpl.java (89%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/ModelServiceImpl.java (86%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/application => server/src/main/java/com/tencent/supersonic/headless/server/service/impl}/ViewInfoServiceImpl.java (77%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/DatabaseConverter.java (86%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/DimensionConverter.java (78%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/DomainConvert.java (84%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/JdbcDataSourceUtils.java (92%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/MetricConverter.java (75%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/ModelConverter.java (84%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/NameCheckUtils.java (84%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/SqlUtils.java (94%)
rename headless/{model/src/main/java/com/tencent/supersonic/headless/model/domain => server/src/main/java/com/tencent/supersonic/headless/server}/utils/SysTimeDimensionBuilder.java (83%)
rename headless/{model => server}/src/test/java/com/tencent/supersonic/headless/model/application/ModelServiceImplTest.java (81%)
diff --git a/chat/api/pom.xml b/chat/api/pom.xml
index 99e66fef1..90a96f0bb 100644
--- a/chat/api/pom.xml
+++ b/chat/api/pom.xml
@@ -23,7 +23,7 @@
com.tencent.supersonic
- headless-common
+ headless-api
${project.version}
compile
diff --git a/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java b/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java
index e5a3c956a..feca6d6fd 100644
--- a/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java
+++ b/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java
@@ -4,20 +4,20 @@ import com.github.pagehelper.PageInfo;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.pojo.ModelSchema;
import com.tencent.supersonic.common.pojo.enums.AuthType;
-import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
-import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
-import com.tencent.supersonic.headless.common.model.response.DomainResp;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.ExplainResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.common.model.response.ModelResp;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.ExplainSqlReq;
-import com.tencent.supersonic.headless.common.query.request.QueryDimValueReq;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.request.PageDimensionReq;
+import com.tencent.supersonic.headless.common.server.request.PageMetricReq;
+import com.tencent.supersonic.headless.common.server.response.DomainResp;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.response.ExplainResp;
+import com.tencent.supersonic.headless.common.server.response.MetricResp;
+import com.tencent.supersonic.headless.common.server.response.ModelResp;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.common.core.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.util.List;
diff --git a/chat/core/pom.xml b/chat/core/pom.xml
index 3e746a058..221cae0bb 100644
--- a/chat/core/pom.xml
+++ b/chat/core/pom.xml
@@ -77,12 +77,12 @@
com.tencent.supersonic
- headless-common
+ headless-api
${project.version}
com.tencent.supersonic
- headless-query
+ headless-core
${project.version}
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java b/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java
index e181374a2..867bdd642 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java
@@ -1,8 +1,8 @@
package com.tencent.supersonic.chat.config;
-import com.tencent.supersonic.headless.common.model.response.DimSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.DimSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.MetricSchemaResp;
import java.util.List;
import lombok.Data;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java
index 604623ce8..c4f9f9af8 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java
@@ -9,20 +9,20 @@ import com.tencent.supersonic.common.util.embedding.Retrieval;
import com.tencent.supersonic.common.util.embedding.RetrieveQuery;
import com.tencent.supersonic.common.util.embedding.RetrieveQueryResult;
import com.tencent.supersonic.common.util.embedding.S2EmbeddingStore;
+import com.tencent.supersonic.headless.server.listener.MetaEmbeddingListener;
import com.tencent.supersonic.knowledge.dictionary.EmbeddingResult;
-import com.tencent.supersonic.headless.model.domain.listener.MetaEmbeddingListener;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* EmbeddingMatchStrategy uses vector database to perform
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java
index 7521ce98b..326847340 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java
@@ -23,8 +23,8 @@ import com.tencent.supersonic.common.pojo.enums.DataFormatTypeEnum;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
import com.tencent.supersonic.common.util.DateUtils;
import com.tencent.supersonic.knowledge.service.SchemaService;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java b/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java
index 126c4941e..3c1c66555 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java
@@ -12,7 +12,7 @@ import com.tencent.supersonic.common.util.embedding.Retrieval;
import com.tencent.supersonic.common.util.embedding.RetrieveQuery;
import com.tencent.supersonic.common.util.embedding.RetrieveQueryResult;
import com.tencent.supersonic.common.util.embedding.S2EmbeddingStore;
-import com.tencent.supersonic.headless.model.domain.listener.MetaEmbeddingListener;
+import com.tencent.supersonic.headless.server.listener.MetaEmbeddingListener;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java
index cd61070aa..8eb24d30b 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java
@@ -15,11 +15,11 @@ import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.knowledge.service.SchemaService;
-import com.tencent.supersonic.headless.common.model.enums.QueryTypeEnum;
-import com.tencent.supersonic.headless.common.model.response.ExplainResp;
-import com.tencent.supersonic.headless.common.query.request.ExplainSqlReq;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.enums.QueryType;
+import com.tencent.supersonic.headless.common.server.response.ExplainResp;
+import com.tencent.supersonic.headless.common.core.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -48,7 +48,7 @@ public abstract class BaseSemanticQuery implements SemanticQuery, Serializable {
if (StringUtils.isNotBlank(sqlInfo.getCorrectS2SQL())) {
//sql
explainSqlReq = ExplainSqlReq.builder()
- .queryTypeEnum(QueryTypeEnum.SQL)
+ .queryTypeEnum(QueryType.SQL)
.queryReq(QueryReqBuilder.buildS2SQLReq(
sqlInfo.getCorrectS2SQL(), parseInfo.getModel().getModelIds()
))
@@ -56,7 +56,7 @@ public abstract class BaseSemanticQuery implements SemanticQuery, Serializable {
} else {
//struct
explainSqlReq = ExplainSqlReq.builder()
- .queryTypeEnum(QueryTypeEnum.STRUCT)
+ .queryTypeEnum(QueryType.STRUCT)
.queryReq(QueryReqBuilder.buildStructReq(parseInfo))
.build();
}
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java
index c584d83d0..eefb7d413 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java
@@ -18,8 +18,8 @@ import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java
index ece102ee0..cf95a3ad4 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java
@@ -10,8 +10,8 @@ import com.tencent.supersonic.chat.query.llm.LLMSemanticQuery;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.chat.utils.QueryReqBuilder;
import com.tencent.supersonic.common.pojo.QueryColumn;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java
index 67839be5c..1ba521ea1 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java
@@ -23,9 +23,9 @@ import com.tencent.supersonic.common.pojo.ModelCluster;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java
index b79c98d86..f9e838b9c 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java
@@ -9,8 +9,8 @@ import com.tencent.supersonic.chat.api.pojo.response.QueryResult;
import com.tencent.supersonic.common.pojo.enums.FilterType;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.Filter;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java
index 4c262c0e0..bde524c21 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java
@@ -18,7 +18,7 @@ import com.tencent.supersonic.chat.service.ConfigService;
import com.tencent.supersonic.chat.service.SemanticService;
import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java
index e55a6cf1d..b86422b52 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java
@@ -10,8 +10,8 @@ import com.tencent.supersonic.chat.api.pojo.response.QueryResult;
import com.tencent.supersonic.common.pojo.Filter;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterType;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java b/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java
index 73e49f86c..928b765e2 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java
@@ -12,12 +12,12 @@ import com.tencent.supersonic.chat.api.pojo.response.ChatConfigRichResp;
import com.tencent.supersonic.chat.service.ConfigService;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.common.pojo.enums.AuthType;
-import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
-import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.DomainResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.common.model.response.ModelResp;
+import com.tencent.supersonic.headless.common.server.request.PageDimensionReq;
+import com.tencent.supersonic.headless.common.server.request.PageMetricReq;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.response.DomainResp;
+import com.tencent.supersonic.headless.common.server.response.MetricResp;
+import com.tencent.supersonic.headless.common.server.response.ModelResp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java
index 2f5630933..b18c5183d 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java
@@ -41,8 +41,8 @@ import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.RatioOverType;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateUtils;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import com.tencent.supersonic.knowledge.service.SchemaService;
import java.text.DecimalFormat;
import java.time.DayOfWeek;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java
index 6e239e7d7..79168e383 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java
@@ -31,12 +31,12 @@ import com.tencent.supersonic.chat.utils.ChatConfigHelper;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.chat.utils.VisibilityEvent;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.model.domain.DimensionService;
-import com.tencent.supersonic.headless.model.domain.MetricService;
-import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.response.MetricResp;
+import com.tencent.supersonic.headless.server.pojo.MetaFilter;
+import com.tencent.supersonic.headless.server.service.DimensionService;
+import com.tencent.supersonic.headless.server.service.MetricService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java
index 6dbcaaf00..ca6582a8e 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java
@@ -16,7 +16,7 @@ import com.tencent.supersonic.chat.service.PluginService;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.common.pojo.enums.AuthType;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.headless.common.model.response.ModelResp;
+import com.tencent.supersonic.headless.common.server.response.ModelResp;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java
index 3aea43859..6979bf62f 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java
@@ -59,8 +59,8 @@ import com.tencent.supersonic.knowledge.dictionary.MultiCustomDictionary;
import com.tencent.supersonic.knowledge.service.SearchService;
import com.tencent.supersonic.knowledge.utils.HanlpHelper;
import com.tencent.supersonic.knowledge.utils.NatureHelper;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java
index 3718744e4..5dbbaaeeb 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java
@@ -14,8 +14,8 @@ import com.tencent.supersonic.chat.persistence.dataobject.DimValueDO;
import com.tencent.supersonic.chat.service.ConfigService;
import com.tencent.supersonic.knowledge.dictionary.DictUpdateMode;
import com.tencent.supersonic.knowledge.dictionary.DimValue2DictCommand;
-import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.request.PageDimensionReq;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java
index 0e6110893..30839342b 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java
@@ -18,8 +18,8 @@ import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java
index 556eb48b3..8e85117f7 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java
@@ -13,9 +13,9 @@ import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
diff --git a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java
index e0b5a89d1..6d49d1a9b 100644
--- a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java
+++ b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java
@@ -1,14 +1,14 @@
package com.tencent.supersonic.chat.test.context;
-import com.tencent.supersonic.chat.persistence.repository.impl.ChatContextRepositoryImpl;
-import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.chat.persistence.mapper.ChatContextMapper;
-import com.tencent.supersonic.knowledge.semantic.RemoteSemanticInterpreter;
+import com.tencent.supersonic.chat.persistence.repository.impl.ChatContextRepositoryImpl;
import com.tencent.supersonic.chat.test.ChatBizLauncher;
-import com.tencent.supersonic.headless.model.domain.DimensionService;
-import com.tencent.supersonic.headless.model.domain.MetricService;
-import com.tencent.supersonic.headless.model.domain.ModelService;
-import com.tencent.supersonic.headless.query.service.QueryService;
+import com.tencent.supersonic.chat.utils.ComponentFactory;
+import com.tencent.supersonic.headless.core.service.QueryService;
+import com.tencent.supersonic.headless.server.service.DimensionService;
+import com.tencent.supersonic.headless.server.service.MetricService;
+import com.tencent.supersonic.headless.server.service.ModelService;
+import com.tencent.supersonic.knowledge.semantic.RemoteSemanticInterpreter;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java
index d77780e47..ff7a17745 100644
--- a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java
+++ b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java
@@ -1,9 +1,5 @@
package com.tencent.supersonic.chat.test.context;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.Mockito.when;
-
import com.tencent.supersonic.chat.api.pojo.ChatContext;
import com.tencent.supersonic.chat.api.pojo.response.ChatConfigResp;
import com.tencent.supersonic.chat.config.DefaultMetric;
@@ -15,24 +11,29 @@ import com.tencent.supersonic.chat.service.ChatService;
import com.tencent.supersonic.chat.service.QueryService;
import com.tencent.supersonic.chat.service.impl.ConfigServiceImpl;
import com.tencent.supersonic.common.pojo.Constants;
-import com.tencent.supersonic.headless.common.model.response.DimSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.common.model.response.MetricSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
-import com.tencent.supersonic.headless.model.domain.DimensionService;
-import com.tencent.supersonic.headless.model.domain.MetricService;
-import com.tencent.supersonic.headless.model.domain.ModelService;
-import com.tencent.supersonic.headless.model.domain.pojo.DimensionFilter;
-import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import com.tencent.supersonic.headless.common.server.response.DimSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.response.MetricResp;
+import com.tencent.supersonic.headless.common.server.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.server.pojo.DimensionFilter;
+import com.tencent.supersonic.headless.server.pojo.MetaFilter;
+import com.tencent.supersonic.headless.server.service.DimensionService;
+import com.tencent.supersonic.headless.server.service.MetricService;
+import com.tencent.supersonic.headless.server.service.ModelService;
import org.mockito.Mockito;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.when;
+
@Configuration
public class MockBeansConfiguration {
diff --git a/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java b/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java
index ffd630301..f2c9283e6 100644
--- a/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java
+++ b/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java
@@ -10,8 +10,8 @@ import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateModeUtils;
import com.tencent.supersonic.common.util.SqlFilterUtils;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
diff --git a/chat/knowledge/pom.xml b/chat/knowledge/pom.xml
index 081ef2f6f..197a134e7 100644
--- a/chat/knowledge/pom.xml
+++ b/chat/knowledge/pom.xml
@@ -100,7 +100,7 @@
com.tencent.supersonic
- headless-query
+ headless-core
${project.version}
compile
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java
index cb7c4a7c7..1943cc0b7 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java
@@ -4,7 +4,7 @@ import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
import com.tencent.supersonic.chat.api.pojo.ModelSchema;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java
index b392d6d48..8022a70b3 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java
@@ -5,25 +5,25 @@ import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.enums.AuthType;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.headless.common.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
-import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.DomainResp;
-import com.tencent.supersonic.headless.common.model.response.ExplainResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.common.model.response.ModelResp;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.ExplainSqlReq;
-import com.tencent.supersonic.headless.common.query.request.QueryDimValueReq;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
-import com.tencent.supersonic.headless.model.domain.DimensionService;
-import com.tencent.supersonic.headless.model.domain.MetricService;
-import com.tencent.supersonic.headless.query.service.QueryService;
-import com.tencent.supersonic.headless.query.service.SchemaService;
+import com.tencent.supersonic.headless.common.server.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.common.server.request.PageDimensionReq;
+import com.tencent.supersonic.headless.common.server.request.PageMetricReq;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.response.DomainResp;
+import com.tencent.supersonic.headless.common.server.response.ExplainResp;
+import com.tencent.supersonic.headless.common.server.response.MetricResp;
+import com.tencent.supersonic.headless.common.server.response.ModelResp;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.common.core.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
+import com.tencent.supersonic.headless.core.service.QueryService;
+import com.tencent.supersonic.headless.core.service.SchemaService;
+import com.tencent.supersonic.headless.server.service.DimensionService;
+import com.tencent.supersonic.headless.server.service.MetricService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java
index 7584b7344..7b79b1c14 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java
@@ -6,12 +6,12 @@ import com.tencent.supersonic.chat.api.pojo.RelatedSchemaElement;
import com.tencent.supersonic.chat.api.pojo.SchemaElement;
import com.tencent.supersonic.chat.api.pojo.SchemaElementType;
import com.tencent.supersonic.chat.api.pojo.SchemaValueMap;
-import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
-import com.tencent.supersonic.headless.common.model.pojo.RelateDimension;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
-import com.tencent.supersonic.headless.common.model.response.DimSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.MetricSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.common.server.pojo.DimValueMap;
+import com.tencent.supersonic.headless.common.server.pojo.RelateDimension;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.response.DimSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java
index b2e53050d..c230b247a 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java
@@ -19,21 +19,21 @@ import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.common.util.S2ThreadContext;
import com.tencent.supersonic.common.util.ThreadContext;
-import com.tencent.supersonic.headless.common.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
-import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.DomainResp;
-import com.tencent.supersonic.headless.common.model.response.ExplainResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.common.model.response.ModelResp;
-import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.ExplainSqlReq;
-import com.tencent.supersonic.headless.common.query.request.QueryDimValueReq;
-import com.tencent.supersonic.headless.common.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.headless.common.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.common.server.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.common.server.request.PageDimensionReq;
+import com.tencent.supersonic.headless.common.server.request.PageMetricReq;
+import com.tencent.supersonic.headless.common.server.response.DimensionResp;
+import com.tencent.supersonic.headless.common.server.response.DomainResp;
+import com.tencent.supersonic.headless.common.server.response.ExplainResp;
+import com.tencent.supersonic.headless.common.server.response.MetricResp;
+import com.tencent.supersonic.headless.common.server.response.ModelResp;
+import com.tencent.supersonic.headless.common.server.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.common.core.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.common.core.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.common.core.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import java.net.URI;
import java.net.URL;
import java.util.HashMap;
diff --git a/headless/api/pom.xml b/headless/api/pom.xml
index 2d3a590f4..386ec4067 100644
--- a/headless/api/pom.xml
+++ b/headless/api/pom.xml
@@ -1,28 +1,69 @@
- 4.0.0
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
com.tencent.supersonic
headless
${revision}
+ 4.0.0
headless-api
-
- 8
- 8
- UTF-8
-
-
+
+
+
+
+
+
+ com.clickhouse
+ clickhouse-jdbc
+ ${clickhouse.jdbc.version}
+
+ all
+
+
com.tencent.supersonic
- headless-query
+ common
+ ${project.version}
+
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+ jakarta.validation
+ jakarta.validation-api
+
+
+ org.springframework
+ spring-core
+ ${spring.version}
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+ compile
+
+
+ commons-codec
+ commons-codec
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ ${spring.version}
+
+
+ com.tencent.supersonic
+ auth-api
${project.version}
-
-
\ No newline at end of file
+
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/rest/ApiQueryController.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/rest/ApiQueryController.java
deleted file mode 100644
index b6e01a0e2..000000000
--- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/rest/ApiQueryController.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.tencent.supersonic.headless.api.rest;
-
-import com.tencent.supersonic.headless.api.service.ApiQueryService;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.MetaQueryApiReq;
-import com.tencent.supersonic.headless.common.query.request.QueryApiReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
-import com.tencent.supersonic.headless.common.query.response.ApiQueryResultResp;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-
-@RestController
-@RequestMapping("/api/semantic/apiQuery")
-@Slf4j
-public class ApiQueryController {
-
- @Autowired
- private ApiQueryService apiQueryService;
-
- @PostMapping("/metricDataQueryById")
- public ApiQueryResultResp metricDataQueryById(@RequestBody QueryApiReq queryApiReq,
- HttpServletRequest request) throws Exception {
- return apiQueryService.metricDataQueryById(queryApiReq, request);
- }
-
- @PostMapping("/metaQuery")
- public Object metaQuery(@RequestBody MetaQueryApiReq metaQueryApiReq, HttpServletRequest request) {
- return apiQueryService.metaQuery(metaQueryApiReq, request);
- }
-
- @PostMapping("/dataQueryByStruct")
- public QueryResultWithSchemaResp dataQueryByStruct(QueryStructReq queryStructReq,
- HttpServletRequest request) throws Exception {
- return apiQueryService.dataQueryByStruct(queryStructReq, request);
- }
-
-}
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/service/ApiQueryService.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/service/ApiQueryService.java
deleted file mode 100644
index a171a9ebf..000000000
--- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/service/ApiQueryService.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.tencent.supersonic.headless.api.service;
-
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.request.MetaQueryApiReq;
-import com.tencent.supersonic.headless.common.query.request.QueryApiReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
-import com.tencent.supersonic.headless.common.query.response.ApiQueryResultResp;
-import com.tencent.supersonic.headless.api.annotation.ApiHeaderCheck;
-
-import javax.servlet.http.HttpServletRequest;
-/**
- * Api service for other apps to query meta info and data
- */
-public interface ApiQueryService {
-
- /**
- * Query the metric data based on the metric id.
- * The data will be drilled down based on the information configured when applying for the APP.
- * @param queryApiReq
- * @param request
- * @return
- * @throws Exception
- */
- @ApiHeaderCheck
- ApiQueryResultResp metricDataQueryById(QueryApiReq queryApiReq, HttpServletRequest request) throws Exception;
-
- /**
- * Query data based on structure
- * @param queryStructReq
- * @param request
- * @return
- * @throws Exception
- */
- @ApiHeaderCheck
- QueryResultWithSchemaResp dataQueryByStruct(QueryStructReq queryStructReq,
- HttpServletRequest request) throws Exception;
-
- /**
- * Query the meta information of the metric, dimension and tag
- * @param metaQueryApiReq
- * @param request
- * @return
- */
- @ApiHeaderCheck
- Object metaQuery(MetaQueryApiReq metaQueryApiReq, HttpServletRequest request);
-
-}
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/service/impl/ApiQueryServiceImpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/service/impl/ApiQueryServiceImpl.java
deleted file mode 100644
index 11c04e1d7..000000000
--- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/service/impl/ApiQueryServiceImpl.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package com.tencent.supersonic.headless.api.service.impl;
-
-import com.google.common.collect.Lists;
-import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.common.pojo.Aggregator;
-import com.tencent.supersonic.common.pojo.Constants;
-import com.tencent.supersonic.common.pojo.DateConf;
-import com.tencent.supersonic.common.pojo.enums.ApiItemType;
-import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
-import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
-import com.tencent.supersonic.headless.api.aspect.ApiHeaderCheckAspect;
-import com.tencent.supersonic.headless.api.service.ApiQueryService;
-import com.tencent.supersonic.headless.api.service.AppService;
-import com.tencent.supersonic.headless.common.model.pojo.Item;
-import com.tencent.supersonic.headless.common.model.response.AppDetailResp;
-import com.tencent.supersonic.headless.common.model.response.DimensionResp;
-import com.tencent.supersonic.headless.common.model.response.MetricResp;
-import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.headless.common.query.pojo.ApiQuerySingleResult;
-import com.tencent.supersonic.headless.common.query.request.MetaQueryApiReq;
-import com.tencent.supersonic.headless.common.query.request.QueryApiReq;
-import com.tencent.supersonic.headless.common.query.request.QueryStructReq;
-import com.tencent.supersonic.headless.common.query.response.ApiQueryResultResp;
-import com.tencent.supersonic.headless.model.domain.DimensionService;
-import com.tencent.supersonic.headless.model.domain.MetricService;
-import com.tencent.supersonic.headless.model.domain.pojo.DimensionFilter;
-import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
-import com.tencent.supersonic.headless.api.annotation.ApiHeaderCheck;
-import com.tencent.supersonic.headless.query.service.QueryService;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-
-@Service
-public class ApiQueryServiceImpl implements ApiQueryService {
-
- private static final long result_size = 10000;
-
- private AppService appService;
-
- private MetricService metricService;
-
- private DimensionService dimensionService;
-
- private QueryService queryService;
-
- public ApiQueryServiceImpl(AppService appService,
- MetricService metricService,
- DimensionService dimensionService,
- QueryService queryService) {
- this.appService = appService;
- this.metricService = metricService;
- this.dimensionService = dimensionService;
- this.queryService = queryService;
- }
-
- @Override
- @ApiHeaderCheck
- public ApiQueryResultResp metricDataQueryById(QueryApiReq queryApiReq,
- HttpServletRequest request) throws Exception {
- AppDetailResp appDetailResp = getAppDetailResp(request);
- authCheck(appDetailResp, queryApiReq.getIds(), ApiItemType.METRIC);
- List results = Lists.newArrayList();
- Map map = appDetailResp.getConfig().getItems().stream()
- .collect(Collectors.toMap(Item::getId, i -> i));
- for (Long id : queryApiReq.getIds()) {
- Item item = map.get(id);
- ApiQuerySingleResult apiQuerySingleResult = dataQuery(appDetailResp.getId(),
- item, queryApiReq.getDateConf());
- results.add(apiQuerySingleResult);
- }
- return ApiQueryResultResp.builder().results(results).build();
- }
-
- @Override
- @ApiHeaderCheck
- public QueryResultWithSchemaResp dataQueryByStruct(QueryStructReq queryStructReq,
- HttpServletRequest request) throws Exception {
- AppDetailResp appDetailResp = getAppDetailResp(request);
- structAuthCheck(appDetailResp, queryStructReq);
- return queryService.queryByStruct(queryStructReq, User.getAppUser(appDetailResp.getId()));
- }
-
- @Override
- @ApiHeaderCheck
- public Object metaQuery(MetaQueryApiReq metaQueryApiReq, HttpServletRequest request) {
- AppDetailResp appDetailResp = getAppDetailResp(request);
- MetaFilter metaFilter = new MetaFilter();
- metaFilter.setIds(metaQueryApiReq.getIds());
- if (ApiItemType.METRIC.equals(metaQueryApiReq.getType())) {
- authCheck(appDetailResp, metaQueryApiReq.getIds(), ApiItemType.METRIC);
- return metricService.getMetrics(metaFilter);
- } else if (ApiItemType.DIMENSION.equals(metaQueryApiReq.getType())) {
- authCheck(appDetailResp, metaQueryApiReq.getIds(), ApiItemType.DIMENSION);
- return dimensionService.getDimensions(metaFilter);
- } else if (ApiItemType.TAG.equals(metaQueryApiReq.getType())) {
- throw new InvalidArgumentException("标签元数据类型正在支持中");
- }
- throw new InvalidArgumentException("不支持的元数据类型:" + metaQueryApiReq.getType());
- }
-
- private ApiQuerySingleResult dataQuery(Integer appId, Item item, DateConf dateConf) throws Exception {
- MetricResp metricResp = metricService.getMetric(item.getId());
- List- items = item.getRelateItems();
- List dimensionResps = Lists.newArrayList();
- if (!CollectionUtils.isEmpty(items)) {
- List ids = items.stream().map(Item::getId).collect(Collectors.toList());
- DimensionFilter dimensionFilter = new DimensionFilter();
- dimensionFilter.setIds(ids);
- dimensionResps = dimensionService.getDimensions(dimensionFilter);
- }
- QueryStructReq queryStructReq = buildQueryStructReq(dimensionResps, metricResp, dateConf);
- QueryResultWithSchemaResp queryResultWithSchemaResp =
- queryService.queryByStruct(queryStructReq, User.getAppUser(appId));
- ApiQuerySingleResult apiQuerySingleResult = new ApiQuerySingleResult();
- apiQuerySingleResult.setItem(item);
- apiQuerySingleResult.setResult(queryResultWithSchemaResp);
- return apiQuerySingleResult;
- }
-
- private AppDetailResp getAppDetailResp(HttpServletRequest request) {
- int appId = Integer.parseInt(request.getHeader(ApiHeaderCheckAspect.APPID));
- return appService.getApp(appId);
- }
-
- private void authCheck(AppDetailResp appDetailResp, List ids, ApiItemType type) {
- Set idsInApp = appDetailResp.getConfig().getAllItems().stream()
- .filter(item -> type.equals(item.getType())).map(Item::getId).collect(Collectors.toSet());
- if (!idsInApp.containsAll(ids)) {
- throw new InvalidArgumentException("查询范围超过应用申请范围, 请检查");
- }
- }
-
- private void structAuthCheck(AppDetailResp appDetailResp, QueryStructReq queryStructReq) {
- List metricIdsToQuery = metricService.getMetrics(new MetaFilter(queryStructReq.getModelIds()))
- .stream().filter(metricResp -> queryStructReq.getMetrics().contains(metricResp.getBizName()))
- .map(MetricResp::getId).collect(Collectors.toList());
- List dimensionIdsToQuery = dimensionService.getDimensions(new MetaFilter(queryStructReq.getModelIds()))
- .stream().filter(dimensionResp -> queryStructReq.getGroups().contains(dimensionResp.getBizName()))
- .map(DimensionResp::getId).collect(Collectors.toList());
- authCheck(appDetailResp, metricIdsToQuery, ApiItemType.METRIC);
- authCheck(appDetailResp, dimensionIdsToQuery, ApiItemType.DIMENSION);
- }
-
- private QueryStructReq buildQueryStructReq(List dimensionResps,
- MetricResp metricResp, DateConf dateConf) {
- Set modelIds = dimensionResps.stream().map(DimensionResp::getModelId).collect(Collectors.toSet());
- modelIds.add(metricResp.getModelId());
- QueryStructReq queryStructReq = new QueryStructReq();
- queryStructReq.setGroups(dimensionResps.stream()
- .map(DimensionResp::getBizName).collect(Collectors.toList()));
- queryStructReq.getGroups().add(0, getTimeDimension(dateConf));
- Aggregator aggregator = new Aggregator();
- aggregator.setColumn(metricResp.getBizName());
- queryStructReq.setAggregators(Lists.newArrayList(aggregator));
- queryStructReq.setDateInfo(dateConf);
- queryStructReq.setModelIds(modelIds);
- queryStructReq.setLimit(result_size);
- return queryStructReq;
- }
-
- private String getTimeDimension(DateConf dateConf) {
- if (Constants.MONTH.equals(dateConf.getPeriod())) {
- return TimeDimensionEnum.MONTH.getName();
- } else if (Constants.WEEK.equals(dateConf.getPeriod())) {
- return TimeDimensionEnum.WEEK.getName();
- } else {
- return TimeDimensionEnum.DAY.getName();
- }
- }
-
-}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/enums/AggOption.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/AggOption.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/enums/AggOption.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/AggOption.java
index 003ea09fe..748d36c12 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/enums/AggOption.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/AggOption.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.enums;
+package com.tencent.supersonic.headless.common.core.enums;
public enum AggOption {
NATIVE,
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryOptMode.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryOptMode.java
similarity index 50%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryOptMode.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryOptMode.java
index 6fa35243f..4138a3b15 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryOptMode.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryOptMode.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.enums;
+package com.tencent.supersonic.headless.common.core.enums;
public enum QueryOptMode {
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeBackEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryTypeBack.java
similarity index 62%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeBackEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryTypeBack.java
index 6f3d3054a..61a4069e0 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeBackEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/enums/QueryTypeBack.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.headless.common.model.enums;
+package com.tencent.supersonic.headless.common.core.enums;
-public enum QueryTypeBackEnum {
+public enum QueryTypeBack {
NORMAL("NORMAL", 0),
PRE_FLUSH("PRE_FLUSH", 1);
@@ -9,13 +9,13 @@ public enum QueryTypeBackEnum {
private String value;
private Integer state;
- QueryTypeBackEnum(String value, Integer state) {
+ QueryTypeBack(String value, Integer state) {
this.value = value;
this.state = state;
}
- public static QueryTypeBackEnum of(String src) {
- for (QueryTypeBackEnum operatorEnum : QueryTypeBackEnum.values()) {
+ public static QueryTypeBack of(String src) {
+ for (QueryTypeBack operatorEnum : QueryTypeBack.values()) {
if (src.toUpperCase().contains(operatorEnum.value)) {
return operatorEnum;
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Cache.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/Cache.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Cache.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/Cache.java
index 8103dd0eb..acd7018d8 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Cache.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/Cache.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.pojo;
+package com.tencent.supersonic.headless.common.core.pojo;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/MetricTable.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/MetricTable.java
similarity index 66%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/MetricTable.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/MetricTable.java
index 73a43a099..49829618c 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/MetricTable.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/MetricTable.java
@@ -1,9 +1,10 @@
-package com.tencent.supersonic.headless.common.query.pojo;
+package com.tencent.supersonic.headless.common.core.pojo;
-import com.tencent.supersonic.headless.common.query.enums.AggOption;
-import java.util.List;
+import com.tencent.supersonic.headless.common.core.enums.AggOption;
import lombok.Data;
+import java.util.List;
+
@Data
public class MetricTable {
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Param.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/Param.java
similarity index 92%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Param.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/Param.java
index 2fc5a7959..3dcedde15 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/pojo/Param.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/Param.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.headless.common.query.pojo;
-
-import javax.validation.constraints.NotBlank;
+package com.tencent.supersonic.headless.common.core.pojo;
import lombok.Data;
+import javax.validation.constraints.NotBlank;
+
@Data
public class Param {
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/SingleItemQueryResult.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/SingleItemQueryResult.java
new file mode 100644
index 000000000..efc0dbe46
--- /dev/null
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/pojo/SingleItemQueryResult.java
@@ -0,0 +1,15 @@
+package com.tencent.supersonic.headless.common.core.pojo;
+
+
+import com.tencent.supersonic.headless.common.server.pojo.Item;
+import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
+import lombok.Data;
+
+@Data
+public class SingleItemQueryResult {
+
+ private Item item;
+
+ private QueryResultWithSchemaResp result;
+
+}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/BatchDownloadReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/BatchDownloadReq.java
similarity index 79%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/BatchDownloadReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/BatchDownloadReq.java
index 91091f697..215a7e268 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/BatchDownloadReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/BatchDownloadReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/DownloadStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/DownloadStructReq.java
similarity index 78%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/DownloadStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/DownloadStructReq.java
index 1817490b2..949ecb4f6 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/DownloadStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/DownloadStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ExplainSqlReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ExplainSqlReq.java
similarity index 59%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ExplainSqlReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ExplainSqlReq.java
index 7b75b4738..0f041933b 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ExplainSqlReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ExplainSqlReq.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
-import com.tencent.supersonic.headless.common.model.enums.QueryTypeEnum;
+import com.tencent.supersonic.headless.common.server.enums.QueryType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -14,7 +14,7 @@ import lombok.ToString;
@NoArgsConstructor
public class ExplainSqlReq {
- private QueryTypeEnum queryTypeEnum;
+ private QueryType queryTypeEnum;
private T queryReq;
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ItemUseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ItemUseReq.java
similarity index 90%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ItemUseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ItemUseReq.java
index 085a2af42..3c768d9b6 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ItemUseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ItemUseReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import java.util.List;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/MetaQueryApiReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/MetaQueryApiReq.java
similarity index 83%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/MetaQueryApiReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/MetaQueryApiReq.java
index a9ab78db5..95a63fc5d 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/MetaQueryApiReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/MetaQueryApiReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.tencent.supersonic.common.pojo.enums.ApiItemType;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/MetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/MetricReq.java
similarity index 87%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/MetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/MetricReq.java
index b71bfb000..2e508a0ea 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/MetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/MetricReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.tencent.supersonic.common.pojo.ColumnOrder;
import java.util.List;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ParseSqlReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ParseSqlReq.java
similarity index 79%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ParseSqlReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ParseSqlReq.java
index 9668f5f6e..ea9fc2491 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/ParseSqlReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/ParseSqlReq.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
-import com.tencent.supersonic.headless.common.query.pojo.MetricTable;
+import com.tencent.supersonic.headless.common.core.pojo.MetricTable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryDimValueReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryDimValueReq.java
similarity index 81%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryDimValueReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryDimValueReq.java
index b28b172cc..ea28dd6d4 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryDimValueReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryDimValueReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryApiReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryItemReq.java
similarity index 65%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryApiReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryItemReq.java
index b06fdbf16..4a904f982 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryApiReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryItemReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
@@ -7,11 +7,14 @@ import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
-public class QueryApiReq {
+public class QueryItemReq {
@NotEmpty(message = "ids不可为空")
private List ids;
private DateConf dateConf = new DateConf();
+ //result size of single id
+ private Long limit;
+
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryMultiStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryMultiStructReq.java
similarity index 88%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryMultiStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryMultiStructReq.java
index 401bd0bb7..1c415772e 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryMultiStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryMultiStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryS2SQLReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryS2SQLReq.java
similarity index 89%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryS2SQLReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryS2SQLReq.java
index ca3d4c7da..9d5bbcfa1 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryS2SQLReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryS2SQLReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.google.common.collect.Lists;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryStructReq.java
similarity index 98%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryStructReq.java
index 1b88b76e5..2c125a8d3 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/request/QueryStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/request/QueryStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.request;
+package com.tencent.supersonic.headless.common.core.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.Aggregator;
@@ -12,8 +12,8 @@ import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateModeUtils;
import com.tencent.supersonic.common.util.SqlFilterUtils;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserAddHelper;
-import com.tencent.supersonic.headless.common.query.pojo.Cache;
-import com.tencent.supersonic.headless.common.query.pojo.Param;
+import com.tencent.supersonic.headless.common.core.pojo.Cache;
+import com.tencent.supersonic.headless.common.core.pojo.Param;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemQueryResultResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemQueryResultResp.java
new file mode 100644
index 000000000..5ac5af28f
--- /dev/null
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemQueryResultResp.java
@@ -0,0 +1,15 @@
+package com.tencent.supersonic.headless.common.core.response;
+
+import com.tencent.supersonic.headless.common.core.pojo.SingleItemQueryResult;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Builder
+public class ItemQueryResultResp {
+
+ private List results;
+
+}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/response/ItemUseResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemUseResp.java
similarity index 88%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/query/response/ItemUseResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemUseResp.java
index 376868d48..2a9e7d4d2 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/query/response/ItemUseResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/ItemUseResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.query.response;
+package com.tencent.supersonic.headless.common.core.response;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/SqlParserResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/SqlParserResp.java
similarity index 89%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/SqlParserResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/SqlParserResp.java
index acbf63c1d..dcf83cad1 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/SqlParserResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/core/response/SqlParserResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.core.response;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/AppStatusEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/AppStatus.java
similarity index 53%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/AppStatusEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/AppStatus.java
index 1aca8ed9d..a8792ad26 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/AppStatusEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/AppStatus.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.headless.common.model.enums;
+package com.tencent.supersonic.headless.common.server.enums;
-public enum AppStatusEnum {
+public enum AppStatus {
INIT(0),
ONLINE(1),
@@ -10,7 +10,7 @@ public enum AppStatusEnum {
private Integer code;
- AppStatusEnum(Integer code) {
+ AppStatus(Integer code) {
this.code = code;
}
@@ -18,12 +18,12 @@ public enum AppStatusEnum {
return code;
}
- public static AppStatusEnum fromCode(Integer code) {
- for (AppStatusEnum appStatusEnum : AppStatusEnum.values()) {
+ public static AppStatus fromCode(Integer code) {
+ for (AppStatus appStatusEnum : AppStatus.values()) {
if (appStatusEnum.getCode().equals(code)) {
return appStatusEnum;
}
}
- return AppStatusEnum.UNKNOWN;
+ return AppStatus.UNKNOWN;
}
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/DataTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DataType.java
similarity index 87%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/DataTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DataType.java
index b6986e7dc..9cb07f5bc 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/DataTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DataType.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.headless.common.model.enums;
+package com.tencent.supersonic.headless.common.server.enums;
import com.tencent.supersonic.common.pojo.Constants;
import java.util.HashSet;
import java.util.Set;
-public enum DataTypeEnum {
+public enum DataType {
MYSQL("mysql", "mysql", "com.mysql.cj.jdbc.Driver", "`", "`", "'", "'"),
@@ -50,8 +50,8 @@ public enum DataTypeEnum {
private String aliasPrefix;
private String aliasSuffix;
- DataTypeEnum(String feature, String desc, String driver, String keywordPrefix, String keywordSuffix,
- String aliasPrefix, String aliasSuffix) {
+ DataType(String feature, String desc, String driver, String keywordPrefix, String keywordSuffix,
+ String aliasPrefix, String aliasSuffix) {
this.feature = feature;
this.desc = desc;
this.driver = driver;
@@ -61,9 +61,9 @@ public enum DataTypeEnum {
this.aliasSuffix = aliasSuffix;
}
- public static DataTypeEnum urlOf(String jdbcUrl) throws RuntimeException {
+ public static DataType urlOf(String jdbcUrl) throws RuntimeException {
String url = jdbcUrl.toLowerCase().trim();
- for (DataTypeEnum dataTypeEnum : values()) {
+ for (DataType dataTypeEnum : values()) {
if (url.startsWith(String.format(Constants.JDBC_PREFIX_FORMATTER, dataTypeEnum.feature))) {
return dataTypeEnum;
}
@@ -73,7 +73,7 @@ public enum DataTypeEnum {
public static Set getAllSupportedDatasourceNameSet() {
Set datasourceSet = new HashSet<>();
- for (DataTypeEnum datasource : values()) {
+ for (DataType datasource : values()) {
datasourceSet.add(datasource.getFeature());
}
return datasourceSet;
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DimensionType.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DimensionType.java
new file mode 100644
index 000000000..3eece508f
--- /dev/null
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/DimensionType.java
@@ -0,0 +1,9 @@
+package com.tencent.supersonic.headless.common.server.enums;
+
+
+public enum DimensionType {
+
+ categorical,
+ time
+
+}
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/IdentifyType.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/IdentifyType.java
new file mode 100644
index 000000000..8d4859685
--- /dev/null
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/IdentifyType.java
@@ -0,0 +1,8 @@
+package com.tencent.supersonic.headless.common.server.enums;
+
+public enum IdentifyType {
+
+ primary,
+ foreign,
+
+}
\ No newline at end of file
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/MetricType.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/MetricType.java
new file mode 100644
index 000000000..a90f42a98
--- /dev/null
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/MetricType.java
@@ -0,0 +1,9 @@
+package com.tencent.supersonic.headless.common.server.enums;
+
+
+public enum MetricType {
+
+ ATOMIC,
+ DERIVED
+
+}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/ModelSourceTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/ModelSourceType.java
similarity index 57%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/ModelSourceTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/ModelSourceType.java
index 279ca7088..d045e76fa 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/ModelSourceTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/ModelSourceType.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.headless.common.model.enums;
+package com.tencent.supersonic.headless.common.server.enums;
import java.util.Objects;
-public enum ModelSourceTypeEnum {
+public enum ModelSourceType {
FULL,
PARTITION,
ZIPPER;
- public static ModelSourceTypeEnum of(String src) {
- for (ModelSourceTypeEnum modelSourceTypeEnum : ModelSourceTypeEnum.values()) {
+ public static ModelSourceType of(String src) {
+ for (ModelSourceType modelSourceTypeEnum : ModelSourceType.values()) {
if (Objects.nonNull(src) && src.equalsIgnoreCase(modelSourceTypeEnum.name())) {
return modelSourceTypeEnum;
}
@@ -16,12 +16,12 @@ public enum ModelSourceTypeEnum {
return null;
}
- public static boolean isZipper(ModelSourceTypeEnum modelSourceTypeEnum) {
+ public static boolean isZipper(ModelSourceType modelSourceTypeEnum) {
return Objects.nonNull(modelSourceTypeEnum) && ZIPPER.equals(modelSourceTypeEnum);
}
public static boolean isZipper(String str) {
- ModelSourceTypeEnum modelSourceTypeEnum = of(str);
+ ModelSourceType modelSourceTypeEnum = of(str);
return Objects.nonNull(modelSourceTypeEnum) && isZipper(modelSourceTypeEnum);
}
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/QueryType.java
similarity index 57%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/QueryType.java
index 5089c8f8c..6dd0e8406 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/enums/QueryTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/QueryType.java
@@ -1,19 +1,19 @@
-package com.tencent.supersonic.headless.common.model.enums;
+package com.tencent.supersonic.headless.common.server.enums;
-public enum QueryTypeEnum {
+public enum QueryType {
SQL("SQL"),
STRUCT("STRUCT");
private String value;
- QueryTypeEnum(String value) {
+ QueryType(String value) {
this.value = value;
}
- public static QueryTypeEnum of(String src) {
- for (QueryTypeEnum operatorEnum : QueryTypeEnum.values()) {
+ public static QueryType of(String src) {
+ for (QueryType operatorEnum : QueryType.values()) {
if (src.toUpperCase().contains(operatorEnum.value)) {
return operatorEnum;
}
diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/SemanticType.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/SemanticType.java
new file mode 100644
index 000000000..b575ddb83
--- /dev/null
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/enums/SemanticType.java
@@ -0,0 +1,10 @@
+package com.tencent.supersonic.headless.common.server.enums;
+
+public enum SemanticType {
+
+ CATEGORY,
+ ID,
+ DATE,
+ NUMBER
+
+}
\ No newline at end of file
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/AppConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/AppConfig.java
similarity index 88%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/AppConfig.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/AppConfig.java
index 149d001c9..e14d9109d 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/AppConfig.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/AppConfig.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.google.common.collect.Lists;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Dim.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Dim.java
similarity index 96%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Dim.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Dim.java
index 0ec874d04..8dee1013c 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Dim.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Dim.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import lombok.AllArgsConstructor;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DimValueMap.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DimValueMap.java
similarity index 86%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DimValueMap.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DimValueMap.java
index 832f6f336..cbf69f5ae 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DimValueMap.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DimValueMap.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DimensionTimeTypeParams.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DimensionTimeTypeParams.java
similarity index 81%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DimensionTimeTypeParams.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DimensionTimeTypeParams.java
index e89761823..999225fc0 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DimensionTimeTypeParams.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DimensionTimeTypeParams.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DrillDownDimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DrillDownDimension.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DrillDownDimension.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DrillDownDimension.java
index c74a768c5..f40da0019 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/DrillDownDimension.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/DrillDownDimension.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Entity.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Entity.java
similarity index 86%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Entity.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Entity.java
index 8a4584f45..1f07500e0 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Entity.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Entity.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Identify.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Identify.java
similarity index 90%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Identify.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Identify.java
index b0752a341..301be9acb 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Identify.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Identify.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Item.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Item.java
similarity index 87%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Item.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Item.java
index a026900a1..4ed343919 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Item.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Item.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.enums.ApiItemType;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/ItemDateFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/ItemDateFilter.java
similarity index 81%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/ItemDateFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/ItemDateFilter.java
index 3dfe29a90..9c0ed5b90 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/ItemDateFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/ItemDateFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import java.util.List;
import lombok.AllArgsConstructor;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Measure.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Measure.java
similarity index 91%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Measure.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Measure.java
index 8036f126a..a2a086b77 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/Measure.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/Measure.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/MetricQueryDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/MetricQueryDefaultConfig.java
similarity index 82%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/MetricQueryDefaultConfig.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/MetricQueryDefaultConfig.java
index 0acbd56c2..2b2d7943f 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/MetricQueryDefaultConfig.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/MetricQueryDefaultConfig.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/MetricTypeParams.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/MetricTypeParams.java
similarity index 77%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/MetricTypeParams.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/MetricTypeParams.java
index 6701df515..d2ed32703 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/MetricTypeParams.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/MetricTypeParams.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import java.util.List;
import com.google.common.collect.Lists;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/ModelDetail.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/ModelDetail.java
similarity index 79%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/ModelDetail.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/ModelDetail.java
index e18c23a53..f07e03355 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/ModelDetail.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/ModelDetail.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.headless.common.model.enums.DimensionTypeEnum;
+import com.tencent.supersonic.headless.common.server.enums.DimensionType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
@@ -37,7 +37,7 @@ public class ModelDetail {
return Lists.newArrayList();
}
return dimensions.stream()
- .filter(dim -> DimensionTypeEnum.time.name().equalsIgnoreCase(dim.getType()))
+ .filter(dim -> DimensionType.time.name().equalsIgnoreCase(dim.getType()))
.collect(Collectors.toList());
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/QueryResult.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/QueryResult.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/QueryResult.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/QueryResult.java
index e5dac35ab..f7fa77dcf 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/QueryResult.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/QueryResult.java
@@ -1,10 +1,11 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
+
+import lombok.Data;
+import lombok.ToString;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import lombok.Data;
-import lombok.ToString;
@Data
@ToString
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/QueryStat.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/QueryStat.java
similarity index 98%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/QueryStat.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/QueryStat.java
index 649c5dcbc..eb17d4720 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/QueryStat.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/QueryStat.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/RelateDimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/RelateDimension.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/RelateDimension.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/RelateDimension.java
index ec1041135..0b3e9c594 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/RelateDimension.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/RelateDimension.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/SchemaItem.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/SchemaItem.java
similarity index 96%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/SchemaItem.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/SchemaItem.java
index dd569aa8c..a856e5733 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/pojo/SchemaItem.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/pojo/SchemaItem.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.pojo;
+package com.tencent.supersonic.headless.common.server.pojo;
import com.google.common.base.Objects;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/AppQueryReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/AppQueryReq.java
similarity index 64%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/AppQueryReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/AppQueryReq.java
index 68abc808a..3add85d28 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/AppQueryReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/AppQueryReq.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.PageBaseReq;
-import com.tencent.supersonic.headless.common.model.enums.AppStatusEnum;
+import com.tencent.supersonic.headless.common.server.enums.AppStatus;
import lombok.Data;
import org.springframework.util.CollectionUtils;
@@ -15,7 +15,7 @@ public class AppQueryReq extends PageBaseReq {
private String name;
- private List appStatus;
+ private List appStatus;
private String createdBy;
@@ -23,7 +23,7 @@ public class AppQueryReq extends PageBaseReq {
if (CollectionUtils.isEmpty(appStatus)) {
return Lists.newArrayList();
}
- return appStatus.stream().map(AppStatusEnum::getCode).collect(Collectors.toList());
+ return appStatus.stream().map(AppStatus::getCode).collect(Collectors.toList());
}
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/AppReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/AppReq.java
similarity index 81%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/AppReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/AppReq.java
index c3c223177..452455dd3 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/AppReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/AppReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
-import com.tencent.supersonic.headless.common.model.pojo.AppConfig;
+import com.tencent.supersonic.headless.common.server.pojo.AppConfig;
import lombok.Data;
import org.springframework.util.CollectionUtils;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DatabaseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DatabaseReq.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DatabaseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DatabaseReq.java
index 27f4d9ebc..b34b89e96 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DatabaseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DatabaseReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.headless.common.model.enums.DataTypeEnum;
+import com.tencent.supersonic.headless.common.server.enums.DataType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
@@ -46,7 +46,7 @@ public class DatabaseReq {
} else {
databaseUrl = "/" + database;
}
- if (type.equalsIgnoreCase(DataTypeEnum.MYSQL.getFeature())) {
+ if (type.equalsIgnoreCase(DataType.MYSQL.getFeature())) {
return String.format("jdbc:%s://%s:%s%s?sessionVariables=sql_mode='IGNORE_SPACE'&allowMultiQueries=true",
type, host, port, databaseUrl);
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DateInfoReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DateInfoReq.java
similarity index 94%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DateInfoReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DateInfoReq.java
index 7a72e18c4..d0ff1fb84 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DateInfoReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DateInfoReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import java.util.ArrayList;
import java.util.List;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DimensionReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DimensionReq.java
similarity index 73%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DimensionReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DimensionReq.java
index f260bcf61..8101fd978 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DimensionReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DimensionReq.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
-import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.DimValueMap;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import javax.validation.constraints.NotNull;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DomainReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DomainReq.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DomainReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DomainReq.java
index bd9de521b..48341045a 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DomainReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DomainReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import java.util.ArrayList;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DomainUpdateReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DomainUpdateReq.java
similarity index 62%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DomainUpdateReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DomainUpdateReq.java
index 6b7775458..baafeb637 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/DomainUpdateReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/DomainUpdateReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetaBatchReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetaBatchReq.java
similarity index 68%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetaBatchReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetaBatchReq.java
index d0f1b0d8c..ea01ea029 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetaBatchReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetaBatchReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import lombok.Data;
import java.util.List;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetricBaseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetricBaseReq.java
similarity index 77%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetricBaseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetricBaseReq.java
index f30e86b5f..9e373e240 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetricBaseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetricBaseReq.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.tencent.supersonic.common.pojo.DataFormat;
-import com.tencent.supersonic.headless.common.model.pojo.RelateDimension;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.RelateDimension;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetricReq.java
similarity index 54%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetricReq.java
index 56a533217..108bbb727 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/MetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/MetricReq.java
@@ -1,28 +1,28 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
-import com.tencent.supersonic.headless.common.model.enums.MetricTypeEnum;
-import com.tencent.supersonic.headless.common.model.pojo.Measure;
-import com.tencent.supersonic.headless.common.model.pojo.MetricTypeParams;
+import com.tencent.supersonic.headless.common.server.enums.MetricType;
+import com.tencent.supersonic.headless.common.server.pojo.Measure;
+import com.tencent.supersonic.headless.common.server.pojo.MetricTypeParams;
import lombok.Data;
import java.util.List;
@Data
public class MetricReq extends MetricBaseReq {
- private MetricTypeEnum metricType;
+ private MetricType metricType;
private MetricTypeParams typeParams;
- public MetricTypeEnum getMetricType() {
+ public MetricType getMetricType() {
if (metricType != null) {
return metricType;
}
List measureList = typeParams.getMeasures();
if (measureList.size() == 1 && typeParams.getExpr().trim().equalsIgnoreCase(measureList.get(0).getBizName())) {
- return MetricTypeEnum.ATOMIC;
+ return MetricType.ATOMIC;
} else if (measureList.size() >= 1) {
- return MetricTypeEnum.DERIVED;
+ return MetricType.DERIVED;
}
throw new RuntimeException("measure can not be none");
}
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ModelReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ModelReq.java
similarity index 79%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ModelReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ModelReq.java
index 83ce59c73..082c521ee 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ModelReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ModelReq.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.headless.common.model.pojo.Dim;
-import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.Dim;
+import com.tencent.supersonic.headless.common.server.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.common.server.pojo.ModelDetail;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import java.util.List;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ModelSchemaFilterReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ModelSchemaFilterReq.java
similarity index 75%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ModelSchemaFilterReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ModelSchemaFilterReq.java
index f4bf4f32f..1febd843d 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ModelSchemaFilterReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ModelSchemaFilterReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageDimensionReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageDimensionReq.java
similarity index 65%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageDimensionReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageDimensionReq.java
index 5ac1837ed..1abd9f6f9 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageDimensionReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageDimensionReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageMetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageMetricReq.java
similarity index 64%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageMetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageMetricReq.java
index 586edd3d4..6e362762a 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageMetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageMetricReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageSchemaItemReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageSchemaItemReq.java
similarity index 89%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageSchemaItemReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageSchemaItemReq.java
index a76babe46..49df72767 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/PageSchemaItemReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/PageSchemaItemReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.PageBaseReq;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/SqlExecuteReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/SqlExecuteReq.java
similarity index 91%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/SqlExecuteReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/SqlExecuteReq.java
index 9781e9a74..4da5d6927 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/SqlExecuteReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/SqlExecuteReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import javax.validation.constraints.NotBlank;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ViewInfoReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ViewInfoReq.java
similarity index 82%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ViewInfoReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ViewInfoReq.java
index c456613c8..9cb687d33 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/request/ViewInfoReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/request/ViewInfoReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.request;
+package com.tencent.supersonic.headless.common.server.request;
import java.util.Date;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/AppDetailResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/AppDetailResp.java
similarity index 62%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/AppDetailResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/AppDetailResp.java
index 4182c4b7a..707f89550 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/AppDetailResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/AppDetailResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/AppResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/AppResp.java
similarity index 75%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/AppResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/AppResp.java
index 459bd0647..4a22d4bb1 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/AppResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/AppResp.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.RecordInfo;
-import com.tencent.supersonic.headless.common.model.enums.AppStatusEnum;
-import com.tencent.supersonic.headless.common.model.pojo.AppConfig;
+import com.tencent.supersonic.headless.common.server.enums.AppStatus;
+import com.tencent.supersonic.headless.common.server.pojo.AppConfig;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
@@ -21,7 +21,7 @@ public class AppResp extends RecordInfo {
private String description;
- private AppStatusEnum appStatus;
+ private AppStatus appStatus;
private AppConfig config;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DatabaseResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DatabaseResp.java
similarity index 95%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DatabaseResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DatabaseResp.java
index c33741d70..58282a56f 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DatabaseResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DatabaseResp.java
@@ -1,8 +1,5 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.RecordInfo;
import lombok.AllArgsConstructor;
@@ -10,6 +7,10 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
@Data
@AllArgsConstructor
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DimSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DimSchemaResp.java
similarity index 78%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DimSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DimSchemaResp.java
index 53ff0028a..5e89b9c22 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DimSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DimSchemaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import lombok.Data;
import lombok.ToString;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DimensionResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DimensionResp.java
similarity index 76%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DimensionResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DimensionResp.java
index efb206852..850cbeba9 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DimensionResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DimensionResp.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
-import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.DimValueMap;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DomainResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DomainResp.java
similarity index 83%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DomainResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DomainResp.java
index 985988296..631bf3538 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/DomainResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/DomainResp.java
@@ -1,14 +1,13 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
-import com.tencent.supersonic.headless.common.model.pojo.Entity;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.Entity;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
+import lombok.Data;
+import lombok.ToString;
import java.util.List;
import java.util.Objects;
-import lombok.Data;
-import lombok.ToString;
-
@Data
@ToString
public class DomainResp extends SchemaItem {
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ExplainResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ExplainResp.java
similarity index 82%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ExplainResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ExplainResp.java
index 667c96903..2f887023c 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ExplainResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ExplainResp.java
@@ -1,12 +1,13 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
-import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
+import java.io.Serializable;
+
@Data
@ToString
@Builder
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MeasureResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MeasureResp.java
similarity index 86%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MeasureResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MeasureResp.java
index 9d551ae1a..6e972a380 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MeasureResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MeasureResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MetricResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MetricResp.java
similarity index 84%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MetricResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MetricResp.java
index c0a27b589..073dd97cd 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MetricResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MetricResp.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.tencent.supersonic.common.pojo.DataFormat;
-import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.headless.common.model.pojo.Measure;
-import com.tencent.supersonic.headless.common.model.pojo.MetricTypeParams;
-import com.tencent.supersonic.headless.common.model.pojo.RelateDimension;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.common.server.pojo.Measure;
+import com.tencent.supersonic.headless.common.server.pojo.MetricTypeParams;
+import com.tencent.supersonic.headless.common.server.pojo.RelateDimension;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.collections.CollectionUtils;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MetricSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MetricSchemaResp.java
similarity index 71%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MetricSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MetricSchemaResp.java
index 495ad5be0..980e58da5 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/MetricSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/MetricSchemaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import lombok.Data;
import lombok.ToString;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelResp.java
similarity index 78%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelResp.java
index 04cc8e6eb..73c758b04 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelResp.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.headless.common.model.pojo.Dim;
-import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.headless.common.model.pojo.Identify;
-import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
-import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.common.server.pojo.Dim;
+import com.tencent.supersonic.headless.common.server.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.common.server.pojo.Identify;
+import com.tencent.supersonic.headless.common.server.pojo.ModelDetail;
+import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import lombok.Data;
import org.springframework.util.CollectionUtils;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelSchemaRelaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelSchemaRelaResp.java
similarity index 78%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelSchemaRelaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelSchemaRelaResp.java
index 39d1ac2b2..5c28aa1a1 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelSchemaRelaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelSchemaRelaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import lombok.Data;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelSchemaResp.java
similarity index 86%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelSchemaResp.java
index 8e510ca89..19886c7ff 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/ModelSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/ModelSchemaResp.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import com.tencent.supersonic.common.pojo.ModelRela;
-import com.tencent.supersonic.headless.common.model.pojo.Identify;
+import com.tencent.supersonic.headless.common.server.pojo.Identify;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/QueryResultWithSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/QueryResultWithSchemaResp.java
similarity index 64%
rename from headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/QueryResultWithSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/QueryResultWithSchemaResp.java
index 1961b8e64..50cc9f77c 100644
--- a/headless/common/src/main/java/com/tencent/supersonic/headless/common/model/response/QueryResultWithSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/common/server/response/QueryResultWithSchemaResp.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.headless.common.model.response;
+package com.tencent.supersonic.headless.common.server.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.QueryAuthorization;
import com.tencent.supersonic.common.pojo.QueryColumn;
-import com.tencent.supersonic.headless.common.model.enums.SemanticTypeEnum;
-import com.tencent.supersonic.headless.common.model.pojo.QueryResult;
+import com.tencent.supersonic.headless.common.server.enums.SemanticType;
+import com.tencent.supersonic.headless.common.server.pojo.QueryResult;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@@ -22,13 +22,13 @@ public class QueryResultWithSchemaResp extends QueryResult