From 150d67f90351a39a10bd186c3035e4595b3c2a16 Mon Sep 17 00:00:00 2001
From: lexluo09 <39718951+lexluo09@users.noreply.github.com>
Date: Wed, 20 Dec 2023 17:08:16 +0800
Subject: [PATCH] (improvement)(semantic) Change 'semantic' to 'headless'
(#555)
---
assembly/bin/supersonic-build.sh | 6 +-
assembly/bin/supersonic-common.sh | 6 +-
assembly/bin/supersonic-daemon.sh | 8 +-
chat/api/pom.xml | 2 +-
.../api/component/SemanticInterpreter.java | 28 +++---
chat/core/pom.xml | 4 +-
.../chat/config/EntityInternalDetail.java | 4 +-
.../chat/mapper/EmbeddingMatchStrategy.java | 2 +-
.../chat/mapper/ModelWithSemanticType.java | 6 +-
.../parser/sql/llm/LLMRequestService.java | 4 +-
.../execute/MetricRecommendProcessor.java | 2 +-
.../chat/query/BaseSemanticQuery.java | 10 +--
.../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 | 13 ++-
.../query/rule/metric/MetricTagQuery.java | 4 +-
.../chat/rest/ChatConfigController.java | 12 +--
.../chat/service/SemanticService.java | 39 ++++----
.../chat/service/impl/ConfigServiceImpl.java | 12 +--
.../chat/service/impl/PluginServiceImpl.java | 2 +-
.../chat/service/impl/QueryServiceImpl.java | 8 +-
.../chat/service/impl/SearchServiceImpl.java | 8 +-
.../chat/utils/ComponentFactory.java | 2 +-
.../supersonic/chat/utils/DictMetaHelper.java | 4 +-
.../chat/utils/DictQueryHelper.java | 4 +-
.../chat/utils/QueryReqBuilder.java | 6 +-
.../chat/test/context/ContextTest.java | 8 +-
.../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 | 69 +++++++--------
{semantic => headless}/api/pom.xml | 4 +-
.../enums/ElementFrequencyEnum.java | 2 +-
.../enums/ElementTypeEnum.java | 2 +-
.../enums/UpdateCycleEnum.java | 2 +-
.../pojo/MaterializationConfFilter.java | 2 +-
.../pojo/MaterializationDateFilter.java | 2 +-
.../pojo/MaterializationFilter.java | 6 +-
.../pojo/MaterializationRecordFilter.java | 2 +-
.../request/MaterializationElementReq.java | 6 +-
.../request/MaterializationRecordReq.java | 2 +-
.../request/MaterializationReq.java | 6 +-
.../request/MaterializationSourceReq.java | 2 +-
.../response/MaterializationDateResp.java | 2 +-
.../MaterializationElementModelResp.java | 4 +-
.../response/MaterializationElementResp.java | 6 +-
.../response/MaterializationRecordResp.java | 2 +-
.../response/MaterializationResp.java | 6 +-
.../response/MaterializationSourceResp.java | 8 +-
.../api/model/enums/DataTypeEnum.java | 2 +-
.../api/model/enums/DimensionTypeEnum.java | 2 +-
.../api/model/enums/IdentifyTypeEnum.java | 2 +-
.../api/model/enums/MetricTypeEnum.java | 2 +-
.../api/model/enums/ModelSourceTypeEnum.java | 2 +-
.../api/model/enums/OperatorEnum.java | 2 +-
.../api/model/enums/QueryOptMode.java | 2 +-
.../api/model/enums/QueryTypeBackEnum.java | 2 +-
.../api/model/enums/QueryTypeEnum.java | 2 +-
.../api/model/enums/SemanticTypeEnum.java | 2 +-
.../api/model/pojo/DatasourceType.java | 2 +-
.../headless}/api/model/pojo/Dim.java | 2 +-
.../headless}/api/model/pojo/DimValueMap.java | 2 +-
.../model/pojo/DimensionTimeTypeParams.java | 2 +-
.../api/model/pojo/DrillDownDimension.java | 2 +-
.../headless}/api/model/pojo/Entity.java | 2 +-
.../headless}/api/model/pojo/Identify.java | 2 +-
.../api/model/pojo/ItemDateFilter.java | 2 +-
.../headless}/api/model/pojo/Measure.java | 2 +-
.../model/pojo/MetricQueryDefaultConfig.java | 2 +-
.../api/model/pojo/MetricTypeParams.java | 2 +-
.../headless}/api/model/pojo/ModelDetail.java | 4 +-
.../headless}/api/model/pojo/QueryResult.java | 2 +-
.../headless}/api/model/pojo/QueryStat.java | 2 +-
.../api/model/pojo/RelateDimension.java | 2 +-
.../headless}/api/model/pojo/SchemaItem.java | 2 +-
.../api/model/request/DatabaseReq.java | 4 +-
.../api/model/request/DateInfoReq.java | 2 +-
.../api/model/request/DimensionReq.java | 6 +-
.../api/model/request/DomainReq.java | 4 +-
.../api/model/request/DomainUpdateReq.java | 2 +-
.../api/model/request/MetaBatchReq.java | 2 +-
.../api/model/request/MetricBaseReq.java | 6 +-
.../api/model/request/MetricReq.java | 8 +-
.../headless}/api/model/request/ModelReq.java | 10 +--
.../model/request/ModelSchemaFilterReq.java | 2 +-
.../api/model/request/PageDimensionReq.java | 2 +-
.../api/model/request/PageMetricReq.java | 2 +-
.../api/model/request/PageSchemaItemReq.java | 2 +-
.../api/model/request/SqlExecuteReq.java | 2 +-
.../api/model/request/ViewInfoReq.java | 2 +-
.../api/model/response/DatabaseResp.java | 2 +-
.../api/model/response/DimSchemaResp.java | 2 +-
.../api/model/response/DimensionResp.java | 6 +-
.../api/model/response/DomainResp.java | 6 +-
.../api/model/response/ExplainResp.java | 2 +-
.../api/model/response/MeasureResp.java | 2 +-
.../api/model/response/MetricResp.java | 12 +--
.../api/model/response/MetricSchemaResp.java | 2 +-
.../api/model/response/ModelResp.java | 12 +--
.../model/response/ModelSchemaRelaResp.java | 2 +-
.../api/model/response/ModelSchemaResp.java | 4 +-
.../response/QueryResultWithSchemaResp.java | 6 +-
.../api/model/response/SqlParserResp.java | 2 +-
.../api/model/yaml/DataModelYamlTpl.java | 4 +-
.../yaml/DimensionTimeTypeParamsTpl.java | 2 +-
.../api/model/yaml/DimensionYamlTpl.java | 2 +-
.../api/model/yaml/IdentifyYamlTpl.java | 2 +-
.../api/model/yaml/MeasureYamlTpl.java | 2 +-
.../model/yaml/MetricTypeParamsYamlTpl.java | 2 +-
.../api/model/yaml/MetricYamlTpl.java | 2 +-
.../headless}/api/query/enums/AggOption.java | 2 +-
.../headless}/api/query/pojo/Cache.java | 2 +-
.../api/query/pojo/DataDownload.java | 2 +-
.../api/query/pojo/Materialization.java | 2 +-
.../headless}/api/query/pojo/MetricTable.java | 4 +-
.../headless}/api/query/pojo/Param.java | 2 +-
.../api/query/request/BatchDownloadReq.java | 2 +-
.../api/query/request/DownloadStructReq.java | 2 +-
.../api/query/request/ExplainSqlReq.java | 4 +-
.../api/query/request/ItemUseReq.java | 2 +-
.../api/query/request/MetricReq.java | 2 +-
.../api/query/request/ParseSqlReq.java | 4 +-
.../api/query/request/QueryDimValueReq.java | 2 +-
.../query/request/QueryMultiStructReq.java | 2 +-
.../api/query/request/QueryS2SQLReq.java | 2 +-
.../api/query/request/QueryStructReq.java | 6 +-
.../api/query/response/ItemUseResp.java | 2 +-
.../materialization/pom.xml | 8 +-
.../MaterializationConfServiceImpl.java | 54 ++++++------
.../MaterializationRecordServiceImpl.java | 20 ++---
.../domain/MaterializationConfService.java | 18 ++--
.../domain/MaterializationRecordService.java | 12 +--
.../domain/dataobject/MaterializationDO.java | 2 +-
.../dataobject/MaterializationDOExample.java | 2 +-
.../MaterializationDOWithBLOBs.java | 2 +-
.../dataobject/MaterializationElementDO.java | 2 +-
.../MaterializationElementDOExample.java | 2 +-
.../MaterializationElementDOKey.java | 2 +-
.../MaterializationElementDOWithBLOBs.java | 2 +-
.../dataobject/MaterializationRecordDO.java | 2 +-
.../MaterializationRecordDOExample.java | 2 +-
.../domain/pojo/Materialization.java | 6 +-
.../domain/pojo/MaterializationElement.java | 6 +-
.../domain/pojo/MaterializationRecord.java | 2 +-
.../MaterializationElementRepository.java | 8 +-
.../MaterializationRecordRepository.java | 8 +-
.../repository/MaterializationRepository.java | 8 +-
.../utils/MaterializationConverter.java | 26 +++---
.../utils/MaterializationPartitionHelper.java | 8 +-
.../utils/MaterializationRecordConverter.java | 10 +--
.../domain/utils/MaterializationUtils.java | 4 +-
.../utils/MaterializationZipperUtils.java | 16 ++--
.../mapper/MaterializationDOCustomMapper.java | 6 +-
.../mapper/MaterializationDOMapper.java | 8 +-
.../MaterializationElementDOMapper.java | 10 +--
.../mapper/MaterializationRecordDOMapper.java | 6 +-
.../MaterializationElementRepositoryImpl.java | 20 ++---
.../MaterializationRecordRepositoryImpl.java | 18 ++--
.../MaterializationRepositoryImpl.java | 18 ++--
.../rest/MaterializationConfController.java | 16 ++--
.../rest/MaterializationRecordController.java | 14 +--
.../mapper/MaterializationDOCustomMapper.xml | 8 +-
.../mapper/MaterializationDOMapper.xml | 22 ++---
.../mapper/MaterializationElementDOMapper.xml | 26 +++---
.../mapper/MaterializationRecordDOMapper.xml | 24 ++---
{semantic => headless}/model/pom.xml | 6 +-
.../model/application/CatalogImpl.java | 32 +++----
.../model/application/CollectServiceImpl.java | 8 +-
.../application/DatabaseServiceImpl.java | 32 +++----
.../application/DimensionServiceImpl.java | 40 ++++-----
.../model/application/DomainServiceImpl.java | 20 ++---
.../model/application/MetricServiceImpl.java | 46 +++++-----
.../application/ModelRelaServiceImpl.java | 8 +-
.../model/application/ModelServiceImpl.java | 88 +++++++++----------
.../application/ViewInfoServiceImpl.java | 24 ++---
.../headless}/model/domain/Catalog.java | 18 ++--
.../model/domain/CollectService.java | 4 +-
.../model/domain/DatabaseService.java | 8 +-
.../model/domain/DimensionService.java | 14 +--
.../headless}/model/domain/DomainService.java | 8 +-
.../headless}/model/domain/MetricService.java | 16 ++--
.../model/domain/ModelRelaService.java | 2 +-
.../headless}/model/domain/ModelService.java | 26 +++---
.../engineadapter/ClickHouseAdaptor.java | 2 +-
.../adaptor/engineadapter/EngineAdaptor.java | 2 +-
.../engineadapter/EngineAdaptorFactory.java | 4 +-
.../adaptor/engineadapter/H2Adaptor.java | 2 +-
.../adaptor/engineadapter/MysqlAdaptor.java | 2 +-
.../model/domain/dataobject/CollectDO.java | 2 +-
.../model/domain/dataobject/DatabaseDO.java | 2 +-
.../domain/dataobject/DatabaseDOExample.java | 2 +-
.../model/domain/dataobject/DateInfoDO.java | 2 +-
.../model/domain/dataobject/DimensionDO.java | 2 +-
.../model/domain/dataobject/DomainDO.java | 2 +-
.../domain/dataobject/DomainDOExample.java | 2 +-
.../model/domain/dataobject/MetricDO.java | 2 +-
.../MetricQueryDefaultConfigDO.java | 2 +-
.../model/domain/dataobject/ModelDO.java | 2 +-
.../model/domain/dataobject/ModelRelaDO.java | 2 +-
.../model/domain/dataobject/ViewInfoDO.java | 2 +-
.../domain/dataobject/ViewInfoDOExample.java | 2 +-
.../listener/MetaEmbeddingListener.java | 2 +-
.../domain/manager/DatasourceYamlManager.java | 34 +++----
.../domain/manager/DimensionYamlManager.java | 8 +-
.../domain/manager/MetricYamlManager.java | 8 +-
.../model/domain/pojo/ConnectInfo.java | 2 +-
.../headless}/model/domain/pojo/Database.java | 2 +-
.../model/domain/pojo/Datasource.java | 6 +-
.../domain/pojo/DatasourceQueryEnum.java | 2 +-
.../model/domain/pojo/Dimension.java | 6 +-
.../model/domain/pojo/DimensionFilter.java | 2 +-
.../headless}/model/domain/pojo/Domain.java | 8 +-
.../model/domain/pojo/EngineTypeEnum.java | 2 +-
.../model/domain/pojo/JdbcDataSource.java | 8 +-
.../model/domain/pojo/MetaFilter.java | 2 +-
.../headless}/model/domain/pojo/Metric.java | 8 +-
.../model/domain/pojo/MetricFilter.java | 2 +-
.../headless}/model/domain/pojo/Model.java | 8 +-
.../model/domain/pojo/ModelFilter.java | 2 +-
.../domain/repository/DatabaseRepository.java | 4 +-
.../domain/repository/DateInfoRepository.java | 16 ++++
.../repository/DimensionRepository.java | 6 +-
.../domain/repository/DomainRepository.java | 4 +-
.../domain/repository/MetricRepository.java | 8 +-
.../domain/repository/ModelRepository.java | 6 +-
.../domain/repository/ViewInfoRepository.java | 4 +-
.../model/domain/utils/DatabaseConverter.java | 12 +--
.../domain/utils/DimensionConverter.java | 16 ++--
.../model/domain/utils/DomainConvert.java | 12 +--
.../domain/utils/JdbcDataSourceUtils.java | 10 +--
.../model/domain/utils/MetricConverter.java | 24 ++---
.../model/domain/utils/ModelConverter.java | 30 +++----
.../model/domain/utils/NameCheckUtils.java | 2 +-
.../model/domain/utils/SqlUtils.java | 10 +--
.../domain/utils/SysTimeDimensionBuilder.java | 10 +--
.../infrastructure/mapper/CollectMapper.java | 4 +-
.../mapper/DatabaseDOMapper.java | 6 +-
.../infrastructure/mapper/DateInfoMapper.java | 6 +-
.../mapper/DimensionDOCustomMapper.java | 6 +-
.../mapper/DimensionDOMapper.java | 4 +-
.../infrastructure/mapper/DomainDOMapper.java | 4 +-
.../mapper/MetricDOCustomMapper.java | 6 +-
.../infrastructure/mapper/MetricDOMapper.java | 4 +-
.../MetricQueryDefaultConfigDOMapper.java | 4 +-
.../mapper/ModelDOCustomMapper.java | 4 +-
.../infrastructure/mapper/ModelDOMapper.java | 4 +-
.../mapper/ModelRelaDOMapper.java | 4 +-
.../mapper/ViewInfoDOMapper.java | 4 +-
.../repository/DatabaseRepositoryImpl.java | 10 +--
.../repository/DateInfoRepositoryImpl.java | 12 +--
.../repository/DimensionRepositoryImpl.java | 12 +--
.../repository/DomainRepositoryImpl.java | 8 +-
.../repository/MetricRepositoryImpl.java | 16 ++--
.../repository/ModelRepositoryImpl.java | 12 +--
.../repository/ViewInfoRepositoryImpl.java | 8 +-
.../model/rest/CollectController.java | 6 +-
.../model/rest/DatabaseController.java | 12 +--
.../model/rest/DimensionController.java | 18 ++--
.../model/rest/DomainController.java | 10 +--
.../model/rest/MetricController.java | 20 ++---
.../headless}/model/rest/ModelController.java | 14 +--
.../model/rest/ModelRelaController.java | 4 +-
.../model/rest/ViewInfoController.java | 10 +--
.../resources/mapper/DatabaseDOMapper.xml | 22 ++---
.../mapper/custom/DateInfoMapper.xml | 4 +-
.../mapper/custom/DimensionDOCustomMapper.xml | 6 +-
.../mapper/custom/MetricDOCustomMapper.xml | 6 +-
.../mapper/custom/ModelDOCustomMapper.xml | 2 +-
.../application/ModelServiceImplTest.java | 40 ++++-----
{semantic => headless}/pom.xml | 2 +-
{semantic => headless}/query/pom.xml | 10 +--
.../query/executor/JdbcExecutor.java | 12 +--
.../query/executor/QueryExecutor.java | 12 +++
.../query/optimizer/DetailQuery.java | 6 +-
.../query/optimizer/QueryOptimizer.java | 8 ++
.../query/parser/HeadlessConverter.java | 16 ++++
.../headless}/query/parser/QueryParser.java | 26 +++---
.../headless/query/parser/SqlParser.java | 10 +++
.../parser/calcite/CalciteSqlParser.java | 47 ++++++++++
.../query/parser/calcite/Configuration.java | 4 +-
.../parser/calcite/HeadlessSchemaManager.java | 88 +++++++++----------
.../parser/calcite/planner/AggPlanner.java | 36 ++++----
.../planner/MaterializationPlanner.java | 38 ++++----
.../query/parser/calcite/planner/Planner.java | 17 ++++
.../query/parser/calcite/s2sql/Constants.java | 2 +-
.../parser/calcite/s2sql/DataSource.java | 4 +-
.../query/parser/calcite/s2sql/DataType.java | 2 +-
.../query/parser/calcite/s2sql/Dimension.java | 4 +-
.../s2sql/DimensionTimeTypeParams.java | 2 +-
.../parser/calcite/s2sql/HeadlessModel.java | 4 +-
.../query/parser/calcite/s2sql/Identify.java | 2 +-
.../parser/calcite/s2sql/JoinRelation.java | 2 +-
.../parser/calcite/s2sql/Materialization.java | 2 +-
.../calcite/s2sql/MaterializationElement.java | 2 +-
.../query/parser/calcite/s2sql/Measure.java | 2 +-
.../query/parser/calcite/s2sql/Metric.java | 4 +-
.../calcite/s2sql/MetricTypeParams.java | 2 +-
.../query/parser/calcite/s2sql/TimeRange.java | 2 +-
.../calcite/schema/DataSourceTable.java | 2 +-
.../parser/calcite/schema/HeadlessSchema.java | 48 +++++-----
.../schema/HeadlessSqlConformance.java | 4 +-
.../parser/calcite/schema/SchemaBuilder.java | 8 +-
.../parser/calcite/schema/SemanticItem.java | 2 +-
.../calcite/schema/SemanticSqlDialect.java | 4 +-
.../parser/calcite/sql/Optimization.java | 9 ++
.../query/parser/calcite/sql/Renderer.java | 28 +++---
.../calcite/sql/S2SQLSqlValidatorImpl.java | 2 +-
.../query/parser/calcite/sql/TableView.java | 4 +-
.../calcite/sql/node/AggFunctionNode.java | 2 +-
.../calcite/sql/node/DataSourceNode.java | 28 +++---
.../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 +-
.../calcite/sql/render/FilterRender.java | 24 ++---
.../parser/calcite/sql/render/JoinRender.java | 54 ++++++------
.../calcite/sql/render/OutputRender.java | 16 ++--
.../calcite/sql/render/SourceRender.java | 52 +++++------
.../parser/convert/CalculateAggConverter.java | 34 +++----
.../convert/DefaultDimValueConverter.java | 18 ++--
.../parser/convert/MetricCheckConverter.java | 20 ++---
.../convert/ParserDefaultConverter.java | 20 ++---
.../parser/convert/QueryReqConverter.java | 38 ++++----
.../parser/convert/ZipperModelConverter.java | 22 ++---
.../query/persistence/mapper/StatMapper.java | 6 +-
.../persistence/pojo/ParserSvrResponse.java | 2 +-
.../persistence/pojo/QueryStatement.java | 8 +-
.../repository/StatRepository.java | 8 +-
.../repository/StatRepositoryImpl.java | 10 +--
.../headless}/query/rest/QueryController.java | 42 ++++-----
.../query/rest/SchemaController.java | 20 ++---
.../query/service/AuthCommonService.java | 18 ++--
.../query/service/DataPermission.java | 2 +-
.../query/service/DownloadService.java | 6 +-
.../query/service/DownloadServiceImpl.java | 28 +++---
.../query/service/HeadlessQueryEngine.java | 21 +++++
.../service/HeadlessQueryEngineImpl.java | 28 +++---
.../headless}/query/service/QueryService.java | 24 ++---
.../query/service/QueryServiceImpl.java | 74 ++++++++--------
.../query/service/SchemaService.java | 18 ++--
.../query/service/SchemaServiceImpl.java | 34 +++----
.../query/utils/ComponentFactory.java | 44 +++++-----
.../query/utils/DataPermissionAOP.java | 41 +++++----
.../query/utils/DataTransformUtils.java | 2 +-
.../headless}/query/utils/DimValueAspect.java | 24 ++---
.../query/utils/QueryStructUtils.java | 30 +++----
.../headless}/query/utils/QueryUtils.java | 35 ++++----
.../query/utils/S2SQLDataAspect.java | 22 ++---
.../utils/S2SQLPermissionAnnotation.java | 2 +-
.../query/utils/SqlGenerateUtils.java | 4 +-
.../headless}/query/utils/StatUtils.java | 26 +++---
.../src/main/resources/mapper/StatMapper.xml | 6 +-
.../calcite/HeadlessParserServiceTest.java | 66 +++++++-------
.../calcite/MaterializationQueryTest.java | 14 +--
.../service/DownloadServiceImplTest.java | 27 +++---
.../query/utils/DataTransformUtilsTest.java | 2 +-
launchers/{semantic => headless}/pom.xml | 10 +--
.../src/main/build/build.xml | 0
.../tencent/supersonic/HeadlessLauncher.java} | 4 +-
.../tencent/supersonic/db/MybatisConfig.java | 0
.../supersonic/db/PageHelperConfig.java | 0
.../main/resources/META-INF/spring.factories | 0
.../src/main/resources/application-local.yaml | 0
.../src/main/resources/application.yaml | 2 +-
.../main/resources/db/semantic-data-h2.sql | 0
.../main/resources/db/semantic-schema-h2.sql | 0
.../src/main/resources/logback-spring.xml | 0
launchers/pom.xml | 2 +-
launchers/standalone/pom.xml | 6 +-
.../supersonic/BenchMarkDemoDataLoader.java | 24 ++---
.../tencent/supersonic/ChatDemoLoader.java | 2 +-
...emoLoader.java => HeadlessDemoLoader.java} | 4 +-
.../supersonic/ModelDemoDataLoader.java | 42 ++++-----
.../model/MetricServiceImplTest.java | 8 +-
pom.xml | 2 +-
.../domain/repository/DateInfoRepository.java | 16 ----
.../query/executor/QueryExecutor.java | 12 ---
.../query/optimizer/QueryOptimizer.java | 8 --
.../query/parser/SemanticConverter.java | 16 ----
.../semantic/query/parser/SqlParser.java | 10 ---
.../parser/calcite/CalciteSqlParser.java | 47 ----------
.../query/parser/calcite/planner/Planner.java | 17 ----
.../parser/calcite/sql/Optimization.java | 9 --
.../query/service/SemanticQueryEngine.java | 21 -----
394 files changed, 1970 insertions(+), 1975 deletions(-)
rename {semantic => headless}/api/pom.xml (96%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/enums/ElementFrequencyEnum.java (53%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/enums/ElementTypeEnum.java (61%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/enums/UpdateCycleEnum.java (50%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/pojo/MaterializationConfFilter.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/pojo/MaterializationDateFilter.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/pojo/MaterializationFilter.java (73%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/pojo/MaterializationRecordFilter.java (91%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/request/MaterializationElementReq.java (77%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/request/MaterializationRecordReq.java (90%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/request/MaterializationReq.java (77%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/request/MaterializationSourceReq.java (74%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/response/MaterializationDateResp.java (87%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/response/MaterializationElementModelResp.java (75%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/response/MaterializationElementResp.java (74%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/response/MaterializationRecordResp.java (90%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/response/MaterializationResp.java (77%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/materialization/response/MaterializationSourceResp.java (75%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/DataTypeEnum.java (98%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/DimensionTypeEnum.java (53%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/IdentifyTypeEnum.java (52%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/MetricTypeEnum.java (50%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/ModelSourceTypeEnum.java (93%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/OperatorEnum.java (86%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/QueryOptMode.java (52%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/QueryTypeBackEnum.java (92%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/QueryTypeEnum.java (89%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/enums/SemanticTypeEnum.java (57%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/DatasourceType.java (88%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/Dim.java (96%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/DimValueMap.java (86%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/DimensionTimeTypeParams.java (82%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/DrillDownDimension.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/Entity.java (86%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/Identify.java (89%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/ItemDateFilter.java (82%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/Measure.java (91%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/MetricQueryDefaultConfig.java (83%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/MetricTypeParams.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/ModelDetail.java (89%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/QueryResult.java (86%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/QueryStat.java (98%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/RelateDimension.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/pojo/SchemaItem.java (96%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/DatabaseReq.java (90%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/DateInfoReq.java (95%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/DimensionReq.java (75%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/DomainReq.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/DomainUpdateReq.java (63%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/MetaBatchReq.java (70%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/MetricBaseReq.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/MetricReq.java (73%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/ModelReq.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/ModelSchemaFilterReq.java (76%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/PageDimensionReq.java (66%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/PageMetricReq.java (65%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/PageSchemaItemReq.java (90%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/SqlExecuteReq.java (91%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/request/ViewInfoReq.java (83%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/DatabaseResp.java (95%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/DimSchemaResp.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/DimensionResp.java (77%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/DomainResp.java (84%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/ExplainResp.java (83%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/MeasureResp.java (86%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/MetricResp.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/MetricSchemaResp.java (73%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/ModelResp.java (84%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/ModelSchemaRelaResp.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/ModelSchemaResp.java (87%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/QueryResultWithSchemaResp.java (84%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/response/SqlParserResp.java (89%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/DataModelYamlTpl.java (77%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/DimensionTimeTypeParamsTpl.java (71%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/DimensionYamlTpl.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/IdentifyYamlTpl.java (83%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/MeasureYamlTpl.java (85%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/MetricTypeParamsYamlTpl.java (74%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/model/yaml/MetricYamlTpl.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/enums/AggOption.java (84%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/pojo/Cache.java (84%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/pojo/DataDownload.java (75%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/pojo/Materialization.java (83%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/pojo/MetricTable.java (68%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/pojo/Param.java (92%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/BatchDownloadReq.java (80%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/DownloadStructReq.java (79%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/ExplainSqlReq.java (71%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/ItemUseReq.java (90%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/MetricReq.java (88%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/ParseSqlReq.java (80%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/QueryDimValueReq.java (82%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/QueryMultiStructReq.java (88%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/QueryS2SQLReq.java (90%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/request/QueryStructReq.java (98%)
rename {semantic/api/src/main/java/com/tencent/supersonic/semantic => headless/api/src/main/java/com/tencent/supersonic/headless}/api/query/response/ItemUseResp.java (88%)
rename {semantic => headless}/materialization/pom.xml (83%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/application/MaterializationConfServiceImpl.java (93%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/application/MaterializationRecordServiceImpl.java (84%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/MaterializationConfService.java (72%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/MaterializationRecordService.java (71%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationDO.java (97%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationDOExample.java (99%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationDOWithBLOBs.java (92%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationElementDO.java (96%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationElementDOExample.java (99%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationElementDOKey.java (90%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java (89%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationRecordDO.java (98%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/dataobject/MaterializationRecordDOExample.java (99%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/pojo/Materialization.java (78%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/pojo/MaterializationElement.java (76%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/pojo/MaterializationRecord.java (90%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/repository/MaterializationElementRepository.java (65%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/repository/MaterializationRecordRepository.java (66%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/repository/MaterializationRepository.java (60%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/utils/MaterializationConverter.java (89%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/utils/MaterializationPartitionHelper.java (92%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/utils/MaterializationRecordConverter.java (89%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/utils/MaterializationUtils.java (53%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/domain/utils/MaterializationZipperUtils.java (90%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java (60%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/mapper/MaterializationDOMapper.java (77%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/mapper/MaterializationElementDOMapper.java (78%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java (83%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java (85%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java (89%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/infrastructure/repository/MaterializationRepositoryImpl.java (81%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/rest/MaterializationConfController.java (89%)
rename {semantic/materialization/src/main/java/com/tencent/supersonic/semantic => headless/materialization/src/main/java/com/tencent/supersonic/headless}/materialization/rest/MaterializationRecordController.java (87%)
rename {semantic => headless}/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml (92%)
rename {semantic => headless}/materialization/src/main/resources/mapper/MaterializationDOMapper.xml (93%)
rename {semantic => headless}/materialization/src/main/resources/mapper/MaterializationElementDOMapper.xml (91%)
rename {semantic => headless}/materialization/src/main/resources/mapper/MaterializationRecordDOMapper.xml (93%)
rename {semantic => headless}/model/pom.xml (96%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/CatalogImpl.java (78%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/CollectServiceImpl.java (86%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/DatabaseServiceImpl.java (86%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/DimensionServiceImpl.java (92%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/DomainServiceImpl.java (94%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/MetricServiceImpl.java (92%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/ModelRelaServiceImpl.java (91%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/ModelServiceImpl.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/application/ViewInfoServiceImpl.java (80%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/Catalog.java (65%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/CollectService.java (74%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/DatabaseService.java (76%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/DimensionService.java (74%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/DomainService.java (76%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/MetricService.java (74%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/ModelRelaService.java (88%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/ModelService.java (66%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/adaptor/engineadapter/ClickHouseAdaptor.java (97%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/adaptor/engineadapter/EngineAdaptor.java (85%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/adaptor/engineadapter/EngineAdaptorFactory.java (82%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/adaptor/engineadapter/H2Adaptor.java (97%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/adaptor/engineadapter/MysqlAdaptor.java (97%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/CollectDO.java (95%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/DatabaseDO.java (98%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/DatabaseDOExample.java (99%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/DateInfoDO.java (84%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/DimensionDO.java (93%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/DomainDO.java (95%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/DomainDOExample.java (99%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/MetricDO.java (95%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/MetricQueryDefaultConfigDO.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/ModelDO.java (93%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/ModelRelaDO.java (87%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/ViewInfoDO.java (91%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/dataobject/ViewInfoDOExample.java (99%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/listener/MetaEmbeddingListener.java (97%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/manager/DatasourceYamlManager.java (78%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/manager/DimensionYamlManager.java (75%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/manager/MetricYamlManager.java (69%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/ConnectInfo.java (74%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/Database.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/Datasource.java (53%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/DatasourceQueryEnum.java (81%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/Dimension.java (72%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/DimensionFilter.java (65%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/Domain.java (72%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/EngineTypeEnum.java (88%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/JdbcDataSource.java (97%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/MetaFilter.java (89%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/Metric.java (66%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/MetricFilter.java (63%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/Model.java (62%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/pojo/ModelFilter.java (73%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/repository/DatabaseRepository.java (69%)
create mode 100644 headless/model/src/main/java/com/tencent/supersonic/headless/model/domain/repository/DateInfoRepository.java
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/repository/DimensionRepository.java (69%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/repository/DomainRepository.java (68%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/repository/MetricRepository.java (71%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/repository/ModelRepository.java (60%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/repository/ViewInfoRepository.java (70%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/DatabaseConverter.java (87%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/DimensionConverter.java (89%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/DomainConvert.java (86%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/JdbcDataSourceUtils.java (95%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/MetricConverter.java (85%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/ModelConverter.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/NameCheckUtils.java (84%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/SqlUtils.java (96%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/domain/utils/SysTimeDimensionBuilder.java (91%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/CollectMapper.java (69%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/DatabaseDOMapper.java (85%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/DateInfoMapper.java (57%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/DimensionDOCustomMapper.java (66%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/DimensionDOMapper.java (60%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/DomainDOMapper.java (59%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/MetricDOCustomMapper.java (64%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/MetricDOMapper.java (59%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/MetricQueryDefaultConfigDOMapper.java (65%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/ModelDOCustomMapper.java (59%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/ModelDOMapper.java (59%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/ModelRelaDOMapper.java (61%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/mapper/ViewInfoDOMapper.java (60%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/DatabaseRepositoryImpl.java (76%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/DateInfoRepositoryImpl.java (86%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/DimensionRepositoryImpl.java (79%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/DomainRepositoryImpl.java (80%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/MetricRepositoryImpl.java (83%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/ModelRepositoryImpl.java (83%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/infrastructure/repository/ViewInfoRepositoryImpl.java (82%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/CollectController.java (89%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/DatabaseController.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/DimensionController.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/DomainController.java (89%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/MetricController.java (90%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/ModelController.java (89%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/ModelRelaController.java (92%)
rename {semantic/model/src/main/java/com/tencent/supersonic/semantic => headless/model/src/main/java/com/tencent/supersonic/headless}/model/rest/ViewInfoController.java (87%)
rename {semantic => headless}/model/src/main/resources/mapper/DatabaseDOMapper.xml (92%)
rename {semantic => headless}/model/src/main/resources/mapper/custom/DateInfoMapper.xml (94%)
rename {semantic => headless}/model/src/main/resources/mapper/custom/DimensionDOCustomMapper.xml (97%)
rename {semantic => headless}/model/src/main/resources/mapper/custom/MetricDOCustomMapper.xml (97%)
rename {semantic => headless}/model/src/main/resources/mapper/custom/ModelDOCustomMapper.xml (90%)
rename {semantic/model/src/test/java/com/tencent/supersonic/semantic => headless/model/src/test/java/com/tencent/supersonic/headless}/model/application/ModelServiceImplTest.java (89%)
rename {semantic => headless}/pom.xml (94%)
rename {semantic => headless}/query/pom.xml (93%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/executor/JdbcExecutor.java (76%)
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/executor/QueryExecutor.java
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/optimizer/DetailQuery.java (88%)
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/optimizer/QueryOptimizer.java
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/HeadlessConverter.java
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/QueryParser.java (86%)
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/SqlParser.java
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/CalciteSqlParser.java
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/Configuration.java (97%)
rename semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/SemanticSchemaManager.java => headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/HeadlessSchemaManager.java (82%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/planner/AggPlanner.java (76%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/planner/MaterializationPlanner.java (93%)
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/planner/Planner.java
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/Constants.java (92%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/DataSource.java (78%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/DataType.java (93%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/Dimension.java (76%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/DimensionTimeTypeParams.java (68%)
rename semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/s2sql/SemanticModel.java => headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/s2sql/HeadlessModel.java (83%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/Identify.java (82%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/JoinRelation.java (82%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/Materialization.java (95%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/MaterializationElement.java (75%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/Measure.java (86%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/Metric.java (71%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/MetricTypeParams.java (70%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/s2sql/TimeRange.java (68%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/schema/DataSourceTable.java (98%)
rename semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/schema/SemanticSchema.java => headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/schema/HeadlessSchema.java (64%)
rename semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/schema/SemanticSqlConformance.java => headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/schema/HeadlessSqlConformance.java (96%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/schema/SchemaBuilder.java (91%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/schema/SemanticItem.java (52%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/schema/SemanticSqlDialect.java (96%)
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/parser/calcite/sql/Optimization.java
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/Renderer.java (82%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/S2SQLSqlValidatorImpl.java (89%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/TableView.java (92%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/AggFunctionNode.java (91%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/DataSourceNode.java (94%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/DimensionNode.java (92%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/ExtendNode.java (95%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/FilterNode.java (93%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/IdentifyNode.java (88%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/JoinNode.java (77%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/MeasureNode.java (93%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/MetricNode.java (88%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/SemanticNode.java (96%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/node/extend/LateralViewExplodeNode.java (94%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/render/FilterRender.java (77%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/render/JoinRender.java (92%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/render/OutputRender.java (78%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/calcite/sql/render/SourceRender.java (90%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/convert/CalculateAggConverter.java (95%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/convert/DefaultDimValueConverter.java (78%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/convert/MetricCheckConverter.java (84%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/convert/ParserDefaultConverter.java (81%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/convert/QueryReqConverter.java (89%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/parser/convert/ZipperModelConverter.java (77%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/persistence/mapper/StatMapper.java (54%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/persistence/pojo/ParserSvrResponse.java (88%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/persistence/pojo/QueryStatement.java (74%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/persistence/repository/StatRepository.java (51%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/persistence/repository/StatRepositoryImpl.java (91%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/rest/QueryController.java (81%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/rest/SchemaController.java (81%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/AuthCommonService.java (95%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/DataPermission.java (84%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/DownloadService.java (70%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/DownloadServiceImpl.java (93%)
create mode 100644 headless/query/src/main/java/com/tencent/supersonic/headless/query/service/HeadlessQueryEngine.java
rename semantic/query/src/main/java/com/tencent/supersonic/semantic/query/service/SemanticQueryEngineImpl.java => headless/query/src/main/java/com/tencent/supersonic/headless/query/service/HeadlessQueryEngineImpl.java (77%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/QueryService.java (57%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/QueryServiceImpl.java (84%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/SchemaService.java (54%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/service/SchemaServiceImpl.java (81%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/ComponentFactory.java (62%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/DataPermissionAOP.java (92%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/DataTransformUtils.java (98%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/DimValueAspect.java (94%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/QueryStructUtils.java (95%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/QueryUtils.java (95%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/S2SQLDataAspect.java (92%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/S2SQLPermissionAnnotation.java (86%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/SqlGenerateUtils.java (96%)
rename {semantic/query/src/main/java/com/tencent/supersonic/semantic => headless/query/src/main/java/com/tencent/supersonic/headless}/query/utils/StatUtils.java (89%)
rename {semantic => headless}/query/src/main/resources/mapper/StatMapper.xml (95%)
rename semantic/query/src/test/java/com/tencent/supersonic/semantic/query/domain/calcite/SemanticParserServiceTest.java => headless/query/src/test/java/com/tencent/supersonic/headless/query/domain/calcite/HeadlessParserServiceTest.java (81%)
rename {semantic/query/src/test/java/com/tencent/supersonic/semantic => headless/query/src/test/java/com/tencent/supersonic/headless}/query/domain/calcite/MaterializationQueryTest.java (82%)
rename {semantic/query/src/test/java/com/tencent/supersonic/semantic => headless/query/src/test/java/com/tencent/supersonic/headless}/query/service/DownloadServiceImplTest.java (89%)
rename {semantic/query/src/test/java/com/tencent/supersonic/semantic => headless/query/src/test/java/com/tencent/supersonic/headless}/query/utils/DataTransformUtilsTest.java (96%)
rename launchers/{semantic => headless}/pom.xml (92%)
rename launchers/{semantic => headless}/src/main/build/build.xml (100%)
rename launchers/{semantic/src/main/java/com/tencent/supersonic/SemanticLauncher.java => headless/src/main/java/com/tencent/supersonic/HeadlessLauncher.java} (86%)
rename launchers/{semantic => headless}/src/main/java/com/tencent/supersonic/db/MybatisConfig.java (100%)
rename launchers/{semantic => headless}/src/main/java/com/tencent/supersonic/db/PageHelperConfig.java (100%)
rename launchers/{semantic => headless}/src/main/resources/META-INF/spring.factories (100%)
rename launchers/{semantic => headless}/src/main/resources/application-local.yaml (100%)
rename launchers/{semantic => headless}/src/main/resources/application.yaml (74%)
rename launchers/{semantic => headless}/src/main/resources/db/semantic-data-h2.sql (100%)
rename launchers/{semantic => headless}/src/main/resources/db/semantic-schema-h2.sql (100%)
rename launchers/{semantic => headless}/src/main/resources/logback-spring.xml (100%)
rename launchers/standalone/src/main/java/com/tencent/supersonic/{SemanticDemoLoader.java => HeadlessDemoLoader.java} (90%)
delete mode 100644 semantic/model/src/main/java/com/tencent/supersonic/semantic/model/domain/repository/DateInfoRepository.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/executor/QueryExecutor.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/optimizer/QueryOptimizer.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/SemanticConverter.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/SqlParser.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/CalciteSqlParser.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/planner/Planner.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/parser/calcite/sql/Optimization.java
delete mode 100644 semantic/query/src/main/java/com/tencent/supersonic/semantic/query/service/SemanticQueryEngine.java
diff --git a/assembly/bin/supersonic-build.sh b/assembly/bin/supersonic-build.sh
index 693d9d19a..70bfb0d92 100755
--- a/assembly/bin/supersonic-build.sh
+++ b/assembly/bin/supersonic-build.sh
@@ -19,7 +19,7 @@ if [ $? -ne 0 ]; then
fi
#2. move package to build
-cp $baseDir/../launchers/semantic/target/*.tar.gz ${buildDir}/supersonic-semantic.tar.gz
+cp $baseDir/../launchers/headless/target/*.tar.gz ${buildDir}/supersonic-headless.tar.gz
cp $baseDir/../launchers/chat/target/*.tar.gz ${buildDir}/supersonic-chat.tar.gz
cp $baseDir/../launchers/standalone/target/*.tar.gz ${buildDir}/supersonic-standalone.tar.gz
@@ -38,7 +38,7 @@ fi
cd $buildDir
tar xvf supersonic-webapp.tar.gz
mv supersonic-webapp webapp
-cp -fr webapp ../../launchers/semantic/target/classes
+cp -fr webapp ../../launchers/headless/target/classes
cp -fr webapp ../../launchers/chat/target/classes
cp -fr webapp ../../launchers/standalone/target/classes
rm -fr ${buildDir}/webapp
@@ -55,4 +55,4 @@ fi
rm -fr $runtimeDir/supersonic*
moveAllToRuntime
setEnvToWeb chat
-setEnvToWeb semantic
+setEnvToWeb headless
diff --git a/assembly/bin/supersonic-common.sh b/assembly/bin/supersonic-common.sh
index de20b2627..b2e80fc66 100755
--- a/assembly/bin/supersonic-common.sh
+++ b/assembly/bin/supersonic-common.sh
@@ -10,11 +10,11 @@ runtimeDir=$baseDir/../runtime
buildDir=$baseDir/build
readonly CHAT_APP_NAME="supersonic_chat"
-readonly SEMANTIC_APP_NAME="supersonic_semantic"
+readonly HEADLESS_APP_NAME="supersonic_headless"
readonly PYLLM_APP_NAME="supersonic_pyllm"
readonly STANDALONE_APP_NAME="supersonic_standalone"
readonly CHAT_SERVICE="chat"
-readonly SEMANTIC_SERVICE="semantic"
+readonly HEADLESS_SERVICE="headless"
readonly PYLLM_SERVICE="pyllm"
readonly STANDALONE_SERVICE="standalone"
readonly PYLLM_HOST="127.0.0.1"
@@ -46,7 +46,7 @@ function moveAllToRuntime {
mv ${buildDir}/supersonic-webapp ${buildDir}/webapp
moveToRuntime chat
- moveToRuntime semantic
+ moveToRuntime headless
moveToRuntime standalone
rm -fr ${buildDir}/webapp
}
diff --git a/assembly/bin/supersonic-daemon.sh b/assembly/bin/supersonic-daemon.sh
index 7dff8e3ab..6d05f0b27 100755
--- a/assembly/bin/supersonic-daemon.sh
+++ b/assembly/bin/supersonic-daemon.sh
@@ -33,8 +33,8 @@ cd $baseDir
function setMainClass {
if [ "$service" == $CHAT_SERVICE ]; then
main_class="com.tencent.supersonic.ChatLauncher"
- elif [ "$service" == $SEMANTIC_SERVICE ]; then
- main_class="com.tencent.supersonic.SemanticLauncher"
+ elif [ "$service" == $HEADLESS_SERVICE ]; then
+ main_class="com.tencent.supersonic.HeadlessLauncher"
fi
}
setMainClass
@@ -42,8 +42,8 @@ setMainClass
function setAppName {
if [ "$service" == $CHAT_SERVICE ]; then
app_name=$CHAT_APP_NAME
- elif [ "$service" == $SEMANTIC_SERVICE ]; then
- app_name=$SEMANTIC_APP_NAME
+ elif [ "$service" == $HEADLESS_SERVICE ]; then
+ app_name=$HEADLESS_APP_NAME
elif [ "$service" == $PYLLM_SERVICE ]; then
app_name=$PYLLM_APP_NAME
fi
diff --git a/chat/api/pom.xml b/chat/api/pom.xml
index 75ec2ac4d..90a96f0bb 100644
--- a/chat/api/pom.xml
+++ b/chat/api/pom.xml
@@ -23,7 +23,7 @@
com.tencent.supersonic
- semantic-api
+ 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 8105cb560..f48cc3024 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.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryDimValueReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.List;
diff --git a/chat/core/pom.xml b/chat/core/pom.xml
index 24806171f..dd50ad2b0 100644
--- a/chat/core/pom.xml
+++ b/chat/core/pom.xml
@@ -77,12 +77,12 @@
com.tencent.supersonic
- semantic-api
+ headless-api
${project.version}
com.tencent.supersonic
- semantic-query
+ headless-query
${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 0c2935a36..f657d69c0 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.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.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 c77af9cb8..604623ce8 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
@@ -10,7 +10,7 @@ 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.knowledge.dictionary.EmbeddingResult;
-import com.tencent.supersonic.semantic.model.domain.listener.MetaEmbeddingListener;
+import com.tencent.supersonic.headless.model.domain.listener.MetaEmbeddingListener;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java
index b22c573ef..5499fe2e9 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java
@@ -10,10 +10,10 @@ import lombok.ToString;
public class ModelWithSemanticType implements Serializable {
private Long model;
- private SchemaElementType semanticType;
+ private SchemaElementType schemaElementType;
- public ModelWithSemanticType(Long model, SchemaElementType semanticType) {
+ public ModelWithSemanticType(Long model, SchemaElementType schemaElementType) {
this.model = model;
- this.semanticType = semanticType;
+ this.schemaElementType = schemaElementType;
}
}
\ No newline at end of file
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 9388184a8..8fe74b4bb 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.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.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 4a47a8373..126c4941e 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.semantic.model.domain.listener.MetaEmbeddingListener;
+import com.tencent.supersonic.headless.model.domain.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 e384dd62c..4289de603 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.semantic.api.model.enums.QueryTypeEnum;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.enums.QueryTypeEnum;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
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 3e43cf6b1..14a42d09d 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.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.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 29f98a119..9fbd5384a 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.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.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 55b4a32d4..71bc11652 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.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.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 00e050441..00ad5da24 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.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.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 82ccd163c..53dc5eda4 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
@@ -1,5 +1,9 @@
package com.tencent.supersonic.chat.query.rule.metric;
+import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.METRIC;
+import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.OptionType.REQUIRED;
+import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.RequireNumberType.AT_LEAST;
+
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.pojo.ChatContext;
import com.tencent.supersonic.chat.api.pojo.QueryContext;
@@ -14,16 +18,11 @@ 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.semantic.api.model.response.QueryResultWithSchemaResp;
-import lombok.extern.slf4j.Slf4j;
-
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
-
-import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.METRIC;
-import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.OptionType.REQUIRED;
-import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.RequireNumberType.AT_LEAST;
+import lombok.extern.slf4j.Slf4j;
@Slf4j
public abstract class MetricSemanticQuery extends RuleSemanticQuery {
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 ff84baa36..9b27eaa56 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.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.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 8bfe52b05..8492050a1 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.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.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 e682ab145..977d1c642 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
@@ -1,6 +1,16 @@
package com.tencent.supersonic.chat.service;
+import static com.tencent.supersonic.common.pojo.Constants.DAY;
+import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT_INT;
+import static com.tencent.supersonic.common.pojo.Constants.MONTH;
+import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT_INT;
+import static com.tencent.supersonic.common.pojo.Constants.TIMES_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.TIME_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.WEEK;
+
import com.google.common.collect.Sets;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
@@ -25,22 +35,15 @@ import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.pojo.DateConf.DateMode;
import com.tencent.supersonic.common.pojo.ModelCluster;
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.pojo.enums.FilterOperatorEnum;
+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.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import com.tencent.supersonic.knowledge.service.SchemaService;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
import java.text.DecimalFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
@@ -60,16 +63,12 @@ import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
-
-import static com.tencent.supersonic.common.pojo.Constants.DAY;
-import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT_INT;
-import static com.tencent.supersonic.common.pojo.Constants.MONTH;
-import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT_INT;
-import static com.tencent.supersonic.common.pojo.Constants.TIMES_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.TIME_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.WEEK;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
@Service
@Slf4j
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 a84801e50..a3bae8e64 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.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.model.domain.pojo.MetaFilter;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.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 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 af897ed1a..4ffd0cb85 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.semantic.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.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 7a01fc136..acdc5b176 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
@@ -3,8 +3,8 @@ package com.tencent.supersonic.chat.service.impl;
import com.hankcs.hanlp.seg.common.Term;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticCorrector;
+import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
import com.tencent.supersonic.chat.api.component.SemanticParser;
import com.tencent.supersonic.chat.api.component.SemanticQuery;
@@ -34,8 +34,8 @@ import com.tencent.supersonic.chat.query.QueryManager;
import com.tencent.supersonic.chat.query.llm.s2sql.LLMSqlQuery;
import com.tencent.supersonic.chat.query.rule.RuleSemanticQuery;
import com.tencent.supersonic.chat.service.ChatService;
-import com.tencent.supersonic.chat.service.QueryService;
import com.tencent.supersonic.chat.service.SemanticService;
+import com.tencent.supersonic.chat.service.QueryService;
import com.tencent.supersonic.chat.service.StatisticsService;
import com.tencent.supersonic.chat.service.TimeCost;
import com.tencent.supersonic.chat.utils.ComponentFactory;
@@ -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.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.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/service/impl/SearchServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java
index 60e1a3b64..929f387e3 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java
@@ -320,13 +320,13 @@ public class SearchServiceImpl implements SearchService {
for (ModelWithSemanticType modelWithSemanticType : dimensionMetricClassIds) {
existMetric = true;
Long modelId = modelWithSemanticType.getModel();
- SchemaElementType semanticType = modelWithSemanticType.getSemanticType();
+ SchemaElementType schemaElementType = modelWithSemanticType.getSchemaElementType();
SearchResult searchResult = SearchResult.builder()
.modelId(modelId)
.modelName(modelToName.get(modelId))
.recommend(matchText.getRegText() + hanlpMapResult.getName())
.subRecommend(hanlpMapResult.getName())
- .schemaElementType(semanticType)
+ .schemaElementType(schemaElementType)
.build();
//visibility to filter metrics
ItemNameVisibilityInfo visibility = (ItemNameVisibilityInfo) caffeineCache.getIfPresent(modelId);
@@ -347,8 +347,8 @@ public class SearchServiceImpl implements SearchService {
}
private boolean matchCondition(ModelWithSemanticType entry, Set possibleModels) {
- if (!(SchemaElementType.METRIC.equals(entry.getSemanticType()) || SchemaElementType.DIMENSION.equals(
- entry.getSemanticType()))) {
+ if (!(SchemaElementType.METRIC.equals(entry.getSchemaElementType()) || SchemaElementType.DIMENSION.equals(
+ entry.getSchemaElementType()))) {
return false;
}
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java
index bd6b5f3d0..30d0972dd 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java
@@ -1,8 +1,8 @@
package com.tencent.supersonic.chat.utils;
-import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticCorrector;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
+import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticParser;
import com.tencent.supersonic.chat.parser.JavaLLMProxy;
import com.tencent.supersonic.chat.parser.LLMProxy;
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 ba1bbad19..d33773214 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.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.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 155dde2dc..ea7af203a 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.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.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 e808dfcc2..dae4e6d0d 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.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.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 d4562f3fa..e0b5a89d1 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
@@ -5,10 +5,10 @@ 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.test.ChatBizLauncher;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.model.domain.ModelService;
-import com.tencent.supersonic.semantic.query.service.QueryService;
+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 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 aa9f28e5c..ecc263b7b 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,5 +1,9 @@
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;
@@ -11,29 +15,24 @@ 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.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.model.domain.ModelService;
-import com.tencent.supersonic.semantic.model.domain.pojo.DimensionFilter;
-import com.tencent.supersonic.semantic.model.domain.pojo.MetaFilter;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.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 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 dec5542db..33bad357b 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.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.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 8bbf7f17b..081ef2f6f 100644
--- a/chat/knowledge/pom.xml
+++ b/chat/knowledge/pom.xml
@@ -100,7 +100,7 @@
com.tencent.supersonic
- semantic-query
+ headless-query
${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 b1d0b8221..aa8a05b13 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.semantic.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.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 386a0c14d..9ac0ae9e7 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.semantic.api.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryDimValueReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.query.service.QueryService;
-import com.tencent.supersonic.semantic.query.service.SchemaService;
+import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.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 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 1fb5cc6c0..5316dbfc3 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.semantic.api.model.pojo.DimValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.RelateDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
+import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.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 3434e61b5..ec6336264 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
@@ -1,5 +1,10 @@
package com.tencent.supersonic.knowledge.semantic;
+import static com.tencent.supersonic.common.pojo.Constants.LIST_LOWER;
+import static com.tencent.supersonic.common.pojo.Constants.PAGESIZE_LOWER;
+import static com.tencent.supersonic.common.pojo.Constants.TOTAL_LOWER;
+import static com.tencent.supersonic.common.pojo.Constants.TRUE_LOWER;
+
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.google.gson.Gson;
@@ -7,28 +12,34 @@ import com.tencent.supersonic.auth.api.authentication.config.AuthenticationConfi
import com.tencent.supersonic.auth.api.authentication.constant.UserConstants;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.ResultData;
-import com.tencent.supersonic.common.pojo.enums.ReturnCode;
import com.tencent.supersonic.common.pojo.enums.AuthType;
+import com.tencent.supersonic.common.pojo.enums.ReturnCode;
import com.tencent.supersonic.common.pojo.exception.CommonException;
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.semantic.api.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryDimValueReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
+import java.net.URI;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
@@ -42,18 +53,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
-import java.net.URI;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Objects;
-
-import static com.tencent.supersonic.common.pojo.Constants.LIST_LOWER;
-import static com.tencent.supersonic.common.pojo.Constants.PAGESIZE_LOWER;
-import static com.tencent.supersonic.common.pojo.Constants.TOTAL_LOWER;
-import static com.tencent.supersonic.common.pojo.Constants.TRUE_LOWER;
-
@Slf4j
public class RemoteSemanticInterpreter extends BaseSemanticInterpreter {
@@ -115,17 +114,17 @@ public class RemoteSemanticInterpreter extends BaseSemanticInterpreter {
requestUrl, HttpMethod.POST, entity, structTypeRef);
responseBody = responseEntity.getBody();
log.info("ApiResponse responseBody:{}", responseBody);
- QueryResultWithSchemaResp semanticQuery = new QueryResultWithSchemaResp();
+ QueryResultWithSchemaResp schemaResp = new QueryResultWithSchemaResp();
if (ReturnCode.SUCCESS.getCode() == responseBody.getCode()) {
QueryResultWithSchemaResp data = responseBody.getData();
- semanticQuery.setColumns(data.getColumns());
- semanticQuery.setResultList(data.getResultList());
- semanticQuery.setSql(data.getSql());
- semanticQuery.setQueryAuthorization(data.getQueryAuthorization());
- return semanticQuery;
+ schemaResp.setColumns(data.getColumns());
+ schemaResp.setResultList(data.getResultList());
+ schemaResp.setSql(data.getSql());
+ schemaResp.setQueryAuthorization(data.getQueryAuthorization());
+ return schemaResp;
}
} catch (Exception e) {
- throw new RuntimeException("search semantic interface error,url:" + url, e);
+ throw new RuntimeException("search headless interface error,url:" + url, e);
}
throw new CommonException(responseBody.getCode(), responseBody.getMsg());
}
diff --git a/semantic/api/pom.xml b/headless/api/pom.xml
similarity index 96%
rename from semantic/api/pom.xml
rename to headless/api/pom.xml
index f00176620..386ec4067 100644
--- a/semantic/api/pom.xml
+++ b/headless/api/pom.xml
@@ -4,12 +4,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
com.tencent.supersonic
- semantic
+ headless
${revision}
4.0.0
- semantic-api
+ headless-api
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementFrequencyEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementFrequencyEnum.java
similarity index 53%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementFrequencyEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementFrequencyEnum.java
index 3e89b1732..de4764734 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementFrequencyEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementFrequencyEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.enums;
+package com.tencent.supersonic.headless.api.materialization.enums;
public enum ElementFrequencyEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementTypeEnum.java
similarity index 61%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementTypeEnum.java
index b07d90524..b2b9ef8bd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.enums;
+package com.tencent.supersonic.headless.api.materialization.enums;
public enum ElementTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/UpdateCycleEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/UpdateCycleEnum.java
similarity index 50%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/UpdateCycleEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/UpdateCycleEnum.java
index 254be941b..4d9385fd6 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/UpdateCycleEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/UpdateCycleEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.enums;
+package com.tencent.supersonic.headless.api.materialization.enums;
public enum UpdateCycleEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationConfFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationConfFilter.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationConfFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationConfFilter.java
index 62508f6f8..e8bbfe2cf 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationConfFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationConfFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationDateFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationDateFilter.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationDateFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationDateFilter.java
index 3608bb8ff..64e8c5e68 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationDateFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationDateFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationFilter.java
similarity index 73%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationFilter.java
index 04c0c55ac..836edfdcc 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationFilter.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationRecordFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationRecordFilter.java
similarity index 91%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationRecordFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationRecordFilter.java
index de5286d3e..cd248dccc 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationRecordFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationRecordFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationElementReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationElementReq.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationElementReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationElementReq.java
index 8faedd9f2..75c6b0ef6 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationElementReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationElementReq.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationRecordReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationRecordReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationRecordReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationRecordReq.java
index cf1ccf54e..d052ab8e3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationRecordReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationRecordReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationReq.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationReq.java
index c5cbf6ca3..c63c9ba83 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationReq.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationSourceReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationSourceReq.java
similarity index 74%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationSourceReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationSourceReq.java
index ac14b6568..6acb3f446 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationSourceReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationSourceReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationDateResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationDateResp.java
similarity index 87%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationDateResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationDateResp.java
index 48a530c21..7e230e301 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationDateResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationDateResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementModelResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementModelResp.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementModelResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementModelResp.java
index d67479e76..d0073afd3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementModelResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementModelResp.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
import java.util.List;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementResp.java
similarity index 74%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementResp.java
index 57e85dd52..d14d7c1de 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementResp.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
import lombok.Data;
@Data
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationRecordResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationRecordResp.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationRecordResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationRecordResp.java
index 5a561d0d3..109079b26 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationRecordResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationRecordResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationResp.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationResp.java
index d6a750859..788b02e25 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationResp.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.RecordInfo;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationSourceResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationSourceResp.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationSourceResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationSourceResp.java
index 50b75aa52..78f243ab3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationSourceResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationSourceResp.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
-import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import java.util.List;
import java.util.Map;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DataTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DataTypeEnum.java
similarity index 98%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DataTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DataTypeEnum.java
index a9174fc47..f397e9a46 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DataTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DataTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
import com.tencent.supersonic.common.pojo.Constants;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DimensionTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DimensionTypeEnum.java
similarity index 53%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DimensionTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DimensionTypeEnum.java
index ce299d856..dfb20f31e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DimensionTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DimensionTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum DimensionTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/IdentifyTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/IdentifyTypeEnum.java
similarity index 52%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/IdentifyTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/IdentifyTypeEnum.java
index 595b729d4..754fb745c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/IdentifyTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/IdentifyTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum IdentifyTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/MetricTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/MetricTypeEnum.java
similarity index 50%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/MetricTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/MetricTypeEnum.java
index 112426b14..e2141fc4b 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/MetricTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/MetricTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum MetricTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/ModelSourceTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/ModelSourceTypeEnum.java
similarity index 93%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/ModelSourceTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/ModelSourceTypeEnum.java
index 8cc109847..ea6234162 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/ModelSourceTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/ModelSourceTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
import java.util.Objects;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/OperatorEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/OperatorEnum.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/OperatorEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/OperatorEnum.java
index a0cd59b6b..4480f8990 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/OperatorEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/OperatorEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum OperatorEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryOptMode.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryOptMode.java
similarity index 52%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryOptMode.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryOptMode.java
index 080af6901..e24ca839c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryOptMode.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryOptMode.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum QueryOptMode {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeBackEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeBackEnum.java
similarity index 92%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeBackEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeBackEnum.java
index 7cb37f193..07f11fad8 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeBackEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeBackEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum QueryTypeBackEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeEnum.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeEnum.java
index 08170c77a..25e86e250 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum QueryTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/SemanticTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/SemanticTypeEnum.java
similarity index 57%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/SemanticTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/SemanticTypeEnum.java
index 04ed6b09f..fb5dd47fb 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/SemanticTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/SemanticTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum SemanticTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DatasourceType.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DatasourceType.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DatasourceType.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DatasourceType.java
index 729c88be2..4710ae920 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DatasourceType.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DatasourceType.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Dim.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Dim.java
similarity index 96%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Dim.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Dim.java
index a72500541..5cfe7bfb0 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Dim.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Dim.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimValueMap.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimValueMap.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimValueMap.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimValueMap.java
index 8bdc0f7fd..b689cea6e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimValueMap.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimValueMap.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimensionTimeTypeParams.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimensionTimeTypeParams.java
similarity index 82%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimensionTimeTypeParams.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimensionTimeTypeParams.java
index e852e0567..6e69ee339 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimensionTimeTypeParams.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimensionTimeTypeParams.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DrillDownDimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DrillDownDimension.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DrillDownDimension.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DrillDownDimension.java
index 221721dfb..335c58dda 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DrillDownDimension.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DrillDownDimension.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Entity.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Entity.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Entity.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Entity.java
index a547a98fb..148b63847 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Entity.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Entity.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Identify.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Identify.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Identify.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Identify.java
index 30a62f79a..845b38dc8 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Identify.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Identify.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ItemDateFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ItemDateFilter.java
similarity index 82%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ItemDateFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ItemDateFilter.java
index 19cb7d60a..0827e9a71 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ItemDateFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ItemDateFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import java.util.List;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Measure.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Measure.java
similarity index 91%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Measure.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Measure.java
index 66e9ac9f3..4ee882ffd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Measure.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Measure.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricQueryDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricQueryDefaultConfig.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricQueryDefaultConfig.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricQueryDefaultConfig.java
index e9b77c552..0aecf8106 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricQueryDefaultConfig.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricQueryDefaultConfig.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricTypeParams.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricTypeParams.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricTypeParams.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricTypeParams.java
index 78d403b23..934fc3ba6 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricTypeParams.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricTypeParams.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import java.util.List;
import com.google.common.collect.Lists;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ModelDetail.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ModelDetail.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ModelDetail.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ModelDetail.java
index 1eabd59f5..dd70a2956 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ModelDetail.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ModelDetail.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.enums.DimensionTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.DimensionTypeEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryResult.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryResult.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryResult.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryResult.java
index 5c7a94967..89062973e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryResult.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryResult.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryStat.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryStat.java
similarity index 98%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryStat.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryStat.java
index ecc0941b0..4cc14d37e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryStat.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryStat.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/RelateDimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/RelateDimension.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/RelateDimension.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/RelateDimension.java
index 285ba1ade..3391aff9c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/RelateDimension.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/RelateDimension.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/SchemaItem.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/SchemaItem.java
similarity index 96%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/SchemaItem.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/SchemaItem.java
index 8922799cb..f5c7171e4 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/SchemaItem.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/SchemaItem.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.google.common.base.Objects;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DatabaseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DatabaseReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DatabaseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DatabaseReq.java
index 8cae6fa57..196cd725e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DatabaseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DatabaseReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.enums.DataTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.DataTypeEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DateInfoReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DateInfoReq.java
similarity index 95%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DateInfoReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DateInfoReq.java
index ca830162e..d4333e527 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DateInfoReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DateInfoReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import java.util.ArrayList;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DimensionReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DimensionReq.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DimensionReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DimensionReq.java
index 44a8f8b92..2bff9eb54 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DimensionReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DimensionReq.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
-import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import javax.validation.constraints.NotNull;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainReq.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainReq.java
index d2c222de3..fbddd3644 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import java.util.ArrayList;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainUpdateReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainUpdateReq.java
similarity index 63%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainUpdateReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainUpdateReq.java
index ef8ab9fcc..2394cbcc2 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainUpdateReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainUpdateReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetaBatchReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetaBatchReq.java
similarity index 70%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetaBatchReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetaBatchReq.java
index e90e9ed16..d5ce06c62 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetaBatchReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetaBatchReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricBaseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricBaseReq.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricBaseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricBaseReq.java
index bd0b3a37f..e8ce3d391 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricBaseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricBaseReq.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.tencent.supersonic.common.pojo.DataFormat;
-import com.tencent.supersonic.semantic.api.model.pojo.RelateDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricReq.java
similarity index 73%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricReq.java
index 092a8c537..ff5874d43 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricReq.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
-import com.tencent.supersonic.semantic.api.model.enums.MetricTypeEnum;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
-import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
+import com.tencent.supersonic.headless.api.model.enums.MetricTypeEnum;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelReq.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelReq.java
index b281b1859..81f164c88 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelReq.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.pojo.Dim;
-import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.ModelDetail;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.Dim;
+import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import java.util.ArrayList;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelSchemaFilterReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelSchemaFilterReq.java
similarity index 76%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelSchemaFilterReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelSchemaFilterReq.java
index 8d8c72d90..f5d9b39cd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelSchemaFilterReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelSchemaFilterReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageDimensionReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageDimensionReq.java
similarity index 66%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageDimensionReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageDimensionReq.java
index f9a22d0cd..91d8be4ac 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageDimensionReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageDimensionReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageMetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageMetricReq.java
similarity index 65%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageMetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageMetricReq.java
index 40edea0c2..92f04df9c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageMetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageMetricReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageSchemaItemReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageSchemaItemReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageSchemaItemReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageSchemaItemReq.java
index 556540f0e..3527b4d8e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageSchemaItemReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageSchemaItemReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.PageBaseReq;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/SqlExecuteReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/SqlExecuteReq.java
similarity index 91%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/SqlExecuteReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/SqlExecuteReq.java
index 6a1edf94a..a7bc37f70 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/SqlExecuteReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/SqlExecuteReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import javax.validation.constraints.NotBlank;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ViewInfoReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ViewInfoReq.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ViewInfoReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ViewInfoReq.java
index ba253f349..57d0f1301 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ViewInfoReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ViewInfoReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import java.util.Date;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DatabaseResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DatabaseResp.java
similarity index 95%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DatabaseResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DatabaseResp.java
index fb085d85d..bbea6f867 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DatabaseResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DatabaseResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import java.util.List;
import java.util.regex.Matcher;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimSchemaResp.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimSchemaResp.java
index 3f9b09ddd..2a698cda3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimSchemaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
import lombok.ToString;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimensionResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimensionResp.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimensionResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimensionResp.java
index 251874510..fe0628358 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimensionResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimensionResp.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
-import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DomainResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DomainResp.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DomainResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DomainResp.java
index 809f0d061..79dcc4848 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DomainResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DomainResp.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
-import com.tencent.supersonic.semantic.api.model.pojo.Entity;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.Entity;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import java.util.List;
import java.util.Objects;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ExplainResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ExplainResp.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ExplainResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ExplainResp.java
index 96f5fa8e6..cf9d91605 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ExplainResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ExplainResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import java.io.Serializable;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MeasureResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MeasureResp.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MeasureResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MeasureResp.java
index 72811b6f8..9fabe2ed5 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MeasureResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MeasureResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricResp.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricResp.java
index 4d0119440..da7ea237f 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricResp.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.tencent.supersonic.common.pojo.DataFormat;
-import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
-import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
-import com.tencent.supersonic.semantic.api.model.pojo.RelateDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
+import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.collections.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricSchemaResp.java
similarity index 73%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricSchemaResp.java
index 4c90188b6..7c88703ab 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricSchemaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
import lombok.ToString;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelResp.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelResp.java
index 7165ae6da..f1d03c8f8 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelResp.java
@@ -1,12 +1,12 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.google.common.base.Objects;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.pojo.Dim;
-import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.Identify;
-import com.tencent.supersonic.semantic.api.model.pojo.ModelDetail;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.Dim;
+import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.api.model.pojo.Identify;
+import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaRelaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaRelaResp.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaRelaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaRelaResp.java
index 11fa48f40..5f43d72b3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaRelaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaRelaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaResp.java
similarity index 87%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaResp.java
index 69485587f..553c5721b 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaResp.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.tencent.supersonic.common.pojo.ModelRela;
-import com.tencent.supersonic.semantic.api.model.pojo.Identify;
+import com.tencent.supersonic.headless.api.model.pojo.Identify;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/QueryResultWithSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/QueryResultWithSchemaResp.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/QueryResultWithSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/QueryResultWithSchemaResp.java
index 8a5bc5ecb..2697a2b3e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/QueryResultWithSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/QueryResultWithSchemaResp.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.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.semantic.api.model.enums.SemanticTypeEnum;
-import com.tencent.supersonic.semantic.api.model.pojo.QueryResult;
+import com.tencent.supersonic.headless.api.model.enums.SemanticTypeEnum;
+import com.tencent.supersonic.headless.api.model.pojo.QueryResult;
import lombok.Data;
import lombok.ToString;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/SqlParserResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/SqlParserResp.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/SqlParserResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/SqlParserResp.java
index b8b37a688..9d5b56c94 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/SqlParserResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/SqlParserResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DataModelYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DataModelYamlTpl.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DataModelYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DataModelYamlTpl.java
index 137582012..bd6e3658c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DataModelYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DataModelYamlTpl.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionTimeTypeParamsTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionTimeTypeParamsTpl.java
similarity index 71%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionTimeTypeParamsTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionTimeTypeParamsTpl.java
index 83943e388..551c8b908 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionTimeTypeParamsTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionTimeTypeParamsTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionYamlTpl.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionYamlTpl.java
index a2da844af..0395ea20e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/IdentifyYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/IdentifyYamlTpl.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/IdentifyYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/IdentifyYamlTpl.java
index 8de633418..9dbf2969e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/IdentifyYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/IdentifyYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MeasureYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MeasureYamlTpl.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MeasureYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MeasureYamlTpl.java
index 681041062..2b499c52c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MeasureYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MeasureYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricTypeParamsYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricTypeParamsYamlTpl.java
similarity index 74%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricTypeParamsYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricTypeParamsYamlTpl.java
index 20986bfba..c661623b5 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricTypeParamsYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricTypeParamsYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricYamlTpl.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricYamlTpl.java
index e4c5cea59..20ed5d14c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/enums/AggOption.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/enums/AggOption.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/enums/AggOption.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/enums/AggOption.java
index 14c07b2ef..9fbd9d2e0 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/enums/AggOption.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/enums/AggOption.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.enums;
+package com.tencent.supersonic.headless.api.query.enums;
public enum AggOption {
NATIVE,
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Cache.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Cache.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Cache.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Cache.java
index e58dacaf4..5e1ab296a 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Cache.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Cache.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/DataDownload.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/DataDownload.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/DataDownload.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/DataDownload.java
index 605083536..9d7b7637a 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/DataDownload.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/DataDownload.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Materialization.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Materialization.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Materialization.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Materialization.java
index d15a2a046..696c4de36 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Materialization.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Materialization.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/MetricTable.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/MetricTable.java
similarity index 68%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/MetricTable.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/MetricTable.java
index 4b8e549b8..142dbdfcd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/MetricTable.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/MetricTable.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
-import com.tencent.supersonic.semantic.api.query.enums.AggOption;
+import com.tencent.supersonic.headless.api.query.enums.AggOption;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Param.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Param.java
similarity index 92%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Param.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Param.java
index 7d47d71ed..d71cfa1af 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Param.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Param.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import javax.validation.constraints.NotBlank;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/BatchDownloadReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/BatchDownloadReq.java
similarity index 80%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/BatchDownloadReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/BatchDownloadReq.java
index 61ef21164..ae02e7353 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/BatchDownloadReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/BatchDownloadReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/DownloadStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/DownloadStructReq.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/DownloadStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/DownloadStructReq.java
index 1c6a392be..8513ca19b 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/DownloadStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/DownloadStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ExplainSqlReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ExplainSqlReq.java
similarity index 71%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ExplainSqlReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ExplainSqlReq.java
index eabf702fa..8ebfe4a42 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ExplainSqlReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ExplainSqlReq.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
-import com.tencent.supersonic.semantic.api.model.enums.QueryTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.QueryTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ItemUseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ItemUseReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ItemUseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ItemUseReq.java
index f98a808dc..42f11b350 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ItemUseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ItemUseReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/MetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/MetricReq.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/MetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/MetricReq.java
index 5e493a1aa..3854d7eec 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/MetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/MetricReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.tencent.supersonic.common.pojo.ColumnOrder;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ParseSqlReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ParseSqlReq.java
similarity index 80%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ParseSqlReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ParseSqlReq.java
index 50216b67e..c826bf954 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ParseSqlReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ParseSqlReq.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
-import com.tencent.supersonic.semantic.api.query.pojo.MetricTable;
+import com.tencent.supersonic.headless.api.query.pojo.MetricTable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryDimValueReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryDimValueReq.java
similarity index 82%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryDimValueReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryDimValueReq.java
index 363e8417b..2aeceeab1 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryDimValueReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryDimValueReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryMultiStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryMultiStructReq.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryMultiStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryMultiStructReq.java
index a216dd16b..9e69c78e4 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryMultiStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryMultiStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryS2SQLReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryS2SQLReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryS2SQLReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryS2SQLReq.java
index 978338491..56e005c4d 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryS2SQLReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryS2SQLReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.google.common.collect.Lists;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryStructReq.java
similarity index 98%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryStructReq.java
index e7cc62cd8..9d743d368 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.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.semantic.api.query.pojo.Cache;
-import com.tencent.supersonic.semantic.api.query.pojo.Param;
+import com.tencent.supersonic.headless.api.query.pojo.Cache;
+import com.tencent.supersonic.headless.api.query.pojo.Param;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/response/ItemUseResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/response/ItemUseResp.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/response/ItemUseResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/response/ItemUseResp.java
index d348b2e3c..f0875210f 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/response/ItemUseResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/response/ItemUseResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.response;
+package com.tencent.supersonic.headless.api.query.response;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/semantic/materialization/pom.xml b/headless/materialization/pom.xml
similarity index 83%
rename from semantic/materialization/pom.xml
rename to headless/materialization/pom.xml
index 81f58fbed..4a57ee119 100644
--- a/semantic/materialization/pom.xml
+++ b/headless/materialization/pom.xml
@@ -3,17 +3,17 @@
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">
- semantic
+ headless
com.tencent.supersonic
${revision}
4.0.0
- semantic-materialization
+ headless-materialization
com.tencent.supersonic
- semantic-api
+ headless-api
${project.version}
compile
@@ -24,7 +24,7 @@
com.tencent.supersonic
- semantic-model
+ headless-model
${project.version}
compile
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationConfServiceImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationConfServiceImpl.java
similarity index 93%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationConfServiceImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationConfServiceImpl.java
index 742c95c14..2b6402eca 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationConfServiceImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationConfServiceImpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.application;
+package com.tencent.supersonic.headless.materialization.application;
import com.google.common.collect.Lists;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
@@ -7,32 +7,32 @@ import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserSelectHelper;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementModelResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationSourceResp;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.MeasureResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationConfService;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationElementRepository;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationConverter;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationZipperUtils;
-import com.tencent.supersonic.semantic.model.domain.ModelService;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementModelResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationSourceResp;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.MeasureResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationConfService;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationElementRepository;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationConverter;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationZipperUtils;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.model.domain.ModelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationRecordServiceImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationRecordServiceImpl.java
similarity index 84%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationRecordServiceImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationRecordServiceImpl.java
index 8cd0f6448..713e2cb9f 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationRecordServiceImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationRecordServiceImpl.java
@@ -1,19 +1,19 @@
-package com.tencent.supersonic.semantic.materialization.application;
+package com.tencent.supersonic.headless.materialization.application;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationDateFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationDateResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationRecordService;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRecordRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationRecordConverter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationDateFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationDateResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationRecordService;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRecordRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationRecordConverter;
import java.util.Arrays;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationConfService.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationConfService.java
similarity index 72%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationConfService.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationConfService.java
index ac6cad772..1a8af3899 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationConfService.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationConfService.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.domain;
+package com.tencent.supersonic.headless.materialization.domain;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementModelResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationSourceResp;
-import com.tencent.supersonic.semantic.api.model.response.MeasureResp;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementModelResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationSourceResp;
+import com.tencent.supersonic.headless.api.model.response.MeasureResp;
import java.util.List;
public interface MaterializationConfService {
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationRecordService.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationRecordService.java
similarity index 71%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationRecordService.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationRecordService.java
index 2425e9eb5..c0160fc06 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationRecordService.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationRecordService.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.materialization.domain;
+package com.tencent.supersonic.headless.materialization.domain;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationDateFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationDateResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationDateFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationDateResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
import java.util.List;
public interface MaterializationRecordService {
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDO.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDO.java
similarity index 97%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDO.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDO.java
index 5989f471b..018d20556 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDO.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDO.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOExample.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOExample.java
similarity index 99%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOExample.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOExample.java
index 94c607e17..247949c8a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOExample.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOExample.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.ArrayList;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOWithBLOBs.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
similarity index 92%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
index 7e99fd660..4c018fdae 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
public class MaterializationDOWithBLOBs extends MaterializationDO {
private String dateInfo;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDO.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDO.java
similarity index 96%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDO.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDO.java
index a0a20a824..a8130be4a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDO.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDO.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOExample.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOExample.java
similarity index 99%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOExample.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOExample.java
index 5683b0626..d3356821f 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOExample.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOExample.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.ArrayList;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOKey.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOKey.java
similarity index 90%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOKey.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOKey.java
index fcd9e26fe..48f1b66f8 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOKey.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOKey.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
public class MaterializationElementDOKey {
private Long id;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
index 9e2542ccf..64288c031 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
public class MaterializationElementDOWithBLOBs extends MaterializationElementDO {
private String depends;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDO.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDO.java
similarity index 98%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDO.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDO.java
index 42ee0fa4d..ecaf85f93 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDO.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDO.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import lombok.Data;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDOExample.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDOExample.java
similarity index 99%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDOExample.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDOExample.java
index 5bc55894d..de241e365 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDOExample.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDOExample.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.ArrayList;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/Materialization.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/Materialization.java
similarity index 78%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/Materialization.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/Materialization.java
index 9bc42dd89..decc512f4 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/Materialization.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/Materialization.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.semantic.materialization.domain.pojo;
+package com.tencent.supersonic.headless.materialization.domain.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import lombok.Data;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationElement.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationElement.java
similarity index 76%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationElement.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationElement.java
index 51112c7d6..32040aa4a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationElement.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationElement.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.materialization.domain.pojo;
+package com.tencent.supersonic.headless.materialization.domain.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
import lombok.Data;
@Data
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationRecord.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationRecord.java
similarity index 90%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationRecord.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationRecord.java
index 333f4fe7e..4f5c21a19 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationRecord.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationRecord.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.pojo;
+package com.tencent.supersonic.headless.materialization.domain.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationElementRepository.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationElementRepository.java
similarity index 65%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationElementRepository.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationElementRepository.java
index 7ea85d579..3b18562ef 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationElementRepository.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationElementRepository.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.domain.repository;
+package com.tencent.supersonic.headless.materialization.domain.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRecordRepository.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRecordRepository.java
similarity index 66%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRecordRepository.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRecordRepository.java
index f568bc806..5130bf1a1 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRecordRepository.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRecordRepository.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.domain.repository;
+package com.tencent.supersonic.headless.materialization.domain.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRepository.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRepository.java
similarity index 60%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRepository.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRepository.java
index 2987dc9c2..b5273d5c9 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRepository.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRepository.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.domain.repository;
+package com.tencent.supersonic.headless.materialization.domain.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationConverter.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationConverter.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationConverter.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationConverter.java
index 454bcf232..2c79345b0 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationConverter.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationConverter.java
@@ -1,20 +1,20 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.BeanMapper;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationPartitionHelper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationPartitionHelper.java
similarity index 92%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationPartitionHelper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationPartitionHelper.java
index 54b54aaec..b65d98c84 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationPartitionHelper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationPartitionHelper.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
import org.apache.logging.log4j.util.Strings;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationRecordConverter.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationRecordConverter.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationRecordConverter.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationRecordConverter.java
index 79891ebb0..2db77dc4c 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationRecordConverter.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationRecordConverter.java
@@ -1,12 +1,12 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.BeanMapper;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDO;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDO;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationUtils.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationUtils.java
similarity index 53%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationUtils.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationUtils.java
index aca96cf09..90c1d60c0 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationUtils.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationUtils.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
public interface MaterializationUtils {
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationZipperUtils.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationZipperUtils.java
similarity index 90%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationZipperUtils.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationZipperUtils.java
index c2f1b374e..a0cd566b7 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationZipperUtils.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationZipperUtils.java
@@ -1,16 +1,16 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.pojo.DimensionFilter;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.model.domain.DimensionService;
+import com.tencent.supersonic.headless.model.domain.pojo.DimensionFilter;
import org.apache.logging.log4j.util.Strings;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
similarity index 60%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
index 7c05aa877..02eec8ac3 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOMapper.java
similarity index 77%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOMapper.java
index 779ca2225..4ed7e432a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOMapper.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDO;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationElementDOMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
similarity index 78%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
index ff2f1f507..85058e149 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOKey;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDO;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOKey;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
similarity index 83%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
index 6ba124599..e7f80f944 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDO;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDOExample;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
similarity index 85%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
index ef08df19b..be6c4a5ef 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.repository;
+package com.tencent.supersonic.headless.materialization.infrastructure.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOKey;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationElementRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationConverter;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationElementDOMapper;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationElementDOMapper;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOKey;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationElementRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationConverter;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
index 8226544ec..b9cb957a6 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.repository;
+package com.tencent.supersonic.headless.materialization.infrastructure.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRecordRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationRecordConverter;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationRecordDOMapper;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDO;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRecordRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationRecordConverter;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationRecordDOMapper;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDOExample;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRepositoryImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
similarity index 81%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
index 6f63ef64f..2c4af4bc5 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
@@ -1,13 +1,13 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.repository;
+package com.tencent.supersonic.headless.materialization.infrastructure.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationConverter;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationDOCustomMapper;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationDOMapper;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationConverter;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationDOCustomMapper;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationDOMapper;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationConfController.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationConfController.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationConfController.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationConfController.java
index 10d5f2d8e..652a0c8bd 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationConfController.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationConfController.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.rest;
+package com.tencent.supersonic.headless.materialization.rest;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationSourceResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationConfService;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationSourceResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationConfService;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationRecordController.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationRecordController.java
similarity index 87%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationRecordController.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationRecordController.java
index 756447ec1..c7eb19441 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationRecordController.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationRecordController.java
@@ -1,13 +1,13 @@
-package com.tencent.supersonic.semantic.materialization.rest;
+package com.tencent.supersonic.headless.materialization.rest;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationDateFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationDateResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationRecordService;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationDateFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationDateResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationRecordService;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/semantic/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml b/headless/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
similarity index 92%
rename from semantic/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
rename to headless/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
index 308ce140c..cc8fa3983 100644
--- a/semantic/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
+++ b/headless/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
@@ -1,7 +1,7 @@
-
-
+
+
@@ -17,7 +17,7 @@
-
+
@@ -59,7 +59,7 @@
date_info, entities, description
-